yum相当于Linux下的一个应用商店。能够帮助我们查找、下载、安装软件
yum一般需要用root用户来执行或者给普通用户使用sudo权限提升,因为安装软件时需要向系统目录中写入内容,如果没有写的权限或者写入的权限不够高就会写入失败进而导致安装失败。
rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager (RedHat软件包管理工县)的缩写,类似 windows的 setup.exe(安装文件),这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
查询已安装的rpm列表 rpm -qa l grep xx
以gcc为例:
一个rpm包名:gcc-4.8.5-44.el7.x86_64
版本号:4.8.5-44
适用操作系统:el7.x86_64表示centos7.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用。
rpm -q 软件包名
:查询软件包是否安装
rpm -qi 软件包名
︰查询软件包信息
rpm -q l软件包名
:查询软件包中的文件
rpm -qf 文件全路径名
:查询文件所属的软件包
基本语法:
rpm -e rpm包的名称
比如卸载gcc:rpm -e gcc
卸载rpm包的一些注意事项:
1 .如果其它软件包依赖于要卸载的软件包,卸载时则会产生错误信息。
如: rpm -e foo
removing these packages would break dependenciesfoo is needed by bar-1.0-1
说明foo这个软件包被bar软件包所引用(依赖),如果删除了foo,则bar可能会无法正常运行。
如果我们就是要删除foo这个rpm包,可以增加参数–nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如:rpm -e --nodeps foo
rpm -ivh rpm包全路径名称
参数说明:
i=install安装
v=verbose提示
h=hash进度条
Yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
由于yum可以自动处理依赖性关系,所以当A包依赖于B包的时候,yum在下载A时会将B一块下载。
查询yum服务器是否有需要安装的软件
yum list | grep 软件列表
以第一个gcc为例,其信息为:
4.8.5-44
:主版本号.次版本号.发行号-软件包的发布版本号
发布版本号表示这个RPM包是第几次编译生成的
x86_64
后缀表示64位系统的安装包,"i686"后缀表示32位系统安装包,选择包时要和系统匹配。
el7
表示操作系统发行版的版本,el7
表示的是"centos7/redhat7”,el6
表示"centos6/redhat6”。
最后一列表示的是“软件源”的名称,类似于“小米应用商店”,“华为应用商店”这样的概念。
安装指定的yum包
sudo yum install xxx
在install后加入-y
可以免去最后输入y的操作。
卸载指定的软件:
sudo yum remove 软件名
因为yum是从服务器上下载RPM包,所以在下载时必须联网。
yum一般需要用root用户来执行或者给普通用户使用sudo权限提升,因为安装和卸载软件时需要向系统目录中写入内容,如果没有写的权限或者写入的权限不够高就会写入失败进而导致安装和卸载失败。
通过上面的指令:
yum list | grep lrzsz
sudo yum install lrzsz
实现lrzsz的安装。
通过rz -E
指令可选择需要从本地机器上传到云服务器的文件。
通过sz 文件名
指令可将云服务器上的文件下载到本地机器的指定文件夹。
sudo yum install sl
下载安装
sl
运行
sudo yum install cowsay
下载安装
cowsay 输入的内容
运行
sudo yum install boxes
下载安装
echo "输入的内容" | boxes -d cat/dog
运行
sudo yum install linux_logo
下载安装
linux_logo
运行