linux应用程序安装与管理-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


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
1月前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
27天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
87 5
Linux系统之安装OneNav个人书签管理器
|
9天前
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
28 5
|
29天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
50 5
Linux系统之安装Ward服务器监控工具
|
11天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
1月前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
36 2
Linux系统之安装cook菜谱工具
|
1月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
129 4
Linux系统之Ubuntu安装cockpit管理工具
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
82 1
Linux系统之Centos7安装cockpit图形管理界面
|
23天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
55 2
|
24天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
32 3

热门文章

最新文章