RPM和Yum

发布时间 2023-10-11 15:27:50作者: kihdd

3 RPM软件包简介

RPM包文件名特征

软件名-版本信息.操作系统.硬件架构.rpm

firefox-91.9.0-1.el8_5.x86_64.rpm

软件名:firefox

软件包名:firefox-91.9.0-1.el8_5.x86_64.rpm

4 RPM包的一般安装位置(分散)

普通执行程序:/usr/bin/ 、/bin/

服务器程序、管理工具:/usr/sbin/ 、/sbin/

配置文件 :/etc/、/etc/软件名/

日志文件 :/var/log/、/var/log/软件名/

程序文档、man帮助手册页 :/usr/share/doc/ 、/usr/share/man/

5 查询软件信息

查询是否安装此软件(参数是软件名)

 
  1. [root@localhost /]# rpm -qa #当前系统中所有已安装的软件包
  2. [root@localhost /]# rpm -q firefox #查看firefox是否安装
  3. firefox-52.7.0-1.el7.centos.x86_64
  4. [root@localhost /]# rpm -q httpd #httpd构建Web服务器软件
  5. 未安装软件包 httpd
  6. [root@localhost /]# rpm -q bash
  7. bash-4.2.46-30.el7.x86_64
  8. [root@localhost /]# rpm -qa | grep firefox
  9. [root@localhost /]# rpm -qa | wc -l

查询软件信息(参数是软件名)

  1. [root@localhost /]# rpm -qi firefox #查询软件信息
  2. [root@localhost /]# rpm -ql firefox #查询软件安装了哪些内容(安装清单)
  3. [root@localhost /]# rpm -ql firefox | less
  4. [root@localhost /]# rpm -ql firefox | wc -l #统计行数
  5. [root@localhost /]# rpm -qi bash #查询软件信息
  6. [root@localhost /]# rpm -ql bash #查询软件安装了哪些内容(安装清单)
  7. [root@localhost /]# rpm -ql bash | less
  8. [root@localhost /]# rpm -ql bash | wc -l #统计行数

查询某个目录/文件是哪个RPM包带来的

格式:rpm -qf [文件路径]…

即使目标文件被删除,也可以查询

 
  1. [root@localhost ~]# which vim #查询命令对应的程序文件
  2. /usr/bin/vim
  3. [root@localhost ~]# rpm -qf /usr/bin/vim
  4. vim-enhanced-8.0.1763-16.el8_5.13.x86_64
  5. [root@localhost ~]# rpm -q vim-enhanced
  6. vim-enhanced-8.0.1763-16.el8_5.13.x86_64
  7. [root@localhost ~]# rpm -qf /usr/sbin/poweroff
  8. [root@localhost ~]# rpm -qf /usr/sbin/ifconfig

查询软件包(参数软件包名)

 
  1. [root@localhost /]# rpm -q vsftpd #查询vsftpd软件是否安装
  2. 未安装软件包 vsftpd
  3. [root@localhost /]# ls /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
  4. /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
  5. 查询软件包的安装清单:
  6. [root@localhost /]# rpm -qpl /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
  7. 查询软件包信息
  8. [root@localhost /]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

导入红帽签名信息(了解)

 
  1. [root@localhost /]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
  2. 查询软件包信息(没有警告输出)
  3. [root@localhost /]# rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

6 软件包的依赖关系

rpm命令方式:不能自动解决依赖关系

yum命令方式:能自动解决依赖关系

7 Yum仓库构建(光来啦!)

作用:自动解决依赖关系安装软件

服务端(本机): 1.众多的软件 2.仓库数据文件(repodata)

本地Yum仓库:服务端需要有光盘内容即可

客户端(本机):指定服务端位置

