Linux yum 命令

yum (全称Yellow dog Update)命令是 RedHat 和 Fedora 以及 SUSE 中基于 rpm 软件包管理器。全称 Yellowdog Updater,Modified。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 可以交互和自动化地更新与管理 rpm 软件包,能够从指定的 yum 存储仓库自动下载 rpm 包并安装,可以自动处理依赖性关系。提供查找、安装、删除、更新等操作命令。

1 检查和更新软件包

可以列出软件包、整体更新软件包、个体更新软件包

1.2 检查系统上已安装的软件包是否有可用的更新

yum check-update

例如:yum check-update 部分输出如下:

1.2.1 更新软件包

可以单个软件包、多个、全部更新,如果更新的包的任何依赖项本身有更新可用,那么依赖的软件包也会被更新。

更新单个软件包

yum update package_name

类似的更新包组

yum group update group_name

更新所有包及依赖项。

yum update

2 查找包及获取相关信息

Yum使您能够对软件包执行完整的操作集,包括搜索软件包、查看有关软件包的信息、安装和删除。

2.1 根据包名查找

yum search package_name1 package_name2 ...

2.2 列出所有已安装和可用的包的信息

yum list all

2.3 列出所有已安装的包

yum list installed
# 或列出指定名字的包
yum list installed *vim*

2.4 列出所有可安装的已启用存储库中的所有包

yum list available

3 列出yum仓库信息

列出系统上每个启用的存储库的存储库ID、名称和包的数量

yum repolist

列出更详细的存储库信息,存储库大小,存储库链接地址,存储库配置文件等

yum repolist -v
yum repoinfo

列出禁用和启用的存储库:yum repolist all,也可以针对启用状态和禁止状态进行过滤:yum repolist disabled、yum repolist enabled

4 显示软件包信息

包括显示软件包的大小、官网URL、描述、来源存储库、版本号。类似 rpm -q --info package_name 命令。

yum info package_name

显示软件包的其它信息

这个命令提供了额外的信息,包括包的校验和(算法用于生产,如sha - 256),在命令行上给出的命令被调用安装包(如果有的话),reason=user表明它是由用户安装,reason=dep意味着它被引入作为一个依赖项

yumdb info package_name

5 yum 包组

包组是服务于一个公共目的的包的集合,例如系统工具或声音和视频。安装包组将获取一组相关的包,从而大大节省了时间。yum组命令是一个顶级命令,它涵盖了在yum中作用于包组的所有操作。

smmary参数用于查看已安装组、可用组、可用环境组以及已安装和可用语言组的数量:

yum groups summary

列出存储库中所有包组

yum groups list

列出特定组中包含的包信息

等于yum groupinfo group_name

yum group info group_name

每个包组都有一个名称和一个组ID (groupid)。列出所有包组的名称及其组id(显示在括号中)

安装包组,可以通过将包组的完整组名(不包含groupid部分)传递给组安装命令来安装包组。

yum group install "group name"

也可以通过groupid进行安装

yum group install groupid

移除包组

yum group remove "group name"

6 yum history

yum history命令查看yum事务的时间轴、发生的日期和时间、受影响的包的数量、这些事务是成功还是中止,以及事务之间是否更改了RPM数据库。此外,此命令可用于撤消或重做某些事务。所有的历史数据都存储在/var/lib/yum/history/目录的历史数据库中。

查看yum的历史操作记录

yum history list all

也可以根据ID仅显示指定范围

yum history list start_id..end_id

查看某个id的详细信息,包括执行的命令、安装更新的软件包、执行时间等。

yum history info id

yum history重复或取消某个历史操作

重复执行指定的id,该命令将重复执行该id的命令

yum history redo id

取消某个历史id的,如果该id是执行安装软件包的命令,那么将remove掉该软件包

yum history undo id

将事务历史存储在单个SQLite数据库文件中。启动新的事务历史记录文件

yum history new

7 yum的配置文件

