使用yum管理RPM软件包
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软件包的更多相关文章
- Linux网络原理及基础设,yum管理RPM包
一:ifconfig命令 1,ifconfig命令的功能:显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址. 2. 使用ifup和ifdown命令启动和停止网卡(详见linux系统管理P42 ...
- linux基础-第十六单元 yum管理RPM包
第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...
- linux软件管理之yum管理rpm包
YUM 使用官方源 ==================================================================================== 阿里镜像站 ...
- day61:Linux:权限管理&rpm软件包管理&yum工具
目录 1.权限管理 2.rpm软件包管理 3.yum工具(联网) 权限管理 1.什么是权限? 权限主要用来约束用户能对系统所做的操作 2.为什么要使用权限? 因为系统中不可能只存在一个root用户,一 ...
- linux软件管理之yum管理操作软件包
什么是rpm 1.1`RPM` 全称 `RedHat Package Manager` 缩写,由红帽开发用于软件包的安装.升级.卸载与查询. 1.2rpm包名组成部分 `RPM` 包命名以-将软件分成 ...
- Linux基础(4)-硬盘分区、格式化及文件系统的管理、软件包的管理、yum管理RPM包和python的源码安装
一: 1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑 ...
- 第十六单元 yum管理RPM包
yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删除组件 清除缓存 查询 课后作业 ...
- linux中yum与rpm区别
一.源代码形式 1. 绝大多数开源软件都是直接以原码形式发布的 2. 源代码一般会被打成.tar.gz的归档压缩文件 3. 源代码需要编译成为二进制形式之后才能够运行使用 ...
- 【Linux】CentOs中yum与rpm区别
一.源代码形式 1. 绝大多数开源软件都是直接以原码形式发布的 2. 源代码一般会被打成.tar.gz的归档压缩文件 3. 源代码需要编译成为二进制形式之后才能够运行使用 ...
- yum 系列(一) yum 和 rpm 常用命令
yum 系列(一) yum 和 rpm 常用命令 一.yum 常用命令 yum 命令:http://man.linuxde.net/yum yum 是在 Fedora 和 RedHat 以及 SUSE ...
随机推荐
- 这问题巧了,SpringMVC 不同参数处理机制引发的思考
这个问题非常有趣,不是SpringMVC 的问题,是实际开发中混合使用了两种请求方式暴露出来的. 问题场景 功能模块中,提供两个 Http 服务.一个是列表查询(application/json 请求 ...
- 补充 6-13 《关于SQL SERVER 字段类型char(n) , nchar(n) , varchar(n) , nvarchar(n)》
今天补充一下<关于SQL SERVER 字段类型char(n) , nchar(n) , varchar(n) , nvarchar(n)>类型的区别 虽然两个字符串一样,但是定义的类型不 ...
- 怎样优雅地增删查改(一):从0开始搭建Volo.Abp项目
@ 目录 项目介绍 模块化 由框架实现的 需要实现的 创建项目 创建业务模块 配置引用和依赖 配置DbContext 创建实体和Dto 配置AutoMapper 软件系统中数据库或者持久层的基本操作功 ...
- kubernetes(k8s):解决不在同一网段加入集群失败问题
执行下面命令,将内外网进行映射. iptables -t nat -A OUTPUT -d 10.140.128.121 -j DNAT --to-destination 10.170.129.153 ...
- 使用C#编写.NET分析器(完结)
译者注 这是在Datadog公司任职的Kevin Gosse大佬使用C#编写.NET分析器的系列文章之一,在国内只有很少很少的人了解和研究.NET分析器,它常被用于APM(应用性能诊断).IDE.诊断 ...
- ZEGO 即构音乐场景降噪技术解析
随着线上泛娱乐的兴起,语聊房.在线 KTV 以及直播等场景在人们的日常生活中占据越来越重要的地位,用户对于音质的要求也越来越高,因此超越传统语音降噪算法的 AI 降噪算法应运而生,所以目前各大 RTC ...
- 《Among Us》火爆全球,实时语音助力派对游戏开启第二春
今年在全球"宅经济"的影响下,社交派对类游戏意外的迎来了爆发. 8月份,<糖豆人:终极淘汰赛>突然爆火,创造了首日150万玩家.首周Steam 200万销量.单周Twi ...
- SQL Server 内存占用较高 - 清除缓存 或 设置内存最大占用值
SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,所以SQL Server 服务器内存往往会占用很高 查看内存状态: DBCC Me ...
- debian11编译安装freeswitch
前言 环境: 系统版本:debian 11 x86_64 FreeSWITCH版本:1.10.6 安装步骤 安装依赖(安装之前最好换apt软件源为国内的) apt install -y gnupg2 ...
- Windows校验文件MD5和SHA值的方法
1.需求背景 下载或传输文件后,需要计算文件的MD5.SHA256等校验值,以确保下载或传输后的文件和源文件一致 2.校验方法 如上图所示,可以使用Windows自带的certutil命令来计算一个文 ...