RPM包和YUM仓库管理
1.RPM包管理
RPM
RPM Package Manger,前身Redhat Package Manger,由红帽开发用于软件包的安装升级卸载与查询
有一个完整的数据库体系,每个RPM包的所有信息都固定保存到指定的位置
源码
最原始代码,最新的版本,功能、bug
软件包管理
分类 安装 版本
RPM 预先编译打包,安装简单 软件版本偏低
源码 手动编译打包,安装复杂 软件版本随意
二进制 解压即可使用,安装简单 不能修改源码
2.常见的软件包
注意:不管是源码包,还是二进制包,安装时都可能会有依赖关系!
系统平台 包类型 工具 自动解决依赖
RedHat/Centos RPM rpm yum
Ubuntu/Debian DPKG dpkg apt
3.RPM获取路径
1.RedHat光盘或官方网站
2.RPM查询官网网站
3.Nginx软件官方网站
4.RPM软件包命名规则
RPM包命名以-将软件分成了若干部分bash-4.2.46-28.e17.x86_64.rpm
name:软件包名称
version:版本号,主版本,重大更新,次版本,子功能更新,修订号,修复bug
release:发布版本el6,el7(hostnamectl)
arch:系统平台
rpm包的组成:
安装释放的文件
软件包的元数据(版本,发布号,架构,描述,要求,更改日志等)
脚本:安装前执行的脚本和安装后的脚本
5.查看系统光驱中RPM软件包
如果你的系统中还有系统的安装盘,首先我们让虚拟机链接上我们的系统安装盘,然后我们可以通过mount /dev/cdrom /mnt/命令把光驱
挂载到/mnt目录下,那么你会在/mnt/Packages目录下看到很多.rpm的文件。
[root@xiaoming ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@xiaoming ~]# ls /mnt/
CentOS_BuildTag EULA LiveOS RPM-GPG-KEY-CentOS- TRANS.TBL isolinux
EFI GPL Packages RPM-GPG-KEY-CentOS-Testing- images repodata
[root@xiaoming ~]# ls /mnt/Packages/ | head
GeoIP-1.5.-.el7.x86_64.rpm
ModemManager-glib-1.6.-.el7_6.x86_64.rpm
NetworkManager-1.18.-.el7.x86_64.rpm
...
RPM包安装
使用rpm命令安装软件包,需要了解如下参数:
-i:安装
-v:详细安装
-h:安装进度
//安装软件吧,需要指定软件包的绝对路径
[root@xiaoming Packages]# rpm -ivh /mnt/Packages/sg3*
warning: /mnt/Packages/sg3_utils-1.37-.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:sg3_utils-libs-1.37-.el7 ################################# [ %]
:sg3_utils-1.37-.el7 ################################# [%]
preparing:准备过程
检查软件包的依赖关系
只要安装软件包中有依赖关系,且没有找到所依赖的软件包,停止安装
检查软件包是否已安装
只要检测安装软件包中有一个已经安装了,就停止安装 //如果软件包已安装,强制再次安装
[root@xiaoming Packages]# rpm -ivh --force /mnt/Packages/sg3*
warning: /mnt/Packages/sg3_utils-1.37-.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [%]
Updating / installing...
:sg3_utils-libs-1.37-.el7 ################################# [ %]
:sg3_utils-1.37-.el7 ################################# [%]
--nodeps
忽略依赖关系(不建议)
--force
强制覆盖安装
覆盖安装过程中,如果软件自带文件都存在,安装过程中不会将这些文件重新覆盖 RPM包查询
rpm -q //查看指定软件包是否安装 ***
rpm -qa //查看系统中已安装的所有RPM软件包列表 *****
[root@xiaoming Packages]# rpm -qa | wc -l [root@xiaoming ~]# rpm -qa vim*
vim-common-7.4.-.el7.x86_64
vim-minimal-7.4.-.el7.x86_64
vim-filesystem-7.4.-.el7.x86_64
vim-enhanced-7.4.-.el7.x86_64 rpm -qi //查看指定软件的详细信息
rpm -ql //查询指定软件包所安装的目录、文件列表 ***
rpm -qc //查询指定软件包的配置文件
rpm -qd //查询指定软件包的帮助文档
rpm -qf //查询文件或目录属于哪个RPM软件 *****
[root@xiaoming Packages]# rpm -qf `which mount`
util-linux-2.23.-.el7.x86_64 rpm -q --scripts //查询rpm包安装前和安装后执行的脚本 //查询未安装的软件包信息
rpm -qip //查询未安装的rpm的详细信息
rpm -qlp //查询未安装的软件包会产生哪些文件 //查询未安装的软件会产生哪些文件
[root@xiaoming ~]#rpm -qlp /mnt/Packages/shadow-utils-4.6-.el7.x86_64.rpm //查询未安装的rpm的详细信息
[root@xiaoming ~]# rpm -qip /mnt/Packages/shadow-utils-4.6-.el7.x86_64.rpm RPM升级
-U 如果老版本不存在,就全新安装,如果存在有新版即升级
-F 老版本必须存在 //如果有新版则升级,软件升级不要跨操作系统主版本号
[root@xiaoming ~]# rpm -Uvh /mnt/Packages/ustr-1.0.-.el7.x86_64.rpm
warning: /mnt/Packages/ustr-1.0.-.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [%]
package ustr-1.0.-.el7.x86_64 is already installed
RPM卸载
卸载包时需要先把依赖的包卸载掉,如果依赖的包时系统必须的,那就不能卸载这个包,否则会造成系统崩溃
-e
RPM包校验
软件相关的数据库存放于/var/lib/rpm目录
S //文件的容量大小是否被改变
M //文件的类型或者文件的属性是否被修改
5 //MD5这一种指纹加密的内容已经不同
D //装置的主/次代码已经改变
L //路径已经被改变
U //文件的所属主已被修改
G //文件的所属组已被修改
T //文件的创建时间已被修改
RPM包小结
如何查询util-linux软件包安装了哪些文件?
[root@xiaoming ~]# rpm -qa util-linux*
util-linux-2.23.2-61.el7.x86_64
如何查询mkdir命令是由哪个RPM软件包安装的
[root@xiaoming ~]# rpm -qf `which mkdir`
coreutils-8.22-24.el7.x86_64
安装.rpm软件包时,-i、-U、-F选项有何区别
-i 安装软件包,必须之前没有任何版本
-U 升级安装软件包,之前可有可无
-F 刷新安装软件包,必须有之前版本
YUM软件仓库管理
yum
yellowdog update modify
yum是基于RPM包管理,能够自动解决依赖关系,极大的方便rpm包的安装升级
1.联网获取软件
2.基于RPM管理
3.自动解决依赖
4.命令简单好记
5.生产最佳实践
YUM软件仓库管理
本地YUM仓库
有时候你的linux系统不能联网,当然就不能很便捷的使用联网的yum源了,这时候就需要你自己会利用linux光盘制作一个yum源。具体步骤如下:
.挂载镜像
[root@xiaoming ~]# mount /dev/cdrom /mnt .备份原有仓库
[root@xiaoming ~]# gzip /etc/yum.repos.d/* [root@xiaoming ~]# mkdir /etc/yum.repos.d/backup
[root@xiaoming ~]# cp /etc/yum.repos.d/*.gz /etc/yum.repos.d/backup/ 3.创建新仓库文件,并加入如下内容: 手动添加repo配置文件
[root@xiaoming yum.repos.d]# vim mnt.repo [local]
name=this is local repo
baseurl=file:///mnt
enabled=1
gpgcheck=0 [] //仓库名称
name //仓库描述信息
baseurl //YUM源url地址,可以是file://
enabled //是否激活该YUM源(0代表禁用,1代表允许)
gpgcheck //安装软件时是否检查签名(0代表禁用,1代表允许) 4.刷新repos生成缓存
[root@xiaoming yum.repos.d]# yum clean all
[root@xiaoming yum.repos.d]# yum makecache
缺点:软件版本较低 2.软件不全 3.光驱读速慢
临时使用
网络YUM源仓库
官方网络YUM源配置
阿里镜像站点。https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.53322f70WwceaG
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo EPEL扩展源 //国外epel源
[root@xiaoming ~]# yum -y install epel-release //阿里云epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
https://developer.aliyun.com/mirror
官方YUM源仓库
//Nginx官方源
cat >/etc/yum.repos.d/nginx.repo<<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
mysql官方库
创建mysql官方库
yum install -y https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
yum makecache
zabbix官方库
创建zabbix官方库
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
openstack官方库
yum install centos-release-openstack-pike
yum install https://rdoproject.org/repos/rdo-release.rpm
企业部署服务器的流程:
1.最小化安装操作系统
2.部署网络库和官方库
3.更新内核
yum update
RPM包和YUM仓库管理的更多相关文章
- 如何将自定义RPM包加入YUM
1 前言 在很多时候进行编译了自己的RPM包,在搭建YUM的时候,希望将自定义的RPM加入到YUM源中,从而出现了下列方法. 2. 将RPM包加入YUM源 2.1 查看目前repodata位置 YUM ...
- Linux学习之RPM包管理-yum管理(十七)
Linux学习之RPM包管理-yum管理 目录 IP地址配置 网络yum源 yum命令 光盘yum源搭建 IP地址配置 IP+子网掩码就可以在局域网(内网)使用. IP+子网掩码+网关+DNS就可以访 ...
- RPM包安装——yum安装
RPM包安装 yum安装 yum源文件解析 yum源文件保存在/etc/yum.repos.d/目录中,文件的扩展名一定是".repo",也就是说yum源文件配置只要是扩展名.re ...
- linux的软件管理的rpm包和yum配置加tar解压包和安装编译./configuer
软件管理 rpm包 和yum 1.软件形式 Linux系统的第三方软件,无论是应用软件还是工具软件,大多以以下两种形式之一发行: 源代码形式 预编译形式 获取的源代码形式的软件,需要对其 ...
- CentOS 下 rpm包与 yum 安装与卸载
rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安 ...
- rpm包与 yum 安装与卸载
rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安 ...
- 软件包管理:rpm包管理-yum在线管理-IP地址配置和网络yum源
只需告诉系统你想安装那个包,剩下的所有依赖问题yum都会解决. 有些情况下不能上网,但可以使用光盘. centos的yum是免费的.redhatyum付费. yum管理的其实同样是rpm包.并没有yu ...
- 常见rpm包和yum包命令
1.rpm包 在 安装.升级.卸载服务程序时要考虑到其他程序.库的依赖关系,在进行校验.安装. 卸载.查询.升级等管理软件操作时难度都非常大. RPM 机制则为解决这些问题而设计的.RPM 有点像 W ...
- linux rpm包管理 yum管理
1. 软件包的管理 RPM的定义:RPM就是Red Hat Package Manger(红帽软件包管理工具)的缩写. RPM包不需要编译,本身就是二进制,而源码包需要先编译成系统识别的二进制文件,才 ...
随机推荐
- XML--XML Schema Definition(三)
参考 http://www.w3school.com.cn/schema/index.asp XSD 复合元素 复合元素指包含其他元素及/或属性的 XML 元素. 有四种类型的复合元素: 空元素 包含 ...
- IE8Get请求中文不兼容:encodeURI的使用
IE8Get请求中文不兼容:encodeURI的使用 在开发过程中遇到在IE8下,请求出错. 后发现Get请求中含有中文字符. 使用js自带的encodeURI函数对中文进行编码,问题解决. enco ...
- 百度网盘下载神器 PanDownload v2.0.9(破解版、不限速)
一直用这个软件来下载百度网盘的东西,不限速,贼爽. 链接:https://pan.baidu.com/s/1UjF47YWd2v9x52c5sjhutQ 提取码:v9pe 也可以直接到官网下载:ht ...
- 2020牛客寒假算法基础集训营4 H坐火车
题目描述 牛牛是一名喜欢旅游的同学,在来到渡渡鸟王国时,坐上了颜色多样的火车. 牛牛同学在车上,车上有 n 个车厢,每一个车厢有一种颜色. 他想知道对于每一个正整数 $ x \in [1,\ n] $ ...
- npm全局权限设置 - Mac
网络上的常见方法 目前网络上常见的方法都是修改npm安装路径的权限 通过使用命令 npm config get prefix 得到npm的路径,结果大部分都是/usr/local.然后,很多方法都会要 ...
- Python中的常用内置对象之map对象
如果你了解云计算的最重要的计算框架Mapreduce,你就对Python提供的map和reduce对象有很好的理解,在大数据面前,单机计算愈加力不从心,分布式计算也就是后来的云计算的框架担当大任,它提 ...
- python期末考试复习
期末考试复习 补修的python跟着大一一起学,考试肯定不会出难,于是就敲了一些代码,把他们放到博客上,来记录一下 代码都是一段一段的,且python代码不是很多,所以我都写到了一个文件里,作为练习 ...
- 题解 P1019 【单词接龙】
题目 单词具体是什么不重要,知道单词间如何转化即可 [分析] 先理清一下题意: \(n\)个单词,每个单词限用两次 上一个单词能与下一个单词接上,当且仅当上一个单词的末尾 \(k\) 个字符与下一个单 ...
- 更新anaconda包
升级安装python环境后, 把老的包重新安装回去. ls -l /opt/anaconda3/lib/python3.7/site-packages/ | grep "\-info&quo ...
- mysql快速搭建从库
基于mysqldump快速搭建从库 https://blog.csdn.net/leshami/article/details/44994329 使用xtrbackup克隆从库 https://blo ...