yum 的配置文件分为两部分:main 和 repository

  • main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
  • repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。

/etc/yum.conf配置参数说明

  • assumeyes=value

提示确认操作,默认是0。如果是1,则当yum install package_name等命令时则不会提示确认操作。这个过程不用输入“y”确认安装。

  • cachedir=directory

yum存储其缓存和数据库文件的目录。

  • debuglevel=value

yum生成的调试输出的详细信息。value是1到10之间的整数。设置更高的调试级别值将导致yum显示更详细的调试输出。debuglevel=2是默认值,而debuglevel=0禁用调试输出。

  • exactarch=value

默认1表示开启,在更新包时考虑准确的体系结构。通过此设置,yum不会安装用于32位体系结构的包来更新已经安装在系统上的具有64位体系结构的包。

  • gpgcheck=value

默认gpgcheck=1,在所有存储库中的所有包上启用GPG签名检查,包括本地包安装。启用gpgcheck后,将检查所有包的签名。在对应的.repo文件中为单个存储库设置gpgcheck=value将覆盖默认值(如果它位于/etc/yum. conf中)。

  • keepcache=value

默认0,安装成功后,不要保留标题和包的缓存。1:成功安装后保留缓存。

  • logfile=value

默认/var/log/yum.log,日志输出保存位置。记录软件包更新、安装、移除等。

  • plugins=value

plugins=1全局启用所有yum插件。仍然可以通过在插件的配置文件中设置enabled=0来禁用特定的yum插件。

repository配置说明

在[repository]部分中,repository是惟一的存储库ID,如my_personal_repo(不允许使用空格),允许您定义单独的yum存储库。位置/etc/yum.repos.d/*

repo配置参数实例

[root@web ~]# cat /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1

serverid 是用于区别各个不同的repository,必须有一个独一无二的名称; name 是对repository 的描述,支持像$releasever $basearch这样的变量; baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:

  • 如果存储库通过HTTP可用,请使用:http://path/to/repo
  • 如果存储库在FTP上可用,请使用:ftp://path/to/repo
  • 如果存储库是机器本地的,那么使用:file:///path/to/local/repo
  • 如果特定的在线存储库需要基本的HTTP身份验证,则可以通过将用户名和密码前缀为URL来指定用户名和密码:http://user:password@www.example.com/repo/
  • 通常这个URL是一个HTTP链接:baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/

8 yum-config-manager添加yum仓库

yum-config-manager命令需要安装yum-utils软件包。

添加第三方yum源仓库

[root@abvi17j5 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

仅下载不安装:

yum install --downloadonly --downloaddir=/tmp lrzsz

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux软件安装管理之--RPM与YUM

     linux一般使用RPM或源码包进行安装软件,上一篇文章写了《Linux 软件安装管理之--源码包安装》。

    用户1679793
  • 自动化工具-ansible服务部署与使用

    用户1679793
  • 记一次gitlab添加用户收不到邮件的解决办法

    之前再gitlab服务器上创建账号可以正常收到邮件,最近就收不到,查了gitlab的配置以及postfix服务都没有问题,后来查看了发信25端口,发现该25端口...

    用户1679793
  • CentOS 中使用yum时常见的一种提示信息

    相信你也遇到过类似的情况,当你安装centos系统的虚拟机有一段时间没有用的时候,再次使用yum去安装一些工具的时候会提示:

    阿dai学长
  • yum 命令讲解

    Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于R...

    用户5807183
  • Linux命令行:yum详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RP...

    用户5640963
  • Linux yum 软件仓库

    以谁为师
  • 2019年9月24日 Linux学习笔记2(自用)

    用户6318323
  • yum的简单使用

    1.yum命令简单介绍 yum(yellow dog updater modified)的理念是使用一个中心仓库(repository)管理一部分甚至一个di...

    苦咖啡
  • Linux yum软件包管理方法

    yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管...

    砸漏

扫码关注云+社区

领取腾讯云代金券