【Linux命令018】自动化RPM包管理工具

Scroll Down

yum的全程是 yellow dog updater modified。

说实话,看到这个解释我也挺懵逼的。为啥是黄狗?为啥不是白狗呢?

有人说,中国自古就有诗为证了:黄狗身上白,白狗身上肿……这波解释666。

好吧,这只是说笑,以前有个叫基于redhat的Linux发行版:yellow dog Linux,后来这个版本不再维护了,但是它的包管理器yellow dog updater modified被保留了下来。

题外话:yellow dog是指不加入工会的工人,在美国是非常受鄙视的。

正文

yum它是一个在线的软件安装命令,通行在redhat、CentOS、Fedora等多个Linux发行版上。

主要作用就是自动安装、升级rpm软件包,可以自动检查并解决rpm包之间的依赖关系。

就跟现在前后端开发常用的maven install、npm install等包管理工具类似。

语法

yum [选项] [指令] [软件包]

常用参数

参数选项解释说明
-y,--assumeyes确认操作,最常用
--nogpgcheck忽略GPG验证
--noplugins禁用所有插件
-q, --quiet静默模式
-v, --verbose详细模式;
--color=COLOR带颜色
--downloadonly仅下载包,不安装或升级。默认下载在yum的缓存目录中,默认为/var/cache/yum/$basearch/$releasever
--downloaddir=DLDIR指定下载目录

常用命令

参数选项解释说明
yum install -y <package_name>安装软件包
yum localinstall <本地已下载安装包>安装本地RPM包
yum remove <package_name>完全移除,包含依赖项。较为危险,可能会误卸载别的软件依赖项
yum update <package_name>更新软件包
yum update更新系统
yum check-update列出所有可更新的软件清单命令
yum list <package_name>列出指定软件包
yum listgrep <package_name>
yum list列出所有可用软件,可用less展示
yum list installed列出所有已安装软件包
yum search all 如果不记得确切名称,可以用search all查找可用的相关包
yum info <package_name>获取软件包信息
yum deplist <package_name>查看依赖
yum provides 查找特定文件属于哪个包,示例yum provides /etc/my.cnf
yum grouplist列出可用群组
yum groupinstall <group_name>安装群组软件包
yum groupupdate <group_name>更新群组软件包
yum groupremove <group_name>卸载群组软件包
yum repolist可出启用的yum源
yum repolist all列出所有yum源
yum clean all清楚所有yum的缓存内容
yum clean packages清除缓存目录下的软件包
yum clean headers清除缓存目录下的 headers
yum clean oldheaders清除缓存目录下旧的 headers
yum history安装历史
yum makecache fast创建yum缓存

tips

使用yum history的时候报错,可能是因为没有权限,而不是别的原因。

使用yum的时候最好使用具有root权限的账号。

示例

安装压缩软件7z

命令:

yum install -y p7zip

示例:

[root@yaomm ~]# yum install -y p7zip
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cloud.aliyuncs.com
 * extras: mirrors.cloud.aliyuncs.com
 * updates: mirrors.cloud.aliyuncs.com
Resolving Dependencies
--> Running transaction check
---> Package p7zip.x86_64 0:16.02-10.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================================================================================================================
 Package                                                           Arch                                                               Version                                                                     Repository                                                        Size
=========================================================================================================================================================================================================================================================================================
Installing:
 p7zip                                                             x86_64                                                             16.02-10.el7                                                                epel                                                             604 k

Transaction Summary
=========================================================================================================================================================================================================================================================================================
Install  1 Package

Total download size: 604 k
Installed size: 1.7 M
Downloading packages:
p7zip-16.02-10.el7.x86_64.rpm                                                                                                                                                                                                                                     | 604 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : p7zip-16.02-10.el7.x86_64                                                                                                                                                                                                                                             1/1 
  Verifying  : p7zip-16.02-10.el7.x86_64                                                                                                                                                                                                                                             1/1 

Installed:
  p7zip.x86_64 0:16.02-10.el7                                                                                                                                                                                                                                                            

Complete!

查看历史列表:

[root@yaomm ~]# yum history
Loaded plugins: fastestmirror
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    36 | install -y p7zip         | 2020-07-06 22:44 | Install        |    1   
    35 | install firewalld -y     | 2020-06-04 19:33 | Update         |    3   
    34 | install libffi-devel -y  | 2020-06-04 19:32 | I, U           |    2   
    33 | install epel-release -y  | 2020-06-04 19:30 | Install        |    1 EE
    32 | install -y wget python-d | 2020-06-04 19:30 | I, U           |   47   
    31 | install ntp -y           | 2020-06-04 19:29 | Update         |    2   
    30 | install tmux             | 2020-05-29 17:18 | Install        |    2   
    29 | install traceroute baidu | 2020-05-08 21:06 | Install        |    1   
    28 | install zip -y           | 2020-04-30 15:03 | Install        |    1   
    27 | remove zip -y            | 2020-04-30 14:56 | Erase          |    1   
    26 | install certbot python2- | 2020-04-16 23:57 | Install        |    2   
    25 | remove certbot python2-c | 2020-04-16 23:57 | Erase          |    2   
    24 | install certbot python2- | 2020-04-16 23:41 | Install        |    2   
    23 | install -y python-devel  | 2020-04-16 23:40 | I, U           |    6   
    22 | remove certbot           | 2020-04-16 23:40 | Erase          |    2   
    21 | -y install yum-utils     | 2020-04-16 23:33 | Install        |    3   
    20 | install certbot python2- | 2020-04-16 23:18 | Install        |   30 ##
    19 | install -y nginx         | 2020-04-16 23:16 | Install        |    1 E<
    18 | install zip              | 2020-04-16 22:57 | Install        |    1 > 
    17 | install unzip            | 2020-03-21 12:28 | Install        |    1   
history list