仓库配置文件:/etc/yum.repos.d/*.repo

错误的文件会影响正确的文件

yum命令执行流程:

yum命令--->读取/etc/yum.repos.d/*.repo配置文件内容--->从而找到仓库的具体位置

客户端文件配置内容:

[源名称] :自定义名称,具有唯一性

name:本软件源的描述字串

baseurl:指定YUM服务端的URL地址

enabled:是否启用此频道

gpgcheck:是否验证待安装的RPM包

gpgkey:用于RPM软件包验证的密钥文件

完整示例:

 
  1. [root@localhost /]# vim /etc/yum.repos.d/mydvd.repo
  2. [xixi]
  3. name=xixi
  4. baseurl=file:///mnt/AppStream
  5. enabled=1
  6. gpgcheck=1
  7. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
  8. [haha]
  9. name=xixi
  10. baseurl=file:///mnt/BaseOS
  11. enabled=1
  12. gpgcheck=1
  13. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial

书写仓库配置文件:

 
  1. [root@localhost /]# vim /etc/yum.repos.d/haha.repo
  2. [xixi] #仓库的标识
  3. name=xixi #仓库描述信息,可以省略
  4. baseurl=file:///mnt/AppStream #指定仓库位置file://表示本地为服务端
  5. enabled=1 #本文件启用,可以省略
  6. gpgcheck=0 #不检测红帽签名信息
  7. [haha] #仓库的标识,不能重复
  8. name=xixi #仓库描述信息,可以省略
  9. baseurl=file:///mnt/BaseOS #指定仓库位置file://表示本地为服务端
  10. enabled=1 #本文件启用,可以省略
  11. gpgcheck=0 #不检测红帽签名信息
  12. [root@localhost /]# yum repoinfo #列出仓库信息
  13. [root@localhost /]# yum -y install httpd #安装软件包测试
  14. [root@localhost /]# rpm -q httpd #查询是否安装成功
  15. [root@localhost /]# mkdir /mydvd
  16. [root@localhost /]# mount /dev/cdrom /mydvd #挂载光驱设备
  17. [root@localhost /]# ls /mydvd
  18. [root@localhost /]# rm -rf /etc/yum.repos.d/*
  19. [root@localhost /]# vim /etc/yum.repos.d/haha.repo
  20. [xixi]
  21. name=xixi
  22. baseurl=file:///mydvd/AppStream
  23. enabled=1
  24. gpgcheck=0
  25. [haha] #仓库的标识,不能重复
  26. name=xixi #仓库描述信息,可以省略
  27. baseurl=file:///mydvd/BaseOS #指定仓库位置file://表示本地为服务端
  28. enabled=1 #本文件启用,可以省略
  29. gpgcheck=0 #不检测红帽签名信息
  30. [root@localhost /]# yum repoinfo #列出仓库信息
  31. [root@localhost /]# yum -y install mariadb-server #安装软件包测试
  32. [root@localhost /]# rpm -q mariadb-server #查询是否安装成功

总结:本地Yum仓库构建方法

1.显示光盘的内容,挂载光驱设备mount /dev/cdrom /mnt

2.书写仓库配置文件,指定仓库位置/etc/yum.repos.d/*.repo

3.执行流程:

yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/AppStream

yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt/BaseOS3

总结:本地Yum仓库排除错误

1.没有挂载光驱设备

2./etc/yum.repos.d目录下的仓库配置文件内容写错

3./etc/yum.repos.d目录下,错误的配置文件影响

安装软件

 
  1. [root@localhost ~]# yum -y install httpd
  2. [root@localhost ~]# rpm -q httpd #检测是否安装成功
  3. [root@localhost ~]# yum -y install bind-chroot
  4. [root@localhost ~]# rpm -q bind-chroot
  5. [root@localhost ~]# yum -y install sssd
  6. [root@localhost ~]# rpm -q sssd
  7. [root@localhost ~]# yum -y install gcc
  8. [root@localhost ~]# rpm -q gcc

卸载软件(建议不要使用-y选项)

 
  1. [root@localhost ~]# yum remove gcc
  2. [root@localhost ~]# yum remove httpd
  3. [root@localhost ~]# rpm -q gcc
  4. [root@localhost ~]# rpm -q httpd

Yum仓库的查询

  1. [root@localhost /]# yum list ftp #查询仓库是否有ftp软件
  2. 可安装的软件包 #表示当前系统没有安装该软件
  3. ftp.x86_64 0.17-67.el7 nsd20
  4. [root@localhost /]# yum list httpd
  5. [root@localhost /]# yum search ftp #包含ftp就匹配
  6. [root@localhost /]# yum provides /usr/bin/hostname
  7. [root@localhost /]# yum provides /etc/passwd #仓库中那个软件包产生该文件
  8. [root@localhost /]# yum provides "*/guestmount" #查询仓库中那个软件可以在任意路径下产生该程序
  9. [root@localhost /]# yum -y install libguestfs-tools-c
  10. [root@localhost /]# guestmount --help #查看帮助信息

