linux应用程序安装与管理-2

 

目录

2.查询RPM软件包信息

1)查询已安装的RPM软件包信息

2)查询RPM软件包文件中的相关信息

下面将分别对上述RPM管理功能中的常见操作进行学习。

2.查询RPM软件包信息

使用rpm命令的查询功能可以查看某个软件包是否已经安装,软件包的用途以及软件包复制系统中的文件等相关信息,以便更好地管理Linux操作系统中的应用程序。

rpm命令的查询功能主要通过 "-q" 选项实现,主要针对当前系统中已经安装的软件包;道 "-qp" 选项可以针对尚未安装的RPM软件包文件进行查询。根据所需查询的具体项目不同,还可为这两个选项指定相关的子选项。

1)查询已安装的RPM软件包信息

不带子选项的 "-q" 选项可用于查询已知名称的软件包是否已经安装,需要使用准确的软件作为参数(可以有多个)。结合不同的子选项使用时,可以实现更具体的查询。常用的几个子选下所述。

  • -qa:显示当前系统中以RPM方式安装的所有软件列表。
  • -qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(--info)。
  • -ql:显示指定的软件包在当前系统中安装的所有目录、文件列表(--list)。
  • -qf:查看指定的文件或目录是由哪个软件包所安装的(--file)。

直接执行 "rpm -qa" 命令将列出当前操作系统中以RPM方式安装的所有软件包清单,每录一个软件包的名称、版本等信息。结合管道操作和 "wc -l" 命令,可以统计出系统中已安装的RPM软件的个数。

[root@localhost ~]# rpm -qa

geocode-glib-3.14.0-2.e17.x86 64

libfontenc-1.1.2-3.e17.x86 64

libpurple-2.10.7-26.e17.x86 64

gom-0.2.1-3.e17.x86 64

selinux-policy-targeted-3.13.1-102.e17.noarch

……//省略部分内容

当需要查询某个软件包是否已经安装时,可以直接使用软件包名称作为查询参数。例如,执行以下的 "rpm -q elinks lynx" 操作可以查询是否已安装elinks和lynx软件包(这两个软件包都是文本模式下的网页浏览器工具)。

[root@localhost ~]#  rpm -q elinks lynx

package elinks is not installed

package lynx is not installed

如果不知道准确的软件包名称,还可以对全部查询结果进行过滤,使用软件包的一部分名称进行模糊查询,根据查询结果再进行判断,例如,执行以下操作可以查询系统中是否安装了名称中含 "samba" 的软件包,查询时不区分大小写。

[root@lcoalhost ~]# rpm -qa | grep -i samba

samba-client-4.4.4-9.el7.x86_64

samba-common-libs-4.4.4-9.el7.x86_64

samba-libs-4.4.4-9.el7.x86_64

samba-common-4.4.4-9.el7.noarch

samba-client-libs-4.4.4-9.el7.x86_64

对于系统中已经安装的各种软件程序,如果不知道其中某个软件的用途,同样可以通过rpm工具进行查询。例如samba-client 软件,可以执行 "rpm -qi samba-client" 命令来了解samba-client软件包的摘要信息,具体操作如下:

[root@lcoalhost ~]# rpm -qi samba-client

Name        : samba-client

Epoch       : 0

Version     : 4.4.4

Release     : 9.el7

Architecture: x86_64

Install Date: 2020年09月09日 星期三 17时57分22秒

Group       : Applications/System

Size        : 1826831

License     : GPLv3+ and LGPLv3+

Signature   : RSA/SHA256, 2016年11月21日 星期一 04时38分35秒, Key ID 24c6a8a7f4a80eb5

Source RPM  : samba-4.4.4-9.el7.src.rpm

Build Date  : 2016年11月07日 星期一 18时31分03秒

Build Host  : worker1.bsys.centos.org

Relocations : (not relocatable)

Packager    : CentOS BuildSystem <http://bugs.centos.org>

Vendor      : CentOS

URL         : http://www.samba.org/

Summary     : Samba client programs

Description :

The samba-client package provides some SMB/CIFS clients to complement

the built-in SMB/CIFS filesystem in Linux. These clients allow access

of SMB/CIFS shares and printing to SMB/CIFS printers.

