一、yum命令语法

yum [options] [command] [package ...]

二、yum命令常用的选项:

yum options
-y //自动回答为"yes"
-q //静默模式,安装时不输出信息至标准输出 --disablerepo=repoidglob //临时禁用此处指定的repo
--enablerepo=repoidglob //临时启用此处指定的repo --noplugins //禁用所有插件
--nogpgcheck //如果从网上下载包有时会检查gpgkey,此时可以使用此命令跳过gpgkey的检查  

三、yum命令常用的command

1、list —— 列出所需的软件包

    all               //默认项
installed //列出已经安装的包
updates //可用的升级安装包
available //列出仓库中有的,但尚未安装的所有可用的包
enabled //列出已经启用的仓库
disabled //列出未启用的仓库

2、clean —— 清理缓存

     all
packages
headers
metadata
dbcache

3、repolist —— 显示repo列表及其简要信息

    all
enabled //默认项
disabled

4、install —— 安装软件包

yum install packages [...](可以一次性装多个包)

5、update —— 升级更新

yum update packages [...]

update_to          //升级为指定版本

6、info —— 显示可安装的软件包名

示例:
yum info vsftpd

7、remove / erase —— 卸载已经安装的软件包

示例:
yum remove httpd
yum erase vsftpd

8、其他不常用的command

downgrade package1 [package2 ...]        //降级

provides|whatprovides         //查看指定的文件或特性是由哪个包安装生成的

search string1 [string2 ...]        //以指定的关键字搜索程序包名及summary信息

deplist package [package2 ...]        //显示指定包的依赖关系

history            //查看yum的历史事务信息

localinstall        //安装本地rpm包,自动解决依赖关系

grouplist          //列出可用的组

groupinstall "group name"       //安装一组软件

createrepo命令       //创建yum仓库的元数据信息 

四、具体演示

1、列出软件仓库中可以用的软件

[root@localhost ~]# yum list all
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:0:00:54 前,执行于 2020年08月13日 星期四 16时03分38秒。
已安装的软件包
NetworkManager.x86_64 1:1.20.0-3.el8 @anaconda
NetworkManager-libnm.x86_64 1:1.20.0-3.el8 @anaconda
NetworkManager-team.x86_64 1:1.20.0-3.el8 @anaconda
NetworkManager-tui.x86_64 1:1.20.0-3.el8 @anaconda
PackageKit.x86_64 1.1.12-3.el8 @AppStream
PackageKit-glib.x86_64 1.1.12-3.el8 @AppStream
abattis-cantarell-fonts.noarch 0.0.25-4.el8 @AppStream
..................

2、具体查找对应的软件包

[root@localhost ~]# yum list |grep httpd
httpd.x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream
httpd-devel.x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream
httpd-filesystem.noarch 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream
httpd-manual.noarch 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream
httpd-tools.x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream
keycloak-httpd-client-install.noarch 1.0-2.el8 AppStream
libmicrohttpd.i686 1:0.9.59-2.el8 BaseOS
libmicrohttpd.x86_64 1:0.9.59-2.el8 BaseOS
python3-keycloak-httpd-client-install.noarch 1.0-2.el8 AppStream
redhat-logos-httpd.noarch 81.1-1.el8 BaseOS

3、列出可安装软件包的详细信息

[root@localhost ~]# yum info httpd
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:0:03:05 前,执行于 2020年08月13日 星期四 16时03分38秒。
可安装的软件包
名称 : httpd
版本 : 2.4.37
发布 : 16.module+el8.1.0+4134+e6bad0ed
架构 : x86_64
大小 : 1.4 M
源 : httpd-2.4.37-16.module+el8.1.0+4134+e6bad0ed.src.rpm
仓库 : AppStream
概况 : Apache HTTP Server
URL : https://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.

4、安装软件包  

[root@localhost ~]# yum install -y httpd
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:0:05:00 前,执行于 2020年08月13日 星期四 16时03分38秒。
依赖关系解决。
============================================================================================================================================================================================
软件包 架构 版本 仓库 大小
============================================================================================================================================================================================
安装:
httpd x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream 1.4 M
安装依赖关系:
redhat-logos-httpd noarch 81.1-1.el8 BaseOS 26 k
apr x86_64 1.6.3-9.el8 AppStream 125 k
apr-util x86_64 1.6.1-6.el8 AppStream 105 k
httpd-filesystem noarch 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream 35 k
httpd-tools x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed AppStream 103 k
mod_http2 x86_64 1.11.3-3.module+el8.1.0+4134+e6bad0ed AppStream 158 k
安装弱的依赖:
apr-util-bdb x86_64 1.6.1-6.el8 AppStream 25 k
apr-util-openssl x86_64 1.6.1-6.el8 AppStream 27 k
启用模块流:
httpd 2.4
...............

5、卸载软件包  