删除/usr/bin/zip程序,然后通过yum工具进行恢复

 
  1. [root@svr1 ~]# rm -rf /usr/bin/zip
  2. [root@svr1 ~]# ls /usr/bin/zip
  3. ls: 无法访问/usr/bin/zip: 没有那个文件或目录
  4. [root@svr1 ~]# yum provides /usr/bin/zip #查询仓库中那个软件,产生了此程序
  5. [root@svr1 ~]# yum -y reinstall zip #覆盖安装
  6. [root@svr1 ~]# ls /usr/bin/zip
  7. /usr/bin/zip

清空缓存(了解)

执行流程: yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt

  1. [root@localhost ~]# yum clean all #清空Yum的缓存
  2. [root@localhost ~]# yum repoinfo #列出仓库信息

8 命令补充

获取命令帮助

 
  1. 方式一:命令 --help
  2. [root@localhost ~]# cat --help
  3. [root@localhost ~]# yum --help
  4. 方式二:man 命令
  5. [root@localhost ~]# man cat #按q退出
  6. [root@localhost ~]# man passwd #显示passwd命令帮助
  7. [root@localhost ~]# man 5 passwd
  8. 数字5表示帮助的类型,表示配置文件类型

历史命令

管理/调用曾经执行过的命令

history:查看历史命令列表

history -c:清空历史命令

history -w:记录历史命令为空的状态

!n:执行命令历史中的第n条命令

!str:执行最近一次以str开头的历史命令

  1. [root@svr7 ~]# vim /etc/profile
  2. HISTSIZE=1000 #默认记录1000条
  3. [root@localhost ~]# history #显示历史命令列表
  4. [root@localhost ~]# history -c #清空历史命令
  5. [root@localhost ~]# history -w #记住历史命令为空
  6. [root@localhost ~]# history
  7. [root@localhost ~]# cat /etc/redhat-release
  8. [root@localhost ~]# ls /root
  9. [root@localhost ~]# history
  10. [root@localhost ~]# !cat #指定最近一条以cat开头的历史命令
  11. [root@localhost ~]# !ls #指定最近一条以ls开头的历史命令

date,查看/调整系统日期时间

  1. [root@localhost /]# date
  2. [root@localhost /]# date -s "2008-9-6 11:17:11" #修改系统时间
  3. [root@localhost /]# date
  4. [root@localhost /]# date -s "2023-02-21 15:55:11"
  5. [root@localhost /]# date

date单独显示时间

  1. [root@localhost ~]# date +%Y #显示年
  2. [root@localhost ~]# date +%m #显示月
  3. [root@localhost ~]# date +%d #显示日期
  4. [root@localhost ~]# date +%H #显示时
  5. [root@localhost ~]# date +%M #显示分
  6. [root@localhost ~]# date +%S #显示秒
  7. [root@localhost ~]# date +%F #显示年-月-日
  8. [root@localhost ~]# date +%T #显示时:分:秒

bc计算器

du,统计目录占用硬盘的空间

-s:只统计每个参数所占用的总空间大小

-h:提供易读容量单位(K、M等)

  1. [root@localhost ~]# du -sh /root
  2. [root@localhost ~]# du -sh /etc
  3. [root@localhost ~]# du -sh /boot
  4. [root@localhost ~]# du -sh /

