yum概念

  • 对比rpm命令,rpm命令需要手动寻找安装该软件包所需要的一系列依赖关系。当软件包需要卸载时,容易由于卸载掉了某个依赖关系而导致其他的软件包不能用。
  • yum(Yellow dog updaterModified)起初由TerraSoft研发的,其宗旨是自动化地升级、安装和删除RPM软件包,收集RPM软件包的相关信息,检查依赖性并且一次安装所有依赖的软件包,无须繁琐地一次次安装。

yum的关键之处是要有可靠的软件仓库,可以是HTTP站点、FTP站点或者是本地软件池,但必须包括rpm的header,header包括了RPM软件包的各种信息,包括描述、功能、提供的文件以及依赖性等。正是收集了这些header并加以分析,其才能自动化地完成余下的任务。

yum的特点
  • 可以同时配置多个软件仓库。
  • 简洁的配置文件/etc/yum.conf
  • 自动解决安装或者删除RPM软件包是遇到的依赖性问题
  • 使用yum非常方便
  • 保持与RPM数据库的一致性。
repo是yum源软件仓库的配置文件

默认存储在/etc/yum.repos.d目录中

例如:方括号[]里面是软件源的名称,会被yum识别;Centos是软件仓库的名称,$releaserver定义了发行版本,baseurl是指定了软件包来源,支持的协议有http://(HTTP网站)、ftp://(FTP网站)以及file:///(本地源)这三种。enabled表示仓库中定义的源是否启用,0表示禁用,1表示启用。gpgcheck表示对从这个软件仓库中下载的RPM软件包将进行GPG校验,已确定该软件包的来源是有效和安全。gpgkey是定义用于校验的GPG密钥

