RPM 是最古老的传统软件包管理器之一,它是为基于 Red Hat 的系统设计的,如何正确使用RPM包管理和yum管理是linux运维课程中的重中之重,下面我们一起来学习吧!
RPM包管理和yum管理
初始化和重建RPM数据库我们用:
[root@snake]# rpm --initdb
[root@snake]# rpm --rebuilddb
如果删除过某个RPM包,就要重建一下RPM数据库,以免导致系统混乱,如果RPM系统出现问题,也可以尝试重建数据库,看看是不是因为数据库的问题导致RPM无法操作。
安装RPM文件包我们用:
[root@snake]# rpm -ivh 包名
如果不考虑所需软件的依赖关系,要强制安装RPM包,我们用:
[root@snake]# rpm -ivh --nodeps 包名
如果已经安装过一个RPM包,但现在需要覆盖再次安装,我们用:
[root@snake]# rpm -ivh --replacepkgs 包名
我们还可以用测试安装的方法来检查依赖关系,但这时并不会真的安装RPM包:
[root@snake]# rpm -ivh --test 包名
升级一个RPM包我们用,注意参数中的U是大写:
[root@snake]# rpm -Uvh 包名
查看系统中已经安装的RPM信息,包括内核信息我们用:
[root@snake]# rpm -q 包名
查看所有已经安装在系统中的RPM包我们用:
[root@snake]# rpm -qa
不过通常都会有很多包的信息被列出来,而我们需要把信息暂停下来才能看清:
[root@snake]# rpm -qa | more
或者我们需要挑出某个关键词的信息:
[root@snake]# rpm -qa | grep 关键词
查询某个文件是从什么RPM包中安装的,我们用:
[root@snake]# rpm -qf 文件绝对路径和文件名
查询一个RPM包安装到什么位置我们用:
[root@snake]# rpm -ql 文件名
查询一个包的安装信息我们用:
[root@snake]# rpm -i 包名
查询一个包的依赖关系我们用:
[root@snake]# rpm -qR 包名
在安装一个包之前,我们可以查看这个包的用途和版本信息说明,用:
[root@snake]# rpm -qpi 包名
在安装一个包之前,查询一个RPM所包含的文件我们用:
[root@snake]# rpm -qpl 包名
在安装一个包之前,查询它的依赖关系我们用:
[root@snake]# rpm -qpR 包名
删除一个已经安装的RPM我们用:
[root@snake]# rpm -e 包名
如果要强制删除一个RPM包,而不考虑它的依赖关系,如前面所讲一样,我们用:
[root@snake]# rpm -e --nodeps 包名
删除过RPM包以后别忘记重建RPM数据库喔!
另外,RPM指令还支持http和ftp地址,也就是我们可以直接安装网上的http和ftp链接文件,比如下面这个地址我们可以为Fedora Core 5安装一个DVD的刻录软件:
[root@snake]# rpm -ivh http://mirrors.kernel.org/fedora/core/5/i386/os/Fedora/RPMS/dvd+rw-tools-5.21.4.10.8-6.2.1.i386.rpm
这些并不是RPM包管理的所有指令和用法,只是最最常用的一些,需要其它方面的帮助还可以用:
[root@snake]# rpm --help
这是rpm的帮助列表。
[root@snake]# man rpm
这是Linux系统功能说明书的rpm相关章节。
-a 查询所有已安装的软件包.
-f 查询文件所属软件包
-p 查询软件包
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表
安装 yum install
检测升级 yum check-update
升级 yum update
软件包查询 yum list
软件包信息 yum info
卸载 yum remove
帮助 yum -help、man yum