一、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. Class类文件结构--访问标志

    访问标志的位置:在常量池结束之后的两个字节(16位)表示访问标志access_flags. 访问标志的作用:用于标识类或者接口层次的访问信息:比如该Class是类还是接口,是否为public类型.是否 ...

  2. 如何优雅地学习计算机2<-->Helloworld

    0.导入 ​ 在进行粗略的学习计算机底层知识和变量后,我们来开始编写年轻人的第一个程序--Helloworld. ​ 我们需要用到的工具有:1.Dev-C++(也可以使用其他软件)2.脑子(最重要) ...

  3. Java第三章基础学习课后题练习

    小结:final 类型 变量名 = 数值 定义常量使用 变量的原则*** 一定要"先声明,后使用",变量使用前必须先声明.这点就没php好玩:两种键盘输入方式InputStream ...

  4. CrackMe_002

    老规矩,先熟悉程序. 只有一个验证的功能,错误提示You Get ... 关闭没有nag窗口 第一种,暴力破解 查找字符串,很少,直接双击进入 可以看到错误提示的跳转来自: 表示这应该是个重要的跳转, ...

  5. pandas(5):数学统计——描述性统计

    Pandas 可以对 Series 与 DataFrame 进行快速的描述性统计,方便快速了解数据的集中趋势和分布差异.源Excel文件descriptive_statistics.xlsx: 一.描 ...

  6. 从中国加入WTO来看Java设计模式:中介者模式

    目录 应用场景 中介者模式 定义 意图 主要解决问题 何时使用 优缺点 世界贸易组织WTO 应用场景 系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象 想通过一个 ...

  7. 7- MySQL结果数据处理与函数

    复习: 查询:select 列名 from 表 去重:distinct 排序:order by 列1 列2 排序方法:asc desc. 限定返回行数:limit n limit n,m 过滤:whe ...

  8. POJ 2752 同一个串的前后串

    题解东北赛回来再补 #include<stdio.h> #include<string.h> int next[500000]; int ans[500000]; char s ...

  9. poj2987最大权闭包(输出最少建塔个数)

    题意:      公司要裁员,每个员工被裁掉之后都会有一定的收益(正或者负),有一些员工之间有限制关系,就是裁掉谁之前必须要先裁掉另一个人,问公司的最大收益和最大收益前提下的最小裁员人数? 思路:   ...

  10. 将大量ASCII码值转换成字符函数CHR()的小技巧

    一.在学习命令执行漏洞的过程中,遇到以下情况: 当服务器上传不了马或者马被过滤的时候,我们可以迂回一下,通过执行写马命令到服务器,在服务器里面写马,该命令是通过ascii编码过的命令,防止被过滤. 1 ...