12、rpm

1.什么是rpm

由红帽开发用于软件包的安装 升级 卸载 查询

2.rpm包是什么样? 组成部分是什么样的?

zip-3.0-11.el7.x86_64.rpm #el7
zip-3.0-1. el6.x86_64.rpm #el6
yum-utils-1.1.31-50.el7.noarch.rpm #noarch

3.除了rpm包还有其他的方式:

分类 安装 版本
rpm包 预先编译打包,安装简单 软件版本偏低 >windows的exe
源码包 手动编译打包,安装繁琐 软件版本随意 >windows没有,windows是闭源的
二进制包 解压即可使用, 安装简单 >绿色软件包,解压即用

rpm也是管理rpm包的一个工具 (依赖关系)
yum只是管理rpm包的一个工具而已

4.rpm从哪里获取

1.本地的ISO镜像光盘 (软件包可能存在版本偏低情况)
2.自行联网下载rpm包进行安装-------->
3.仓库联网获取rpm包 --->yum的时候

本地 /mnt --挂载-->/dev/cdrom

[root@www.oldboyedu.com ~]# mount /dev/cdrom /mnt/
[root@www.oldboyedu.com ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 4.3G 4.3G 0 100% /mnt

5.如何使用rpm工具管理rpm软件包

5.1.安装

-i  #安装软件包 
 -v #显示安装的过程 
 -h #显示安装的进度条 
 --test #模拟演练 
 --force    #强制安装 
[root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:tree-1.6.0-10.el7 ################################# [100%]

2.安装过程中出现了依赖的情况

 [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm 
 error: Failed dependencies: 
 libxattr-tdb-samba4.so()(64bit) is needed by samba-0:4.8.3-4.el7.x86_64 
 libxattr-tdb-samba4.so(SAMBA_4.8.3)(64bit) is needed by samba-0:4.8.3-4.el7.x86_64 
 samba-common-tools = 4.8.3-4.el7 is needed by samba-0:4.8.3-4.el7.x86_64 
 samba-libs = 4.8.3-4.el7 is needed by samba-0:4.8.3-4.el7.x86_64 

 1.尝试安装依赖包samba-common-tools 
 [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-common-tools-4.8.3-4.el7.x86_64.rpm 
 error: Failed dependencies: 
 samba-libs = 4.8.3-4.el7 is needed by samba-common-tools-0:4.8.3-4.el7.x86_64 

 2.尝试安装依赖包samba-libs 
 [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/pytalloc-2.1.13-1.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:pytalloc-2.1.13-1.el7 ################################# [100%] 

 3.安装samba-libs [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-libs-4.8.3-4.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:samba-libs-0:4.8.3-4.el7 ################################# [100%] 

 4.安装samba-common-tools [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-common-tools-4.8.3-4.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:samba-common-tools-0:4.8.3-4.el7 ################################# [100%] 

 5.安装samba [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm Preparing... ################################# [100%] 
 Updating / installing... 
 1:samba-0:4.8.3-4.el7 ################################# [100%] 
 ------------------------------------rpm软件包依赖太强了......通常使用yum来解决

3.如何使用rpm安装互联网上面的软件包(没有依赖)

[root@www.oldboyedu.com ~]# rpm -ivh  https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

5.2.卸载

[root@www.oldboyedu.com ~]# rpm -e tree
 [root@www.oldboyedu.com ~]# rpm -qa zabbix-agent zabbix-agent-4.0.0-2.el7.x86_64 [root@www.oldboyedu.com ~]# rpm -e zabbix-agent-4.0.0-2.el7.x86_64 
 [root@www.oldboyedu.com ~]# rpm -qa zabbix-agent

5.3.升级

wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm 
 wget https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.0-1.el7.x86_64.rpm 

 1.先安装低版本 
 [root@www.oldboyedu.com ~]# rpm -ivh zabbix-agent-3.0.9-1.el7.x86_64.rpm 

 2.尝试安装高版本(会出现错误) 
 [root@www.oldboyedu.com ~]# rpm -ivh zabbix-agent-4.2.0-1.el7.x86_64.rpm 

 3.使用升级的方式,完美解决替换 
 [root@www.oldboyedu.com ~]# rpm -Uvh zabbix-agent-4.2.0-1.el7.x86_64.rpm 
 warning: /var/tmp/rpm-tmp.saqeVO: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Preparing... ################################# [100%] 
 Updating / installing... 
 1:zabbix-agent-4.2.0-1.el7 ################################# [ 50%] 
 Cleaning up / removing... 
 2:zabbix-agent-3.0.9-1.el7 ################################# [100%]

5.4.查看软件安装的路径,或者其他....

 选项           描述 
 rpm -q      查看指定软件包是否安装 
 [root@www.oldboyedu.com ~]# rpm -q vsftpd ** 
 package vsftpd is not installed 

 rpm -qa    查看系统中已安装的所有RPM软件包列表 
 [root@www.oldboyedu.com ~]# rpm -qa|grep "samba"  #列出所有的rpm包,然后筛选名称是samba的相关包 **** 
 samba-common-tools-4.8.3-4.el7.x86_64 
 samba-common-libs-4.8.3-4.el7.x86_64 
 samba-common-4.8.3-4.el7.noarch 
 samba-libs-4.8.3-4.el7.x86_64 
 samba-client-libs-4.8.3-4.el7.x86_64 
 samba-4.8.3-4.el7.x86_64 
 [root@www.oldboyedu.com ~]# rpm -qa samba #明确知道软件包的名称,在进行查找 
 samba-4.8.3-4.el7.x86_64 

rpm -ql 查询指定软件包所安装的目录、文件列表,存放的位置    ***** 
rpm -qc 查询指定软件包的所有配置文件  ***** 

rpm -qf 查询文件或目录属于哪个RPM软件    ***(只能查询已存在的命令或已存在的文件路径) [root@www.oldboyedu.com ~]# rpm -qf /bin/cd bash-4.2.46-31.el7.x86_64 
 [root@www.oldboyedu.com ~]# rpm -qf /bin/cp coreutils-8.22-23.el7.x86_64 

 [root@www.oldboyedu.com ~]# yum provides mkpasswd #更好的解决方案 

 rpm -qi    查看指定软件的详细信息 * 
 [root@www.oldboyedu.com ~]# rpm -qi samba 

 1.rpm安装 卸载 升级 查询****** 
 PS: rpm软件包存在依赖的问题,使用RPM工具解决起来太繁琐




原文地址:https://www.cnblogs.com/Forever-x/p/5fc1143cfd8e308a829bfd6e7cba6bc0.html