![Linux快速入门与实战:基础知识、容器与容器编排、大数据系统运维](https://wfqqreader-1252317822.image.myqcloud.com/cover/769/43806769/b_43806769.jpg)
3.2.2 常用包管理命令
下面结合yum的典型应用场景,列出yum常用命令的示例,具体说明如下。
1.查看有效的安装源配置项
yum的安装源配置文件位于 /etc/yum.repos.d/ 目录下,每个配置文件又有若干个安装源配置项,这些配置项中有的是有效的,有的则是无效的。可以使用下面的命令来查看当前哪些配置项有效,这样就可以避免一个个查看配置文件。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/81_02.jpg?sign=1739290330-EIMLF7DUM6CGYaaTP9a3dYPn7SvDCKzI-0-33e0233d57a065e51802efd99e1971bb)
上述命令执行的结果如图3-14所示,第一列是repo id即安装源配置项中括号([ ])的内容,第二列是yum仓库名,即安装源配置项中name的值。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/81_03.jpg?sign=1739290330-6KuPnzwuRbcKdL8w2NiTPAIVPfqznpiq-0-bb1a5bd26d16af0b56f98fc645863720)
图3-14 yum有效的安装源配置项图
仅安装源配置项有效还不行,其配置的yum仓库也必须准备就绪,以图3-14为例,c8-media-AppStream和c8-media-BaseOS的yum仓库均位于光盘上,那么就需要先将光盘挂载到/media目录,否则即使c8-media-AppStream/c8-media-BaseOS有效,yum仓库访问不了,待安装的软件包也无法获取;同样的,AppStream、BaseOS和extras的yum仓库位于互联网,需要先准备好网络,使得本机能够访问互联网。
2.安装软件包
本示例使用yum安装wget软件包,wget是Linux下常用的下载工具,安装命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/81_04.jpg?sign=1739290330-y2ttx1dRcYspvSRYfnQHsnvQDYYYkfgm-0-e48a2d3d7482060229c7056f674f0f80)
上述命令和参数说明如下。
● -y是选项,表示在安装的过程中,凡是需要用户选择的地方,全部选择Yes,这样安装过程就可以直接进行下去,而不需要和用户交互。
● install也是选项,告诉yum这是一个安装软件的操作。
● wget是要安装的软件包的名字。
按〈Enter〉键后,yum会查找yum仓库元数据信息,从中找到wget软件包的数据对其做依赖解析,然后下载依赖包和wget软件包,依次安装依赖包和wget。所有的这些操作都是自动运行的。对用户来说,只需要运行yum一个命令,非常简单。但是,上述安装能否顺利完成,还取决于以下两个条件。
● 安装包所在的安装源配置项必须有效,配置的yum仓库必须能够访问。
● 要确定软件包的名字。但有的时候,只知道命令的名字,却不知道命令所在的软件包的名称,此时可以使用yum来反查软件包名称。例如本机上没有链接器ld,也不清楚ld所在的软件包名称,使用yum反查软件包的命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/82_01.jpg?sign=1739290330-LDo9m28h1O2G27CxrUphS50dkfveZCqk-0-990621f9eab434168493e0f98961efc5)
上述命令会列出ld命令的软件包和yum仓库信息。如下所示,ld命令的软件安装包有两个版本:第一个是32位的binutils-2.30-49.el8.i686;第二个是64位的binutils-2.30-49.el8.x86_64,可以根据需要在yum命令后精确指定软件包的名称。每个软件包下列出了yum仓库的名称,例如binutils-2.30-49.el8.i686的yum仓库就是BaseOS。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/82_02.jpg?sign=1739290330-mTeTvEJB4KTC0QqbPeBI3plVPRAvYowD-0-e71c580059c0b2db3d7f06c605ebe43f)
3.列出软件包信息
上节介绍了反查软件包名称的方法,它需要提供命令的名字。但有的时候连命令的名字也不清楚,只是对软件包的名字或功能有个大概印象,例如只记得要安装的软件包是以bin开头的,此时,可以列出yum仓库中所有的软件包,在列出的信息中查找以bin开头的软件包,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/82_03.jpg?sign=1739290330-T2NsQTw9YVEPuDHqY9qrSVwCcyyG4Npc-0-8b2cba82ced91586f87ee03cea9f67a2)
上述命令中yum list会列出yum仓库中所有的软件包,然后通过管道 | 将此输出信息作为显示软件less的输入,如图3-15所示,在less中可以使用翻屏键〈Page Up〉/〈Page Down〉遍历yum list的输出信息,还可以使用斜杠 / 来搜索字符串,例如/bin就是搜索包含bin的字符串,然后使用n来遍历每个包含bin的字符串。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/82_04.jpg?sign=1739290330-XgBz7NYdtQbPnUuL68EYOTdwr0T6kojW-0-91d007b9085479a203b999d32ea3bad4)
图3-15 yum仓库可安装的软件包信息图
yum list | grep bin可以直接输出包含bin的软件包信息,然后从中确定想要安装的软件包的名称。
使用yum来列出已经安装的软件包信息,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_01.jpg?sign=1739290330-VSEuMhIXwfpBLYq3HvKt8V5OaPYW6PJZ-0-8d733193684b0b0659d02cc8a49e5fd2)
4.撤销已安装的软件包
本小节以wget为例,介绍如何撤销之前已经安装的软件包,步骤如下。
(1)查看安装序号
1)yum的每次安装都会有一个安装序号,使用下面的命令来查看yum操作历史中的安装序号。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_02.jpg?sign=1739290330-nyxw8o8Qsj9Z5OrJG1vCm27DViT1iK5o-0-fce48125e1616abba072b1c667d54c89)
上述命令执行结果如图3-16所示,安装wget的ID是2。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_03.jpg?sign=1739290330-IV0AUdBUSac2cNyGLJNzmqboJv9zJiIV-0-23c0be8fdc924f0649df067418a5f9a1)
图3-16 yum操作历史中的安装序号图
2)使用下面的命令,来进一步查看wget安装的详细信息。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_04.jpg?sign=1739290330-pyW0ZLGxO7QHzH4fuDABvwNReNrEAdmc-0-6ab5d34215560a526438d94a49c5f62d)
(2)撤销安装
使用下面的命令撤销之前的wget安装,此时之前安装的wget就会被卸载,如果有依赖包的话,依赖包也会一并卸载。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_05.jpg?sign=1739290330-rHOraxXFYZPy0D5XlSOaNGNAMMjvqrAO-0-9dd54803e64719ab7c59e4f61910687f)
如果系统打印以下信息,则说明撤销成功。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_06.jpg?sign=1739290330-ee5rke44hbCPJNDxAyof4FAvb5rKWMlE-0-2731351c612d86cdd2b851e60a8230fd)
如果要恢复已撤销的动作,可以使用yum history redo 2。yum remove wget也可以卸载wget,但是不建议这么做,因为remove操作可能会卸载之前安装的依赖包(有些依赖包是在安装wget之前就已经安装好了的,它们也是其他程序的依赖包),这样会导致其他程序不能正常工作。而yum history undo 2只会卸载本次安装的依赖包,不会对其他程序造成影响。
5.安装EPEL源
EPEL(Extra Packages for Enterprise Linux)是一个非常重要的安装源,它提供了很多基础安装源之外的软件包,实际使用中经常用到,安装EPEL安装源的命令如下所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_07.jpg?sign=1739290330-vY7SDNn6wJqJhcEaN0bTdrhu2n4k3kmi-0-01aad872783f00c8b497338552e81fcc)
上述命令执行后,可以看5个EPEL源配置文件,如下所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_08.jpg?sign=1739290330-jEouje2bNnxUoJSspmMOlfrvnERzIixg-0-a7b2c336191cb547dd9bf746dea3318c)
查看当前有效的安装源,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/83_09.jpg?sign=1739290330-mWEPcPmHrM5OPMEYxM61FZvpP96Nlgyn-0-7c9675ec43ba2a8fcc43f6a79b607dee)
上述命令执行后,可以看到EPEL有关的安装源,如图3-17所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/84_01.jpg?sign=1739290330-nLGDiFKWxNKNKVnncA0TT40PRZ83ObTj-0-b7b69b8edb2b3cfe244cdcb595a41baf)
图3-17 yum EPEL有关的安装源图