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


相关文章
|
3天前
|
负载均衡 Java 应用服务中间件
nginx安装在linux上
nginx安装在linux上
26 2
|
6天前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
27 0
|
6天前
|
Ubuntu Linux Python
Linux(15)Ubuntu安装ninja构建工具
Linux(15)Ubuntu安装ninja构建工具
16 0
|
9天前
|
NoSQL Linux 测试技术
Redis的安装(Linux版)
Redis的安装(Linux版)
157 1
|
19天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
102 0
|
19天前
|
Linux C语言
linux yum安装ffmpeg 图文详解
linux yum安装ffmpeg 图文详解
42 0
|
19天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
17 0
|
19天前
|
Linux
linux yum 安装rar和unrar
linux yum 安装rar和unrar
60 0
|
19天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
3天前
|
关系型数据库 MySQL Java
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
17 2

热门文章

最新文章