[root@localhost ~]# rpm -qa | grep httpd
httpd-tools-2.4.37-16.module+el8.1.0+4134+e6bad0ed.x86_64
httpd-2.4.37-16.module+el8.1.0+4134+e6bad0ed.x86_64
httpd-filesystem-2.4.37-16.module+el8.1.0+4134+e6bad0ed.noarch
redhat-logos-httpd-81.1-1.el8.noarch
[root@localhost ~]# yum remove httpd -y
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
依赖关系解决。
============================================================================================================================================================================================
软件包 架构 版本 仓库 大小
============================================================================================================================================================================================
移除:
httpd x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed @AppStream 4.8 M
清除未被使用的依赖关系:
apr x86_64 1.6.3-9.el8 @AppStream 293 k
apr-util x86_64 1.6.1-6.el8 @AppStream 230 k
apr-util-bdb x86_64 1.6.1-6.el8 @AppStream 12 k
apr-util-openssl x86_64 1.6.1-6.el8 @AppStream 20 k
httpd-filesystem noarch 2.4.37-16.module+el8.1.0+4134+e6bad0ed @AppStream 400
httpd-tools x86_64 2.4.37-16.module+el8.1.0+4134+e6bad0ed @AppStream 238 k
mod_http2 x86_64 1.11.3-3.module+el8.1.0+4134+e6bad0ed @AppStream 479 k
redhat-logos-httpd noarch 81.1-1.el8 @BaseOS 3.3 k
............... [root@localhost ~]# rpm -qa | grep httpd

6、重装软件包  

一般在意外的情况下在会去使用
[root@localhost ~]# yum reinstall httpd

7、更新软件包

更新的话一般用的饿比较少
[root@localhost ~]# yum update httpd -y

8、与仓库相关的命令

//查看这个文件或命令属于哪个包
[root@localhost ~]# yum provides /etc/my.cnf
[root@localhost ~]# yum provides cd
[root@localhost ~]# yum provides *bin/pstree

9、与组包相关的命令  

//列出已经安装和所有可使用的软件组
[root@localhost ~]# yum groups list //安装一整个组的软件
[root@localhost ~]# yum groups install Development tools \
Compatibility libraries \
Base Debugging Tools //yum删除包组
[root@localhost ~]# yum groups remove -y Base

10、与缓存相关的命令  

//缓存yum源软件仓库, xml元数据文件
[root@localhost ~]# yum makecache //清除所有yum缓存
[root@localhost ~]# yum clean all //只清除缓存的软件包
[root@localhost ~]# yum clean packages

11、与历史记录相关的命令  

//查看历史执行yum命令
[root@localhost ~]# yum history //查询历史执行yum命令ID详细信息
[root@localhost ~]# yum history info N //撤销历史执行过的yum命令
[root@localhost ~]# yum history undo N  

五、yum的签名机制

  • rpm软件提供组织redhat在构建rpm包时, 使用其私钥private key对 rpm进行签名
  • 客户端在使用rpm为了验证其合法性, 可以使用redhat提供的公钥public key进行签名检查  

1、方式一:指定公钥位置

[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

2、方式二:提前导入公钥

[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1

3、方式三:不进行签名验证 

//不检查软件包的签名
[root@localhost ~]# yum install httpd --nogpgcheck

Linux_yum命令详解的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  3. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  4. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  5. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  6. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Top 命令详解

    Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...

  9. Ruby Gem命令详解

    转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.o ...

随机推荐

  1. Java生鲜电商平台-API接口设计之token、timestamp、sign 具体设计与实现

    转载:https://www.cnblogs.com/jurendage/p/12653865.html 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安 ...

  2. Linux 用户和用户组管理(useradd userdel groupadd groupdel)

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...

  3. Install Tensorflow object detection API in Anaconda (Windows)

    This blog is to explain how to install Tensorflow object detection API in Anaconda in Windows 10 as ...

  4. C/C++中的const

    1 C中的const C中const修饰的变量是只读变量,在使用const关键字声明定义变量时会给该变量分配内存空间. const修饰的全局变量默认是外部链接的,即其它源文件可以直接使用该变量. co ...

  5. 这可能是最容易理解的 Go Mutex 源码剖析

    Hi,大家好,我是 haohongfan. 上一篇文章<一文完全掌握 Go math/rand>,我们知道 math/rand 的 global rand 有一个全局锁,我的文章里面有一句 ...

  6. OAuth 2.0 了解了,OAuth 2.1 呢?

    OAuth 2.0 OAuth 2.0 是工业级标准授权协议. OAuth 2.0 聚焦于客户端开发者便利性,为网页应用程序.桌面客户端.手机.客厅设备提供特定的授权流程. RFC6749 OAuth ...

  7. Python表达式进阶——列表表达式

    x = 0 y = x*2 if x >= 0 else x print(y) # [表达式for变量in列表] l1 = [] l2 = [i for i in range(100) if i ...

  8. 【死磕JVM】看完这篇我也会排查JVM内存过高了 就是玩儿!

    前言 CPU 是时分的,操作系统里面有很多线程,每个线程的运行时间由CPU决定,CPU会分给每一个线程一个时间片,时间片是一个很短的时间长度,如果在时间片内,线程一直占有,就是100%,我们应该意识到 ...

  9. PHP版DES算法加密数据

    php7之后的版本 php的mcrypt 扩展已经过时了大约10年,并且用起来很复杂.因此它被废弃并且被 OpenSSL 所取代. 从PHP 7.2起它将被从核心代码中移除并且移到PECL中.PHP手 ...

  10. hdu3714 水三分

    题意:       给你一些函数 y = ax^2 + bx + c,的a >= 0 的二次函数,x的范围是0--1000, 问你在这个范围内函数值最大的最小是多少,最大指的是对于某一个x最大的 ...