跳到主要内容

1、rpm

更新于:2024年1月5日

rpm

目录

[toc]

前言

img

1、查询

案例:查询软件包是否被安装 rpm -qa PACKAGE_NAME

rpm  -q xxx 
rpm -qa |grep xxx

#a是all,q是query的意思;
  • 例子
[root@docker ~]#rpm -q lrzsz
lrzsz-0.12.20-36.el7.x86_64
  • 例子
[root@docker ~]#rpm -q net-tools lrzsz #可以同时跟2个包名称的
net-tools-2.0-0.25.20131004git.el7.x86_64
lrzsz-0.12.20-36.el7.x86_64

🔰 注意:

注意rpm -q 包名的搜索方式;(必须跟具体包名,不能是带*)

img

案例:列出所有已安装的软件包 rpm -qa

[root@docker ~]#rpm -qa|head -10
PackageKit-yum-1.1.10-2.el7.centos.x86_64
expat-devel-2.1.0-15.el7_9.x86_64
libutempter-1.1.6-4.el7.x86_64
abrt-retrace-client-2.1.11-60.el7.centos.x86_64
desktop-file-utils-0.23-2.el7.x86_64
opencc-0.4.3-3.el7.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
dnsmasq-2.76-17.el7_9.3.x86_64
gdbm-devel-1.10-8.el7.x86_64
dracut-033-554.el7.x86_64
[root@docker ~]#

[root@docker ~]#rpm -qa|wc -l
1489

案例:列出已安装的这个包的标准详细信息 rpm -qi PACKAGE_NAME

rpm -qi  PACKAGE_NAME

img

案例:列出rpm包的文件内容(可以查看包的配置文件)rpm -ql PACKAGE_NAME

img

案例:查询某个文件属于哪个rpm包 -f选项

img

案例:获取某个rpm包的详细信息 rpm -qp example.rpm

-p, --package                    查询/验证一个软件包

rpm -qp example.rpm

这将显示有关 example.rpm 包的详细信息,包括包的名称、版本、发布、架构、依赖关系等。这种查询方法对于在安装软件包之前先了解软件包的详细信息非常有用。

img

例子:查软件包依赖了哪些包 rpm -qR package_name

rpm   -qR  postfix      # 查postfix 依赖哪些包,R参数的意思就是requires就是依赖哪些软件包

例子:查看某个软件包被哪些包依赖 rpm -e --test package_name

rpm -e --test rpcbind # 通过--test进行测试删除,查看是否有依赖关系,如果有会阻止删除

2、安装

rpm -ivh *.rpm  #其中i表示安装,v表示显示安装过程,h表示显示进度

rpm -ivh *.rpm --nodeps --force

3、升级

rpm -Uvh ***.rpm  #U是更新的意思;

#表示从下面这个地方更新软件包:
rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

4、删除

rpm -e PACKAGE_NAME # y

rpm -e –-nodeps PACKAGE_NAME #不考虑依赖包 (不推荐)

rpm -e –allmatches PACKAGE_NAME #删除所有跟PACKAGE_NAME匹配的所有版本的包

注意:

img

  • 例子
rpm -qa | grep yum | xargs rpm -e --nodeps   # 不检查依赖关系,直接卸载

img

FAQ

载入公钥命令

# 载入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm包名基本格式

img

img

python是解释性语言,因此全是这种.norach包。

img

  • 从centos 7开始,rpm包就都是64位的了。

简述rpm软件包与yum仓库的作用分别是

答案:rpm软件包是为了简化安装的复杂度,而yum仓库是为了解决软件包之间的依赖关系。

rpm软件包管理软件只有红帽企业系统在使用,对吗?

Centos/Fedora/suse等Linux操作系统也在用;

不同版本应该可以使用相同的rpm包吧?

(尽量不要,会出现问题);

Rhel和centos?(基本一样吧??--应该有区别);

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号

《云原生架构师实战》

image-20230107215126971

🍀 个人博客站点

https://onedayxyy.cn/

🍀 语雀

https://www.yuque.com/xyy-onlyone

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!