制作链接文件(制作符号链接)(制作快捷方式)

方式一:软链接

格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软链接

  1. [root@localhost /]# ls /etc/hosts
  2. [root@localhost /]# ln -s /etc/hosts /hs
  3. [root@localhost /]# ls /
  4. [root@localhost /]# ls -l /hs
  5. [root@localhost /]# ls /opt
  6. [root@localhost /]# ln -s /opt /haxi
  7. [root@localhost /]# ls -l /haxi #查看快捷方式详细属性
  8. [root@localhost /]# ls -l /haxi/ #查看源目录内容详细数据

软链接优势:可以针对目录与文件制作快捷方式,支持跨分区

软链接缺点:源数据消失,快捷方式失效

方式二:硬链接

格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接

硬链接优势:源数据消失,快捷方式仍然有效

硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区

  1. [root@A ~]# rm -rf /opt/*
  2. [root@A ~]# echo 123 > /opt/A.txt
  3. [root@A ~]# ln -s /opt/A.txt /opt/B.txt #软链接
  4. [root@A ~]# ls /opt/
  5. [root@A ~]# ln /opt/A.txt /opt/C.txt #硬链接
  6. [root@A ~]# ls /opt/
  7. [root@A ~]# cat /opt/B.txt
  8. [root@A ~]# cat /opt/C.txt
  9. [root@A ~]# ls -i /opt #查看硬盘存储i节点编号
  10. [root@A ~]# rm -rf /opt/A.txt
  11. [root@A ~]# ls /opt/
  12. [root@A ~]# cat /opt/B.txt #软链接失效
  13. cat: /opt/B.txt: 没有那个文件或目录
  14. [root@A ~]# cat /opt/C.txt #硬链接仍然有效
  15. 123

zip归档工具,跨平台(Windows与Linux)

  1. 归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档...
  2. [-r]:被归档的数据有目录,必须加上此选项
  3. [root@localhost /]# ls /usr/bin/zip
  4. [root@localhost /]# zip -r /opt/abc.zip /etc/passwd /home
  5. [root@localhost /]# ls /opt/
  6. 释放归档+解压操作: unzip 备份文件.zip [-d 目标文件夹]
  7. [root@localhost /]# unzip -l /opt/abc.zip #查看压缩包的内容
  8. [root@localhost /]# mkdir /nsd20
  9. [root@localhost /]# unzip /opt/abc.zip -d /nsd20
  10. [root@localhost /]# ls /nsd20
  11. [root@localhost /]# ls /nsd20/etc
  12. [root@localhost /]# ls /nsd20/home

9 案例:查询已安装的软件信息

9.1 问题

  1. 列出当前主机已安装的所有RPM软件
  2. 查看firefox软件包的安装清单
  3. 查询ifconfig命令程序是安装哪个软件包后产生的
  4. 查看firefox软件包的用途

9.2 方案

查询所有已安装的rpm包,可以利用命令rpm -qa。

查询一个软件安装清单,可以利用命令rpm -ql 软件名。

查询一个文件是由哪个软件包安装后产生,可以利用命令rpm -qf 文件绝对路径。本题中首先要找到,ifconfig命令的可执行程序在哪里,可以利用which命令。

查看软件的用途,可以利用命令rpm -qi 软件名。

9.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:列出当前主机已安装的所有RPM软件

命令操作如下所示:

  1. [root@localhost ~]# rpm -qa

步骤二:查看firefox软件包的安装清单

命令操作如下所示:

  1. [root@localhost ~]# rpm -ql firefox

步骤三:查询ifconfig命令程序是安装哪个软件包后产生的

命令操作如下所示:

  1. [root@localhost ~]# which ifconfig #查询命令所对应的程序
  2. /sbin/ifconfig
  3. [root@localhost ~]# rpm -qf /sbin/ifconfig
  4. net-tools-2.0-0.52.20160912git.el8.x86_64
  5. [root@localhost ~]#

