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. Hugging News #0616: 有几项非常重要的合作快来围观、最新中文演讲视频回放发布!

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  2. C++ 核心指南之资源管理(下)—— 智能指针最佳实践

    C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup.Herb Sutter 等顶尖 C+ 专家创建的一份 C++ 指南.规则及最佳实践.旨在帮助大家正确 ...

  3. BitLocker加密过程中断断电,能否恢复数据?

    BitLocker是Windows系统提供的磁盘加密功能,用户自己可以手动开启.在访问受BitLocker保护的磁盘分区时,需要先提供正确的密码.秘钥或是BEK文件.如果使用BitLocker将系统盘 ...

  4. 【调制解调】SSB 单边带调幅

    说明 学习数字信号处理算法时整理的学习笔记.同系列文章目录可见 <DSP 学习之路>目录,代码已上传到 Github - ModulationAndDemodulation.本篇介绍 SS ...

  5. http请求其他接口的utils

    首先在pom中加入 关于http需要的jar包 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcor ...

  6. 【转载】Linux虚拟化KVM-Qemu分析(九)之virtio设备

    原文信息 作者:LoyenWang 出处:https://www.cnblogs.com/LoyenWang/ 公众号:LoyenWang 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者 ...

  7. react项目中使用plop

    第一步,安装依赖 npm install plop --dev //或者用yarn yarn add plop --dev 第二步,在package同级目录下新建plopfile.js 这是plop的 ...

  8. [爬虫]3.4.1 Scrapy框架的基本使用

    Scrapy是一款强大的Python网络爬虫框架,它可以帮助你快速.简洁地编写爬虫程序,处理数据抓取.处理和存储等复杂问题. 1. 安装Scrapy 在开始使用Scrapy之前,你需要先将其安装在你的 ...

  9. 没有显示器可用的电脑找IP

    一台在手边没有显示器可用的电脑找IP记录 问题 老大给我一台服务器(在我前面的工位)让我自己玩,但是不知道IP地址,我本来想用自己的显示器连上,结果两个DHMI口试过都没反应,不知道ip地址就没法连上 ...

  10. Angular:error TS2717: Subsequent property declarations must have the same type. Property 'contentRect' mu st be of type 'DOMRectReadOnly', but here has type 'DOMRectReadOnly'.

    解决方案 在tsconfig.json的compilerOptions选项中添加如下内容"skipLibCheck": true. 如下图所示 之后重新启动项目. 如下图启动成功