当需要查看某个软件包安装的目录和文件清单时,可以使用"-q1"选项。例如,执行 "rpm-ql

wget"命令可以列出wget软件包安装的目录和文件清单,具体操作如下:

[root@lcoalhost ~]# rpm -ql wget

/etc/wgetrc

/usr/bin/wget

/usr/share/doc/wget-1.14

/usr/share/doc/wget-1.14/AUTHORS

/usr/share/doc/wget-1.14/COPYING

/usr/share/doc/wget-1.14/MAILING-LIST

/usr/share/doc/wget-1.14/NEWS

/usr/share/doc/wget-1.14/README

/usr/share/doc/wget-1.14/sample.wgetrc

/usr/share/info/wget.info.gz

/usr/share/locale/be/LC_MESSAGES/wget.mo

……//省略部分内容

当需要知道系统中的某个文件是由哪一个软件包生成的时候,可以使用 " -qf " 选项。例如行以下操作可以获知vim编辑器程序是在安装vim-enhanced软件包时生成的。

[root@localhost ~]# which vim         //先找出vim程序位置,以便进行下一步的查询

/usr/bin/vim

[root@lcoalhost ~]# rpm -qf /usr/bin/vim

vim-enhanced-7.4.160-1.el7.x86_64

使用rpm命令只能查询通过RPM方式安装的软件包信息,对通过其他途径安装(如源码编译、手动复制等方式)到系统中的软件包,rpm命令则无法获取相关信息。

2)查询RPM软件包文件中的相关信息

使用 "-qp" 选项时,必须以RPM软件包文件的路径作为参数(可以有多个),而不是软件包称。其相关的子选项与使用 "-q" 查询时类似,常用的两个查询选项如下所述。

  • -qpi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息。
  • -qpl:查看该软件包准备要安装的所有目标目录、文件列表。

下面看几个操作示例。例如,已知CentOS光盘目录中有一个RPM软件包文etrtiool-4,5-3,el7. 864.pmn若要在安装之前了解该软件的用途,可以执行以下操作。

[root@lcoalhost ~]# umount /dev/cdrom

[root@lcoalhost ~]# mount /dev/cdrom /media

mount: /dev/sr0 写保护,将以只读方式挂载

[root@lcoalhost ~]# mkdir /pack

[root@lcoalhost ~]# cp -rf /media/Packages/ /pack/

[root@lcoalhost ~]# cd /pack/Packages/

[root@lcoalhost Packages]# rpm -qpi ethtool-4.5-3.el7.x86_64.rpm

警告:ethtool-4.5-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

Name        : ethtool

Epoch       : 2

Version     : 4.5

Release     : 3.el7

Architecture: x86_64

Install Date: (not installed)

Group       : Applications/System

Size        : 344591

License     : GPLv2

Signature   : RSA/SHA256, 2016年11月21日 星期一 01时36分38秒, Key ID 24c6a8a7f4a80eb5

Source RPM  : ethtool-4.5-3.el7.src.rpm

Build Date  : 2016年11月06日 星期日 10时05分23秒

Build Host  : worker1.bsys.centos.org

Relocations : (not relocatable)

Packager    : CentOS BuildSystem <http://bugs.centos.org>

Vendor      : CentOS

URL         : http://ftp.kernel.org/pub/software/network/ethtool/

Summary     : Settings tool for Ethernet NICs

Description :

This utility allows querying and changing settings such as speed,

port, auto-negotiation, PCI locations and checksum offload on many

network devices, especially of Ethernet devices.

若希望进一步了解该软件包中包含哪些文件(安装后将复制到系统中),可以执行以下操作。

[root@lcoalhost Packages]# rpm -qpl ethtool-4.5-3.el7.x86_64.rpm

警告:ethtool-4.5-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

/usr/sbin/ethtool

/usr/share/doc/ethtool-4.5

/usr/share/doc/ethtool-4.5/AUTHORS

/usr/share/doc/ethtool-4.5/COPYING

/usr/share/doc/ethtool-4.5/ChangeLog

/usr/share/doc/ethtool-4.5/LICENSE

/usr/share/doc/ethtool-4.5/NEWS

/usr/share/doc/ethtool-4.5/README

/usr/share/man/man8/ethtool.8.gz

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值