使用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密钥

[[email protected] ~]# 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内容如下

[[email protected] ~]# mkdir /root/yum.repos.d
[[email protected] ~]# vi /root/yum.repos.d/rhel.repo
[[email protected] ~]# cat /root/yum.repos.d/rel.repo
cat: /root/yum.repos.d/rel.repo: No such file or directory
[[email protected] ~]# 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

[[email protected] ~]# tar cvf /root/abc.tar /root/abc
tar: Removing leading `/‘ from member names
/root/abc
[[email protected] ~]# 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归档文件中

[[email protected] ~]# touch /root/abc d
[[email protected] ~]# 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
[[email protected] ~]# 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文件

[[email protected] ~]# tar tvf /root/abc.tar
-rw-r--r-- root/root       282 2019-07-17 18:20 root/abc
[[email protected] ~]# tar zcvf /root/abc.tar.gz /root/abc
tar: Removing leading `/‘ from member names
/root/abc
[[email protected] ~]# 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文件

[[email protected] ~]# tar jcvf /root/abc.tar.bz2 /root/abc
tar: Removing leading `/‘ from member names
/root/abc
[[email protected] ~]# 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

[[email protected] ~]# tar Jcvf /root/abc.tar.xz /root/abc
tar: Removing leading `/‘ from member names
/root/abc
[[email protected] ~]# 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

[email protected] ~]# 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实用教程》人民邮电出版社出版发行 於岳编著

原文地址:https://www.cnblogs.com/mylive/p/11235558.html

时间: 2024-10-11 07:03:15

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

Linux基础之rpm软件包、yum管理rpm软件包

RPM就是Red Hat Package Manger(红帽软件包管理工具)的缩写. rpm的文件名分为5部分,其中: 第1部分是name,表示这个rpm软件包的名称: 第2部分是version,表示这个rpm软件包的版本编号: 第3部分是release,表示这个rpm软件包的版本发布次数(修正号码): 第4部分是architectures,表示这个rpm软件包适用于哪些平台: 最后一部分是rpm,表示这个rpm软件包的文件扩展名. rpm软件安装与移除工作中经常使用的选项: –i:安装(Ins

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

一:ifconfig命令 1,ifconfig命令的功能:显示所有正在启动的网卡的详细信息或设定系统中网卡的IP地址. 2. 使用ifup和ifdown命令启动和停止网卡(详见linux系统管理P424)1) 掌握ifup命令的功能:启动系统上指定的网卡.2) 掌握ifdown命令的功能:停止系统上指定的网卡.3) 掌握使用ifup命令启用指定网卡的举例:例如:启动eth0网卡的命令:ifup eth04) 掌握使用ifdown命令停用指定网卡的举例:只能作用于配置文件例如:停用eth0网卡的命

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

第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删除组件 清除缓存 查询 课后作业 [本节内容]1. yum的功能:yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装.升级等等工作.2. 掌握光盘挂载和镜像挂载a) 光盘挂载mount /dev/sr0 挂载点或者

yum管理RPM包.作业

1) 以最小化开启Linux系统 2) 配置本地yum 3) 安装vim 4) 清除yum缓存 5) 安装组件"KDE 桌面"

linux中yum与rpm区别

linux中yum与rpm区别: 一.源代码形式 1.      绝大多数开源软件都是直接以原码形式发布的 2.      源代码一般会被打成.tar.gz的归档压缩文件 3.      源代码需要编译成为二进制形式之后才能够运行使用 4.      源代码基本编译流程: 1).configure 检查编译环境: 2)make对源代码进行编译: 3)make insall 将生成的可执行文件安装到当前计算机中 二.RPM 1.源代码形式的特点:操作复杂.编译时间长.极易出现问题.依赖关系复杂 2

Linux软件包管理{rpm|yum|源码包}2015082901

CentOS软件包管理 Linux程序安装有三种方式: 1.  二进制包安装 a.RPM b.YUM 2.  源码包安装 (1)二进制包管理: RPM CentOS上的二进制包为rpm格式,并且rpm软件包管理程序也叫做rpm(RPM is Package Manager) RPM包管理方式的优点是:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程.此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息至数据库中(/var/lib/rpm),这样方便了软件日后的

linux下系统软件包管理(rpm、yum、源码包安装)

1. rpm工具rpm全称为Redhat Package Manager,红帽软件包管理工具,设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的. rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm,abrt-cli是包名,2.0.8-15是版本号,el6指的是redhat企业版6,centos指的是这是在centos上用的,i686指的是平台类型.有些rpm包并没有写具体的平台而是noarch,这代表这个

五、软件包管理RPM与YUM

5.1.程序包管理器 程序包管理器的基本功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装.卸载.查询.升级和校验等管理操作:其文件组成一般可以分为两类: 1).程序的组成组成清单 (每个包独有):文件清单. 安装或卸载时运行的脚本2).数据库(公共):程序包名称及版本.依赖关系:功能说明:安装生成的各文件的文件路径及校验码信息:软件包的组成部分. 软件包安装后,一般分布到如下一些目录: RPM 全名是『RedHat Package Manager ,R

Linux软件管理之源代码以及RPM软件包管理与YUM软件包管理

在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式 一.源代码形式 首先我们先来看一下源代码的方式.我们知道,在开源的环境下,大多数的开源软件都是以源代码的形式来发布,通常将源代码打包成tar.gz的归档压缩文件发布到网上供我们下载使用.但是我们下载下来的源代码方式我们还不能够直接使用,不像在windows系统上直接下载下来可执行的二进制文件,我们需要将下载好的源码编译成可执行的二进制文件才能运行使用,源代码形式安装流程一般如下: ①./co