步骤四:查看firefox软件包的用途

命令操作如下所示:

  1. [root@localhost ~]# rpm -qi firefox
  2. Name : firefox
  3. Version : 91.9.0
  4. Release : 1.el8_5
  5. Architecture: x86_64
  6. Install Date: 2023年03月01日 星期三 09时37分59秒
  7. Group : Unspecified
  8. Size : 274681709
  9. License : MPLv1.1 or GPLv2+ or LGPLv2+
  10. Signature : RSA/SHA256, 2022年05月04日 星期三 14时37分51秒, Key ID 15af5dac6d745a60
  11. Source RPM : firefox-91.9.0-1.el8_5.src.rpm
  12. Build Date : 2022年05月04日 星期三 13时16分20秒
  13. Build Host : ord1-prod-x86build001.svc.aws.rockylinux.org
  14. Relocations : (not relocatable)
  15. Packager : infrastructure@rockylinux.org
  16. Vendor : Rocky
  17. URL : https://www.mozilla.org/firefox/
  18. Summary : Mozilla Firefox Web browser
  19. Description :
  20. Mozilla Firefox is an open-source web browser, designed for standards
  21. compliance, performance and portability.

10 案例:查询待安装的.rpm包

10.1 问题

  1. 查询光盘中的 vsftpd软件包的用途、安装清单
  2. 查询光盘中的 bind-chroot 软件包的用途、安装清单

10.2 方案

注意在查询未安装的.rpm包信息时,提供的命令参数应该是准确的包文件路径,仅指定软件名是不行的。指定文件路径时,多利用Tab键补全。提前将系统光盘挂载到/media目录,以便使用相关包文件。

10.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:查询光盘中的 vsftpd 软件包的用途、安装清单

首先将光盘设备手动挂载到/media目录,进行查询操作。

命令操作如下所示:

  1. [root@localhost ~]# mount /dev/cdrom /media/
  2. mount: /media: WARNING: device write-protected, mounted read-only.
  3. [root@localhost /]# rpm -qpi /media/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
  4. ……
  5. [root@localhost /]# rpm -qpl /media/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
  6. ……

步骤二:查询光盘中的 bind-chroot 软件包的用途、安装清单

命令操作如下所示:

  1. [root@localhost /]# rpm -qpi /media/AppStream/Packages/b/bind-chroot-9.11.36-3.el8.x86_64.rpm
  2. [root@localhost /]# rpm -qpl /media/AppStream/Packages/b/bind-chroot-9.11.36-3.el8.x86_64.rpm

11 案例:RPM软件的安装和卸载

11.1 问题

  1. 找出vim、vi是由哪两个包产生的
  2. 删除vim、vi命令程序
  3. 修复vim、vi
  4. 安装bind-chroot包,体验Linux依赖关系

11.2 方案

本题的思路是,首相通过which命令查找到vim、vi命令可执行程序所在位置,在通过“rpm –qf 文件绝对路径”命令查看该可执行程序,是由那个包产生的。删除该可执行程序后,再将软件包安装重新产生即可。但在安装时需注意,系统会提示改程序已经安装,需加上“--force”选项强制安装。

11.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:找出vim、vi是由那两个包产生的

命令操作如下所示:

  1. [root@localhost ~]# which vi vim
  2. /usr/bin/vi
  3. /usr/bin/vim
  4. [root@localhost ~]# rpm -qf /usr/bin/vi
  5. vim-minimal-8.0.1763-16.el8_5.13.x86_64
  6. [root@localhost ~]# rpm -qf /usr/bin/vim
  7. vim-enhanced-8.0.1763-16.el8_5.13.x86_64

步骤二:删除vim、vi命令程序

命令操作如下所示:

  1. [root@localhost ~]# rm -rf /usr/bin/vi /usr/bin/vim
  2. [root@localhost ~]#

步骤三:修复vim、vi

首先将光盘设备手动挂载到/media目录,进行修复操作。

