当前位置:   article > 正文

④ RPM 包的删除、更新、查询_rpm排除更新

rpm排除更新

目录

1. RPM 的删除

1.1 示列

2. RPM 的升级

3. RPM 的查询

3.1 示列


1. RPM 的删除

  1. rpm {-e|--erase} [-allmatches] [--nodeps] [--test] PACKAGE_NAME
  2. rpm -e [删除选项1 删除选项2 ...][软件名1][软件名2] ...

RPM 包的删除要考虑到依赖关系,所以有些情况下如果只是删除软件而不删除依赖关系依旧会报错,如果要忽略则就需要使用参数  --noscripts 

删除选项说明
-e删除指定的套件
--nodeps不检查依赖关系
--noscripts不运行预安装脚本和后安装脚本
--test只对安装进行测试,并不会实际安装
--allmatches卸载所有匹配指定名称的程序包的各版本

1.1 示列

  1. [root@localhost ~]# rpm -e tree
  2. [root@localhost ~]# tree
  3. -bash: tree: command not found
  4. [root@localhost ~]# rpm -qi tree
  5. package tree is not installed

考虑到软件的依赖关系这就需要使用到参数 --nodeps 来进行卸载。

2. RPM 的升级

  1. rpm {-U|--upgrade} [install-options] PACKAGE_FILE ... ...
  2. rpm {-F|--upgrade} [install-options] PACKAGE_FILE ... ...
  3. rpm -U [升级选项1 升级选项2 ...] [包文件1] [包文件2] ...

常用的 RPM 选项

选项描述
-U升级或安装指定包文件
-F升级指定的包文件
--oldpackage降级
--force强制升级

升级选项及其说明

升级说明说明升级选项说明
--excludedocs不安装软件包的文档文件--nodeps不检查依赖关系
--force忽略软件包及文件的冲突--noscripts不运行预安装脚本后安装脚本
--ftpport port指定 FTP 的端口号为 port--oldpackage允许 “升级” 到一个老版本
--ftpproxy host用 host 作为 FTP 代理--percent以百分比的形式显示升级安装的进度
--h (or --hash)升级时输出 hash 记号 # --prefix path将软件包升级到由 path 指定的路径下
--ignorearch不校验软件包的结构--replacefiles替换属于其他软件包的文件
--ignoreos不检查软件包运行的操作系统--replacepkgs强制重新升级安装已安装的软件包
--includedocs安装软件包中的文档文件--test只对升级安装进行测试,不实际安装

3. RPM 的查询

  1. rpm {-q|--query} [select-options] [query-options]
  2. rpm -q [查询选项1 查询选项2 ...] <软件名|软件名|文件名>
  • 选择选项
选项描述
-a, --all

查询所有已安装过的包

PACKAGE_NAME查询指定的程序包是否已经安装,及其版本
-f, --file查询指定的文件由哪个程序要安装生成
-p, --pckage用于实现对未安装的程序包指执行查询操作
  • 查询选项
选项描述
-l, --list程序安装生成的所有文件列表
-i, --info程序包相关的信息,版本号、大小、所属的包组等
-c, --configfiles查询指定的程序包提供的配置文件
-d, --docfiles查询指定的程序包提供的文档
-R, --requires查询指定的程序包的依赖关系
--scripts查询程序包自带的脚本片段

3.1 示列

查询一个未安装的程序:

  1. [root@localhost ~]# rpm -qi tree
  2. package tree is not installed
  3. [root@localhost ~]# rpm -qip tree-1.6.0-10.el7.x86_64.rpm
  4. Name : tree
  5. Version : 1.6.0
  6. Release : 10.el7
  7. Architecture: x86_64
  8. Install Date: (not installed)
  9. Group : Applications/File
  10. Size : 89505
  11. License : GPLv2+
  12. Signature : RSA/SHA256, Fri 04 Jul 2014 01:36:46 AM EDT, Key ID 24c6a8a7f4a80eb5
  13. Source RPM : tree-1.6.0-10.el7.src.rpm
  14. Build Date : Mon 09 Jun 2014 03:28:53 PM EDT
  15. Build Host : worker1.bsys.centos.org
  16. Relocations : (not relocatable)
  17. Packager : CentOS BuildSystem <http://bugs.centos.org>
  18. Vendor : CentOS
  19. URL : http://mama.indstate.edu/users/ice/tree/
  20. Summary : File system tree viewer
  21. Description :
  22. The tree utility recursively displays the contents of directories in a
  23. tree-like format. Tree is basically a UNIX port of the DOS tree utility.

