Linux-RPM包的安装
yum是Red Hat所特有的安装RPM程序包的工具。使用RPM工具安装某一个程序包时,有可能会因为该程序包依赖另一个程序包而无法安装;而使用yum工具时,就可以连同依赖的程序包一起安装,很方便。
RPM工具
RPM是Red Hat Package Manager的缩写,由Red Hat公司开发。它是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。
每个RPM包的名称都由-和.分成了若干部分。比如NetworkManager-wifi-1.4.0-12.el7.x86_64,NetworkManager-wifi为包名,1.4.0为包的版本信息,12.el7.x86_64为所运行平台的信息,12.el7为运行平台的发布版本号,el是enterprise linux的缩写。CPU目前分32位和64位,i386、i586、和i686是32位平台,x86_64为64位平台。另外有些RPM包并没有写具体的平台而是noarch(no architecture的缩写),这说明这个RPM包没有硬件平台限制。
查询一个包是否安装
查询一个包的命令为rpm -q RPM包名,这里的“包名”是不带平台信息和后缀名的。
rpm -q libjpeg-turbo-devel
可以使用名rpm -qa查询当前系统所有已安装的RPM包
得到一个已安装的RPM包的相关信息
可以使用命令rpm -qi 包名,这里也不需要加平台信息和后缀名。
列出一个RMP包的安装文件
rpm -ql 包名
列出某个文件属于哪个RPM包
rpm -qf 文件的绝对路径
rpm -qf /usr/lib64/NetworkManager/libnm-device-plugin-team.so
安装RPM包
rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
- -i :表示安装
- -v :表示可视化
- -h :表示显示安装进度
另外在安装RPM包时,常用的附带参数还包括如下几项
- –force :表示强制安装,即使覆盖属于其他包的文件也要安装
- –nodeps :表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包。
升级RPM包
升级RPM包的命令为rpm -Uvh filename
rpm -Uvh vim-filesystem-7.4.160-2.el7.x86_64.rpm
卸载RPM包
卸载RPM包的命令为rpm -e filename,这里的filename是通过rpm的查询功能所查询到的。
rpm -e libjpeg-turbo-devel
卸载时,-e选项后面的filename和安装时是有区别的。安装时,是把一个存在的文件作为参数,而卸载时只需要包名即可。
yum工具
该工具比使用RPM工具更加方便,yum工具最大的优势在于可以联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会帮我们依次安装所有相关的RPM包。
列出所有可用的RPM包
使用yum list命令,可以列出所有的RPM包资源。最左侧是RPM包名,中间是版本号,最右侧是安装信息(如果是已经安装,前面会有一个@符号)。
搜索RPM包
搜索RPM包的命令为yum search 相关关键词
yum search vim
除了这样搜索,还可以用grep过滤,从而找到相应的RPM包
yum list |grep 'vim'
查看RPM包的信息
yum info keepalived
安装RPM包
安装RPM包的命令为yum install [-y] RPM包名,如果不加-y选项,则会以与用户交互的方式安装。
yum install -y protobuf-vim
卸载RPM包
卸载RPM包的命令为yum remove [-y] RPM包名
yum remove protobuf-vim
卸载包的时候建议不要加-y选项,卸载时要看清楚,不要连其他重要的RPM包也一起卸载了。
remove命令只会卸载当前这个包,不会把下载它时依赖的那些包都卸载。就是我yum装A包的时候,同时安装了A的依赖包a1,a2,a3。当我们使用yum remove A卸载A包的是,a1,a2,a3包并不会一同被卸载掉。
可以用如下命令,就可以把其依赖的包也删除掉了
yum autoremove keepalived
升级RPM包
升级RPM包的命令为yum update [-y] RPM包名
yum update bash
利用yum工具下载RPM包
如果系统里没有装相关的依赖包会把依赖包也下载下来,如果装过了,就不会下载了。建议找一台没有装过软件的系统来下载RPM包,否则怕下载不全。
下载RPM包而不安装的命令
yum install 包名 -y --downloadonly
默认会下载到/var/cache/yum/x86_64/7/xxx/packages下面,这里的xxx是指base、updates或者extras等,它跟yum list最右侧的字符串是一致的。
指定下载目录
yum install 包名 -y --downloadonly --downloaddir=/usr/local/src
如果包已经安装过,那么使用yum install –downloadonly就不起作用了,它会提示这个包已经安装过,根本就下载不下来,那该怎么办?
yum reinstall -y --downloadonly 包名
还没有评论,来说两句吧...