Linux_软件包管理_rpm包管理_yum管理rpm包

Linux_软件包管理

1. 软件包介绍

# 简介
	与windows类似,在linux系统上也可以安装各种应用程序,或称软件包,linux下软件包分为三类
    
# 分类
	1. rpm包
        # 安装
        	预先编译打包,安装简单     
        # 特点
        	通常软件的稳定版会被官方做成rpm,所以软件版本偏低
            
	2. 源码包
    	# 安装
        	手动编译打包,安装繁琐
        # 特点
        	软件版本丰富,可选择性强
            
    3. 二进制包
    	# 安装
        	解压即可使用,安装简单
        # 特点
        	不能修改源代码

2. rpm包管理

1. rpm简介

# rpm简介
	Red-Hat Package Manager (RPM软件包管理器) 
    这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的
    在主流的linux系统上,多数软件的安装、升级、移除以及维护工作都是使用RPM软件包管理程序来完成的	

2. rpm包格式

在这里插入图片描述

3. rpm包格式示例

# 示例1
mysql-connector-odbc-5.2.5-8.el7.x86_64.rpm 

# 软件包的名称
	mysql-connector-odbc 
# 软件的版本号      
	Version:5.2.5 
# 发布版本次数      
	Release:8
# 平台
	el7.x86_64 
# 后缀名
	.rpm 

# 示例2
abrt-python-doc-2.1.11-57.el7.centos.noarch.rpm 

# 软件包的名称 
	abrt-python-doc 
# 软件的版本  
	2.1.11
# 软件编译之后的发布的次数    
	57 
# 适合的操作系统的版本     
	el7: enterprise linux Centos7   
# 适用于不同版本的CPU     
	noarch  
# 后缀名   
	.rpm       

4. RPM闭包使用的平台

redhat/centos/redora/suse 

# 查看自己当前平台 
[root@localhost ~]# uname -m 
x86_64 
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

5. 管理rpm包有两种命令

1. rpm命令
	需要自己找到rpm包,并且手动解决包的依赖性关系 
    ps:实际情况下,很难分辨缺少什么依赖包 
    
2. yum命令
	相关rpm包事先都被存放于一个仓库里,仓库包含了所有的依赖包,yum安装可以帮我们解决依赖性问题

6. RPM包获取

1. 本地的ISO镜像光盘(软件包可能存在版本偏低情况)
	# 挂载镜像有以下三种方式 
    方式1
    	[root@localhost ~]# mount /dev/cdrom /opt/ 
    方式2
    	[root@localhost ~]# mount /dev/sr0 /opt/ 
    方式3
    	[root@localhost ~]# mount -o loop /xxx.iso /opt 
    查看光盘里的rpm包 
    	[root@localhost ~]# ls /opt/Packages/ 
    
2. 自己去网上下载rpm包进行安装 

3. 联网从yum仓库里获取rpm包

3. rpm命令

1. 选项

1. 安装
	rpm -ivh <RPM包名全称> 

2. 卸载
	rpm -e <RPM包名> 

3. 升级
	rpm -Uvh <RPM包名>

4. 查询
	# 查询系统中安装的所有RPM软件包
	rpm -qa  
    
    # 检索系统中已经安装有关php的软件包
    rpm -qa | grep php  
    
    # 查询指定软件包是否已安装
    rpm -q <RPM包名>  
    # 示例
        [root@lee ~]# rpm -q zip 
        zip-3.0-11.el7.x86_64 
    
    # 查询系统中已安装包的描述信息 
    rpm -qi <RPM包名> 
    
    # 查询系统中已安装包里所包含的文件 
    rpm -ql <RPM包名> 
    
    # 查询指定软件包的所有配置文件
    rpm -qc <RPM包名>  
    # 示例
    	[root@lee ~]# rpm -qc mariadb 
        /etc/my.cnf.d/client.cnf 
        
    # 查询某个包安装的帮助文档
    rpm -qd <RPM包名> 
    # 示例
    	[root@localhost ~]# rpm -qd zlib 
        
    # 查询系统中指定文件所属的软件包    
    rpm -qf 文件路径  
    # 示例
    	[root@lee ~]# rpm -qf /usr/sbin/ifconfig 
        net-tools-2.0-0.25.20131004git.el7.x86_64 
      
    # 在上述选项的基础上加选项-p,就可以查看尚未安装的rpm包信息
    -p 
    # 示例
    	# 先卸载一下,证明本地rpm数据库中没有该包信息
    	[root@localhost ~]# rpm -e dos2unix 
        [root@localhost ~]# rpm -qip /opt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm 
        [root@localhost ~]# rpm -qlp /opt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
        [root@localhost ~]# rpm -qcp /opt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm 
        [root@localhost ~]# rpm -qdp /opt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
        
5. 额外选项
	# 不检验软件包的签名
	--nomd5  
    
    # 忽略依赖性安装软件,安装后软件有可能无法使用,最好是解决依赖性后再安装
    --nodeps  
    # 示例 忽略依赖关系
    	[root@localhost ~]# rpm -e dos2unix --nodeps  
        
    # 强制安装软件包,只有安装和升级可以强制执行    
    --force 

2. 安装

1. rpm包在本地 
[root@lee ~]# mount /dev/sr0 /opt 
[root@lee ~]# rpm -ivh /opt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm 

2. rpm来自于网络
	如果安装过程中报错:curl: (60) Peer's Certificate has expired
	请先将系统时间修改正确,然后再安装即可 
    [root@lee ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0- 2.el7.x86_64.rpm

3. 安装与依赖

[root@lee ~]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值