Linux软件包管理之rpm(2)

7.1、安装(组合选项:-ivh)

rpm [option] Package_file -i:install安装操作 -v:安装时显示详细信息 -vv:安装时显示更详细信息 -h:hash码,在安装过程中使用#号来显示安装进度 –-test:仅作测试,不做安装操作 -–nodeps:忽略依赖关系,强制安装如果某包依赖于其他包,要么解决所有的依赖关系,要么忽略依赖关系,强制安装。但是如果强制安装完成后,软件未必能正常使用。 –-replacepkgs:重新安装程序包 备注:如果原有配置文件作了修改,很有可能不执行替换文件,而是将新生成的配置文件重命名后缀为 .rpmnew

例子:

#测试安装RPM包 [root@localhost mnt]# mount /dev/cdrom /mnt                         #挂载光盘镜像到/mnt目录下 mount: block device /dev/sr0 is write-protected, mounting read-only  [root@localhost mnt]# cd /mnt/Packages/                             #进入光盘目录 [root@localhost Packages]# rpm -ivh zsh-4.3.10-7.el6.x86_64.rpm     #安装zsh-4.3.10-7.el6.x86_64.rpm包 warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY  #这里的是提示密钥,无法校验包的合法性 Preparing...                ########################################### [100%]  #使用#代表安装进度,一个#代表2%    1:zsh                    ########################################### [100%] #仅作测试,不做安装 [root@localhost Packages]# rpm -q zsh    package zsh is not installed [root@localhost Packages]# rpm --test -ivh zsh-4.3.10-7.el6.x86_64.rpm#仅作测试安装,实际上未安装 warning: zsh-4.3.10-7.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing...                ########################################### [100%] [root@localhost Packages]# rpm -q zsh                                                              package zsh is not installed

7.2、卸载

rpm [option] Package_name      -e:erase 删除

卸载的时候也会存在依赖关系的,如果被其他包所依赖:

1、将依赖于此包的所有包一并卸载

2、忽略依赖关系能卸载,但依赖于此包程序包可能会运行不正常

–nodeps 忽略依赖关系

练习:

[root@localhost Packages]# rpm -q zsh  #查看软件是否安装,显示出包的信息证明已经安装 zsh-4.3.10-7.el6.x86_64 [root@localhost Packages]# rpm -e zsh  #卸载zsh软件 [root@localhost Packages]# rpm -q zsh package zsh is not installed           #提示该软件未安装

注意:如果包的配置文件安装后曾被改动过,卸载时,此文件将不会卸载,而是重命名并保存,会出现下面的字段

            warning: /etc/zshrc saved as /etc/zshrc.rpmsave

例如:

[root@localhost Packages]# rpm -e zsh warning: /etc/zshrc saved as /etc/zshrc.rpmsave [root@localhost Packages]# ls /etc/ | grep "zsh*" zshrc.rpmsave

7.3、升级(一般而言是新版本取代老版本)

rpm [option] Package_file

(1)、升级或安装 (如果有老版本就升级,如果没有就安装)

   组合 -Uvh

(2)、直接升级 (如果有老版本就安装新版本)

   组合 -Fvh

升级的时候也可能会出现版本冲突等问题,所以如果想强制升级可以使用 --force

注意:不应该对内核执行升级操作,而是安装(因为Linux系统允许多内核并存)

7.4、查询

(1)、查询某包是否安装

rpm -q package_name…..

(2)、查询所有已经安装的包

rpm -qa           #a表示all

按条件过滤: rpm -qa | grep 'PATTERN'

(3)、查询包的表述信息

rpm -qi package_name         (这里查询仅查询已安装的包)

(4)、查询某包生成了哪些文件

rpm -ql package_name

①查询某包生成了哪些配置文件

rpm -qc package_name

②查询某包生成了哪些帮助文件

rpm -qd package_name

③查询程序包的相关脚本

rpm -q –scripts package_name

脚本有四类

preinstall:安装前脚本

postinstall:安装后脚本

preuninstall:卸载前脚本

postuninstall:卸载后脚本

(5)、查询某文件是由哪个包安装生成的

rpm -qf /path/to/some_file

(6)查询某包所提供的capabilities

rpm -q provides PACKAGE_NAME

(7)查询某包所依赖的capabilities

rpm -q --requires PACKAGE_NAME

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14355.html