Linux 中,可以使用 `rpm -qp
Linux系统中,RPM(Red Hat Package Manager)是一种广泛使用的包管理系统,特别是在基于Red Hat的发行版(如CentOS、Fedora和RHEL)中,了解如何查看和管理RPM包是系统管理和维护的重要技能,以下是关于如何在Linux中查看RPM包的详细指南。
使用 rpm
命令查看RPM包信息
1 查看已安装的RPM包
要查看系统中已安装的RPM包,可以使用以下命令:
rpm -qa
这个命令会列出所有已安装的RPM包及其版本号,输出示例如下:
httpd-2.4.6-90.el7.centos.x86_64 mysql-5.5.55-1.el7.x86_64
2 查看特定包的详细信息
如果你想要查看某个特定包的详细信息,可以使用 -i
选项:
rpm -qi httpd
输出示例如下:
Name : httpd Relocations: (not relocatable) Version : 2.4.6 Release : 90.el7.centos Architecture: x86_64 Install Date: Wed 01 Jan 2020 12:00:00 AM UTC Group : Applications/Internet Size : 56789 License : ASL 2.0 Signature : (none) Source RPM : httpd-2.4.6-90.el7.centos.src.rpm Build Date : Tue 30 Dec 2019 01:02:03 PM UTC Build Host : buildvm.example.com Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://httpd.apache.org/ Summary : The Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and modular web server.
3 查看包的文件列表
要查看某个包安装了哪些文件,可以使用 -l
选项:
rpm -ql httpd
输出示例如下:
/etc/httpd /etc/httpd/conf /etc/httpd/conf.d /etc/httpd/logs /usr/lib/httpd ...
4 查看包的文档文件
要查看包中的文档文件,可以使用 -k
选项:
rpm -qd httpd
5 查看包的依赖关系
要查看某个包的依赖关系,可以使用 -R
选项:
rpm -qR httpd
输出示例如下:
config(httpd) = 2.4.6-90.el7.centos libpthread.so.0()(64bit) libc.so.6()(64bit) /lib/ld-linux-x86-64.so.2()(64bit) libm.so.6()(64bit)
6 查看包的被依赖关系
要查看哪些包依赖于某个包,可以使用 -R --whatrequires
选项:
rpm -qR --whatrequires httpd
使用 yum
或 dnf
查看RPM包信息
在基于Red Hat的系统中,yum
和 dnf
是常用的包管理工具,它们也可以用来查看RPM包信息。
1 使用 yum
查看已安装的包
yum list installed
2 使用 yum
查看特定包的详细信息
yum info httpd
3 使用 dnf
查看已安装的包
dnf list installed
4 使用 dnf
查看特定包的详细信息
dnf info httpd
使用 rpm2cpio
和 cpio
解压查看RPM包内容
如果你有一个未安装的RPM包文件,可以使用 rpm2cpio
和 cpio
工具来解压并查看其内容。
rpm2cpio package.rpm | cpio -idv
这个命令会将RPM包解压到当前目录,并显示解压的文件列表。
使用 zypper
查看RPM包信息(适用于openSUSE)
在openSUSE系统中,zypper
是默认的包管理工具,它也可以用来查看RPM包信息。
1 查看已安装的包
zypper search --installed-only
2 查看特定包的详细信息
zypper info httpd
使用图形化工具查看RPM包信息
在一些Linux发行版中,提供了图形化的包管理工具,如 gnome-package-manager
、kpackagekit
等,这些工具通常可以在“系统设置”或“应用程序”菜单中找到,通过这些工具,你可以直观地查看已安装的包、包的详细信息、文件列表等。
小编总结表格
命令 | 描述 | 适用场景 |
---|---|---|
rpm -qa |
列出所有已安装的RPM包 | 查看已安装包 |
rpm -qi <package> |
查看特定包的详细信息 | 查看包的详细信息 |
rpm -ql <package> |
列出包安装的所有文件 | 查看包的文件列表 |
rpm -qd <package> |
列出包中的文档文件 | 查看包的文档文件 |
rpm -qR <package> |
查看包的依赖关系 | 查看包的依赖关系 |
rpm -qR --whatrequires <package> |
查看哪些包依赖于该包 | 查看包的被依赖关系 |
yum list installed |
列出所有已安装的包(使用yum) | 在Red Hat系系统中查看包 |
yum info <package> |
查看特定包的详细信息(使用yum) | 在Red Hat系系统中查看包 |
dnf list installed |
列出所有已安装的包(使用dnf) | 在Red Hat系系统中查看包 |
dnf info <package> |
查看特定包的详细信息(使用dnf) | 在Red Hat系系统中查看包 |
zypper search --installed-only |
列出所有已安装的包(使用zypper) | 在openSUSE中查看包 |
zypper info <package> |
查看特定包的详细信息(使用zypper) | 在openSUSE中查看包 |
rpm2cpio package.rpm | cpio -idv |
解压并查看RPM包内容 | 查看未安装的RPM包内容 |
FAQs
Q1: 如何查找某个文件属于哪个RPM包?
A1: 可以使用 rpm -qf <file>
命令来查找某个文件属于哪个RPM包,查找 /etc/httpd/conf/httpd.conf
文件属于哪个包:
rpm -qf /etc/httpd/conf/httpd.conf
输出示例如下:
httpd-2.4.6-90.el7.centos
Q2: 如何验证RPM包的签名?
A2: 可以使用 rpm -K <package>
命令来验证RPM包的签名,验证 package.rpm
的签名:
rpm -K package.rpm
输出示例如下:
package.rpm: rsa sha1 (md5) pgp md5 OK
以上就是关于“linux 如何查看rpm包”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/12748.html