[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Sources.repo
# CentOS-Sources.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
# [base-source]
name=CentOS-$releasever - Base Sources
baseurl=http://vault.centos.org/centos/$releasever/os/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates
[updates-source]
name=CentOS-$releasever - Updates Sources
baseurl=http://vault.centos.org/centos/$releasever/updates/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful
[extras-source]
name=CentOS-$releasever - Extras Sources
baseurl=http://vault.centos.org/centos/$releasever/extras/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages
[centosplus-source]
name=CentOS-$releasever - Plus Sources
baseurl=http://vault.centos.org/centos/$releasever/centosplus/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
创建本地软件仓库

要在本地磁盘上创建本地软件仓库配置软件仓库配置文件,还要将linux系统安装光盘中的软件包复制到系统中。

  • 安装软件包 deltarpm、python-deltarpm和crearterepo软件包 1.使用cd切换到linux系统按光盘软件包目录 2.再使用rpm -ivh [软件包] 进行安装。
  • 复制安装包
  • 创建软件出口配置文件

例如:创建配置文件/etc/yum.repos.d/rhel.repo内容如下

[root@localhost ~]# mkdir /root/yum.repos.d
[root@localhost ~]# vi /root/yum.repos.d/rhel.repo
[root@localhost ~]# cat /root/yum.repos.d/rel.repo
cat: /root/yum.repos.d/rel.repo: No such file or directory
[root@localhost ~]# cat /root/yum.repos.d/rhel.repo
name=Red Hat Enterprise Linux 7
baseurl=file:///root/fhel
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
  • 使用createrepo命令创建软件仓库
[root@localhost ~]# createrepo /root/rhel

如果提示createrepo命令不存在时执行以下命令

[root@localhost ~]# yum -y install createrepo
yum命令可以安装、更新、删除、显示软件包。yum可以自动进行系统更新,基于软件仓库的元数据分析,解决软件包依赖性关系。

命令语法:yum [选项] [命令]

选项 含义
-y 安装过程所有问题都回答yes
-q 安静模式操作
-v 显示详细信息
-c<配置路径> 指定配置文件路径
-x<软件包> 排查指定软件包
--nogpgcheck 禁用GPG签名检查
--installroot=路径 设置安装根目录路径

yum目录部分描述

命令 描述
install<软件包名> 按指定的软件包
reinstall<软件包名> 重新安装软件包
search<软件包名> 通过给定的字符串搜索软件包
list 列出目前yum所管理的所有的软件包名称和版本
list <软件包名> 列出指定软件包安装情况
list installed 列出所有已安装的软件包
ist installed<正则表达式> 列出软件仓库中与正则表达式匹配的所以已经安装的软件包
list extras 列出所有已安装但不在yum软件仓库内的软件包
list extras<正则表达式> 列出与正则表达式匹配的已安装的但不包含在软件仓库中的软件包
list updates 列出所有可更新的软件包
list updates<正则表达式> 列出软件仓库中与正则表达式匹配的所有可以更新的软件包
list aviailable 列出软件仓库中所有可以安装的软件包
list aviailable<正则表达式> 列出软件仓库中与正则表达式匹配的所有可以安装的软件包
list recent 列出最近被添加到软件仓库中的软件包
info 列出目前yum所管理的所有的软件包名称、版本和详细信息
info<软件包名> 列出指定的软件包安装情况和详细信息
info installed 列出所有已安装的软件包和详细信息
info extras 列出所有已安装但不在yum软件仓库内的软件包
info updates 列出所有可更新的软件包信息
provides<软件包> 查找提供指定内容的软件包
deplist<软件包名> 查看知道软件包的依赖关系
update 全部更新
update<软件包名> 更新指定的软件包
check-update 检查可更新的软件包
upgrade<软件包名> 更新指定的软件包
updateinfo 显示软件仓库更新信息
localupdate<软件包名> 本地更新软件包
remove<软件包名> 删除指定软件包
erase<软件包名> 从系统中删除一个或多个软件包
clean packages 清除缓存目录下的软件包
clean headers 清除缓存目录下的头文件
clean 清除缓存数据
clean all 清除缓存目录下的软件包及旧的头文件
version 显示机器或可用仓库的版本
shell 运行交互式的yum shell
history 显示yum使用历史
load-transaction 从文件名加载保存的事物
makecache 生成数据缓存
repolist 显示配置的软件仓库
resolvedep 确定哪个软件包提供了给定的依赖
distibution-synchronization 同步安装的软件包到最新版本
tar包:用户将文件和目录进行归档或压缩以做备份用。比如:将许多文件一起一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件

命令语法:tar [选项] [文件|目录]

选项 含义
-c 创建新的归档文件
-A 追加tar文件支归档
-r 追加文件至归档结尾
-t 列出归档文件的内容,查看已经备份了那些文件
-u 仅追加比归档中副本更新的文件
-x 从归档文件中释放文件
-f 使用归档文件或设备
-k 保存已经存在的文件。在还原文件时遇到相同的文件时,不会进行覆盖
-m 不要解压文件的修改时间
-M 创建多卷的归档文件,以便在几个磁盘中存放
-v 详细报告tar处理的信息
-w 每一步操作都要求确认
-C<目录> 解压缩到特定目录
-z 通过gzip过滤归档
-j 通过bzip2过滤归档
-J 通过xz过滤归档
-a 使用归档后的后缀名来决定压缩程序

例如:归档/root/abc目录,生成文件为/root/abc.tar

[root@localhost ~]# tar cvf /root/abc.tar /root/abc
tar: Removing leading `/' from member names
/root/abc
[root@localhost ~]# ls -l /root/abc.tar
-rw-r--r--. 1 root root 10240 Jul 23 18:21 /root/abc.tar

使用tar命令指定选项时可以不在选项前面输入-,比如cvf和-cvf起到作用是一样的

例2:将文件/root/abc/d添加到/root/abc.tar归档文件中

[root@localhost ~]# touch /root/abc d
[root@localhost ~]# tar rvf /root/abc.tar /root/abc/d
tar: Removing leading `/' from member names
tar: /root/abc/d: Cannot stat: Not a directory
tar: Exiting with failure status due to previous errors
[root@localhost ~]# tar tvf /root/abc.tar
-rw-r--r-- root/root 282 2019-07-17 18:20 root/abc
tar命令特殊使用:在打包或解包的同时调用其他的压缩程序,比如调用gzip、bzip2和xz等。
  • tar调用gzip

gzip是GNU组织开发的一个压缩程序,以".gz“结尾的文件就是gzip压缩的结果,与gzip想对应的解压缩程序是gunzip、tar目录中使用-z选项来调用gzip 例子:将/root/abc目录压缩成/root/abc.tar.gz文件

[root@localhost ~]# tar tvf /root/abc.tar
-rw-r--r-- root/root 282 2019-07-17 18:20 root/abc
[root@localhost ~]# tar zcvf /root/abc.tar.gz /root/abc
tar: Removing leading `/' from member names
/root/abc
[root@localhost ~]# ls -l /root/abc.tar.gz
-rw-r--r--. 1 root root 243 Jul 23 18:54 /root/abc.tar.gz
  • tar调用bzip2

bzip2是一个压缩能力更强的压缩程序,以".bz2"结尾的我呢见就是bzip2压缩的结果,与bzip相对应的解压程序是bunzip2.

tar命令中使用-j选项来调用bzip2

例子:将/root/abc目录压缩成/root/abc.tar.bz2文件

[root@localhost ~]# tar jcvf /root/abc.tar.bz2 /root/abc
tar: Removing leading `/' from member names
/root/abc
[root@localhost ~]# ls -l /root/abc.tar.bz2
-rw-r--r--. 1 root root 0 Jul 23 18:59 /root/abc.tar.bz2
  • tar调用xz

xz是一个使用LZMA压缩算法的无损数据压缩文件格式,以".xz"结尾的文件就是xz压缩的结果。tar目录中使用-J选项来调用。

例子:将/root/abc目录压缩成/root/abc/tar.xz

[root@localhost ~]# tar Jcvf /root/abc.tar.xz /root/abc
tar: Removing leading `/' from member names
/root/abc
[root@localhost ~]# ls -l /root/abc.tar.xz
-rw-r--r--. 1 root root 300 Jul 23 19:07 /root/abc.tar.xz

查看压缩文件/root/abc.tar.xz

root@localhost ~]# tar Jtvf /root/abc.tar.xz
-rw-r--r-- root/root 282 2019-07-23 18:47 root/abc

将压缩文件/root/abc.tar.xz文件解压缩出来

root@localhost ~]# tar Jxvf /root/abc.tar.xz
root/abc
-rw-r--r--. 1 root root 300 Jul 23 19:07 /root/abc.tar.xz 

查看压缩文件/root/abc.tar.xz

root@localhost ~]# tar Jtvf /root/abc.tar.xz
-rw-r--r-- root/root 282 2019-07-23 18:47 root/abc

将压缩文件/root/abc.tar.xz文件解压缩出来

root@localhost ~]# tar Jxvf /root/abc.tar.xz
root/abc


摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著

使用yum管理RPM软件包的更多相关文章

  1. Linux网络原理及基础设,yum管理RPM包

    一:ifconfig命令 1,ifconfig命令的功能:显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址. 2. 使用ifup和ifdown命令启动和停止网卡(详见linux系统管理P42 ...

  2. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  3. linux软件管理之yum管理rpm包

    YUM 使用官方源 ==================================================================================== 阿里镜像站 ...

  4. day61:Linux:权限管理&rpm软件包管理&yum工具

    目录 1.权限管理 2.rpm软件包管理 3.yum工具(联网) 权限管理 1.什么是权限? 权限主要用来约束用户能对系统所做的操作 2.为什么要使用权限? 因为系统中不可能只存在一个root用户,一 ...

  5. linux软件管理之yum管理操作软件包

    什么是rpm 1.1`RPM` 全称 `RedHat Package Manager` 缩写,由红帽开发用于软件包的安装.升级.卸载与查询. 1.2rpm包名组成部分 `RPM` 包命名以-将软件分成 ...

  6. Linux基础(4)-硬盘分区、格式化及文件系统的管理、软件包的管理、yum管理RPM包和python的源码安装

    一: 1)  开启Linux系统前添加一块大小为15G的SCSI硬盘 2)  开启系统,右击桌面,打开终端 3)  为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑 ...

  7. 第十六单元 yum管理RPM包

    yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删除组件 清除缓存 查询 课后作业 ...

  8. linux中yum与rpm区别

    一.源代码形式 1.      绝大多数开源软件都是直接以原码形式发布的 2.      源代码一般会被打成.tar.gz的归档压缩文件 3.      源代码需要编译成为二进制形式之后才能够运行使用 ...

  9. 【Linux】CentOs中yum与rpm区别

    一.源代码形式 1.      绝大多数开源软件都是直接以原码形式发布的 2.      源代码一般会被打成.tar.gz的归档压缩文件 3.      源代码需要编译成为二进制形式之后才能够运行使用 ...

  10. yum 系列(一) yum 和 rpm 常用命令

    yum 系列(一) yum 和 rpm 常用命令 一.yum 常用命令 yum 命令:http://man.linuxde.net/yum yum 是在 Fedora 和 RedHat 以及 SUSE ...

随机推荐

  1. 这问题巧了,SpringMVC 不同参数处理机制引发的思考

    这个问题非常有趣,不是SpringMVC 的问题,是实际开发中混合使用了两种请求方式暴露出来的. 问题场景 功能模块中,提供两个 Http 服务.一个是列表查询(application/json 请求 ...

  2. 补充 6-13 《关于SQL SERVER 字段类型char(n) , nchar(n) , varchar(n) , nvarchar(n)》

    今天补充一下<关于SQL SERVER 字段类型char(n) , nchar(n) , varchar(n) , nvarchar(n)>类型的区别 虽然两个字符串一样,但是定义的类型不 ...

  3. 怎样优雅地增删查改(一):从0开始搭建Volo.Abp项目

    @ 目录 项目介绍 模块化 由框架实现的 需要实现的 创建项目 创建业务模块 配置引用和依赖 配置DbContext 创建实体和Dto 配置AutoMapper 软件系统中数据库或者持久层的基本操作功 ...

  4. kubernetes(k8s):解决不在同一网段加入集群失败问题

    执行下面命令,将内外网进行映射. iptables -t nat -A OUTPUT -d 10.140.128.121 -j DNAT --to-destination 10.170.129.153 ...

  5. 使用C#编写.NET分析器(完结)

    译者注 这是在Datadog公司任职的Kevin Gosse大佬使用C#编写.NET分析器的系列文章之一,在国内只有很少很少的人了解和研究.NET分析器,它常被用于APM(应用性能诊断).IDE.诊断 ...

  6. ZEGO 即构音乐场景降噪技术解析

    随着线上泛娱乐的兴起,语聊房.在线 KTV 以及直播等场景在人们的日常生活中占据越来越重要的地位,用户对于音质的要求也越来越高,因此超越传统语音降噪算法的 AI 降噪算法应运而生,所以目前各大 RTC ...

  7. 《Among Us》火爆全球,实时语音助力派对游戏开启第二春

    今年在全球"宅经济"的影响下,社交派对类游戏意外的迎来了爆发. 8月份,<糖豆人:终极淘汰赛>突然爆火,创造了首日150万玩家.首周Steam 200万销量.单周Twi ...

  8. SQL Server 内存占用较高 - 清除缓存 或 设置内存最大占用值

    SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高 查看内存状态: DBCC Me ...

  9. debian11编译安装freeswitch

    前言 环境: 系统版本:debian 11 x86_64 FreeSWITCH版本:1.10.6 安装步骤 安装依赖(安装之前最好换apt软件源为国内的) apt install -y gnupg2 ...

  10. Windows校验文件MD5和SHA值的方法

    1.需求背景 下载或传输文件后,需要计算文件的MD5.SHA256等校验值,以确保下载或传输后的文件和源文件一致 2.校验方法 如上图所示,可以使用Windows自带的certutil命令来计算一个文 ...