查询已经安装的:

  1. [root@localhost ~]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
  2. Preparing... ################################# [100%]
  3. Updating / installing...
  4. 1:tree-1.6.0-10.el7 ################################# [100%]
  5. [root@localhost ~]# rpm -qi tree
  6. Name : tree
  7. Version : 1.6.0
  8. Release : 10.el7
  9. Architecture: x86_64
  10. Install Date: Wed 11 Oct 2023 07:03:03 PM EDT
  11. Group : Applications/File
  12. Size : 89505
  13. License : GPLv2+
  14. Signature : RSA/SHA256, Fri 04 Jul 2014 01:36:46 AM EDT, Key ID 24c6a8a7f4a80eb5
  15. Source RPM : tree-1.6.0-10.el7.src.rpm
  16. Build Date : Mon 09 Jun 2014 03:28:53 PM EDT
  17. Build Host : worker1.bsys.centos.org
  18. Relocations : (not relocatable)
  19. Packager : CentOS BuildSystem <http://bugs.centos.org>
  20. Vendor : CentOS
  21. URL : http://mama.indstate.edu/users/ice/tree/
  22. Summary : File system tree viewer
  23. Description :
  24. The tree utility recursively displays the contents of directories in a
  25. tree-like format. Tree is basically a UNIX port of the DOS tree
  26. utility.

查询当前软件的包:

  1. [root@localhost ~]# rpm -q docker-ce
  2. docker-ce-20.10.9-3.el7.x86_64

列出软件把的配置文件

  1. [root@localhost ~]# rpm -qc yum
  2. /etc/logrotate.d/yum
  3. /etc/yum.conf
  4. /etc/yum/version-groups.conf

列出软件包安装或删除运行的shell脚本:

  1. [root@localhost ~]# rpm -q --scripts httpd
  2. preinstall scriptlet (using /bin/sh):
  3. # Add the "apache" group and user
  4. /usr/sbin/groupadd -g 48 -r apache 2> /dev/null || :
  5. /usr/sbin/useradd -c "Apache" -u 48 -g apache \
  6. -s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null || :
  7. postinstall scriptlet (using /bin/sh):
  8. if [ $1 -eq 1 ] ; then
  9. # Initial installation
  10. systemctl preset httpd.service htcacheclean.service >/dev/null 2>&1 || :
  11. fi
  12. preuninstall scriptlet (using /bin/sh):
  13. if [ $1 -eq 0 ] ; then
  14. # Package removal, not upgrade
  15. systemctl --no-reload disable httpd.service htcacheclean.service > /dev/null 2>&1 || :
  16. systemctl stop httpd.service htcacheclean.service > /dev/null 2>&1 || :
  17. fi
  18. postuninstall scriptlet (using /bin/sh):
  19. systemctl daemon-reload >/dev/null 2>&1 || :
  20. # Trigger for conversion from SysV, per guidelines at:
  21. # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
  22. posttrans scriptlet (using /bin/sh):
  23. test -f /etc/sysconfig/httpd-disable-posttrans || \
  24. /bin/systemctl try-restart httpd.service htcacheclean.service >/dev/null 2>&1 || :

列出软件依赖的列表:

  1. [root@localhost ~]# rpm -qR tree
  2. libc.so.6()(64bit)
  3. libc.so.6(GLIBC_2.14)(64bit)
  4. libc.so.6(GLIBC_2.2.5)(64bit)
  5. libc.so.6(GLIBC_2.3)(64bit)
  6. libc.so.6(GLIBC_2.3.4)(64bit)
  7. libc.so.6(GLIBC_2.4)(64bit)
  8. rpmlib(CompressedFileNames) <= 3.0.4-1
  9. rpmlib(FileDigests) <= 4.6.0-1
  10. rpmlib(PayloadFilesHavePrefix) <= 4.0-1
  11. rtld(GNU_HASH)
  12. rpmlib(PayloadIsXz) <= 5.2-1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/168613
推荐阅读
相关标签
  

闽ICP备14008679号