命令操作如下所示:

  1. [root@localhost ~]# mount /dev/cdrom /media/
  2. mount: block device /dev/sr0 is write-protected, mounting read-only
  3. [root@localhost ~]# rpm -ivh --force /media/BaseOS/Packages/v/vim-minimal-8.0.1763-16.el8_5.13.x86_64.rpm
  4. [root@localhost ~]# rpm -ivh --force /media/AppStream/Packages/v/vim-enhanced-8.0.1763-16.el8_5.13.x86_64.rpm
  5. ……
  6. [root@localhost ~]#

步骤四:安装bind-chroot包,体验Linux依赖关系

命令操作如下所示:

  1. [root@localhost ~]# cd /media/AppStream/Packages/b
  2. [root@svr5 Packages]# rpm -ivh bind-chroot-9.11.36-3.el8.x86_64.rpm
  3. error: Failed dependencies:
  4. ……
  5. [root@svr5 Packages]# rpm -ivh bind-9.11.36-3.el8.x86_64.rpm
  6. Preparing... ########################################### [100%]
  7. 1:bind ########################################### [100%]
  8. [root@svr5 Packages]# rpm -ivh bind-chroot-9.11.36-3.el8.x86_64.rpm
  9. Preparing... ########################################### [100%]
  10. 1:bind-chroot ########################################### [100%]

12 案例:配置Yum仓库及客户端及验证

12.1 问题

  1. 将光盘挂载到/dvd,搭建本地Yum
  2. 将本机设置为客户端,进行Yum验证
  3. 查询Yum库中是否有firefox包
  4. 使用yum命令安装bind包
  5. 利用Yum安装bind
  6. 利用Yum卸载bind
  7. 利用yum search查询与httpd相关的包
  8. 利用yum info查询firefox包描述信息

12.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:搭建一个本地Yum,将光盘手动挂载到/dvd

命令操作如下所示:

  1. [root@localhost ~]# mkdir /dvd
  2. [root@localhost ~]# ls /dvd
  3. [root@localhost ~]# mount /dev/cdrom /dvd/
  4. mount: /dev/sr0 写保护,将以只读方式挂载
  5. [root@localhost ~]# ls /dvd/

步骤二:将本地设置为客户端,进行Yum验证

Yum客户端需编辑配置文件,命令操作如下所示:

  1. [root@localhost ~]# ls /etc/yum.repos.d/
  2. [root@localhost ~]# mkdir /etc/yum.repos.d/repo
  3. [root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo
  4. [root@localhost ~]# ls /etc/yum.repos.d/
  5. [root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
  6. [App] #仓库标识,可以任意
  7. name=App        #仓库的描述信息,可以任意
  8. baseurl=file:///dvd/AppStream            #指定服务端位置,file://代表本地为服务端
  9. enabled=1                     #是否启用本文件
  10. gpgcheck=0                     #是否检测红帽签名信息
  11. [Base] #仓库标识,可以任意
  12. name=Base        #仓库的描述信息,可以任意
  13. baseurl=file:///dvd/BaseOS             #指定服务端位置,file://代表本地为服务端
  14. enabled=1                     #是否启用本文件
  15. gpgcheck=0                     #是否检测红帽签名信息
  16. [root@localhost ~]# yum repoinfo -v        #列出仓库信息
  17. [root@localhost ~]# yum repoinfo            #列出仓库信息

步骤三:查询yum库中是否有firefox包

命令操作如下所示:

  1. [root@localhost /]# yum list | grep firefox

步骤四:利用yum安装bind包

命令操作如下所示:

  1. [root@localhost /]# yum -y install bind
  2. ……

步骤二:利用Yum卸载bind

命令操作如下所示:

  1. [root@localhost /]# yum -y remove bind
  2. ……

步骤四:利用yum search查询与httpd相关的包

命令操作如下所示:

  1. [root@localhost /]# yum search httpd
  2. ……

步骤四:利用yum info查询firefox包描述信息

命令操作如下所示:

  1. [root@localhost /]# yum info firefox
  2. ……