RPM包管理
Linux 软件包管理-RPM包
mount : 挂载
# 1.将光盘(ISO)插入光驱中
# 2.创建挂载目录
[root@www ~]# mkdir /guangqu
# 3.将光驱挂载在/guangqu目录
[root@www ~]# mount /dev/cdrom /guangqu
mount: /dev/sr0 is write-protected, mounting read-only
# 4.查看挂载情况
[root@www ~]# df -h
/dev/sr0 4.3G 4.3G 0 100% /guangqu
# 5.查看挂载的目录中所有文件
[root@www guangqu]# ll -a
total 689
drwxrwxr-x. 8 root root 2048 Nov 26 2018 .
dr-xr-xr-x. 18 root root 239 Apr 16 10:56 ..
-rw-rw-r--. 1 root root 14 Nov 26 2018 CentOS_BuildTag
-rw-r--r--. 1 root root 29 Nov 26 2018 .discinfo
drwxr-xr-x. 3 root root 2048 Nov 26 2018 EFI
-rw-rw-r--. 1 root root 227 Aug 30 2017 EULA
-rw-rw-r--. 1 root root 18009 Dec 10 2015 GPL
drwxr-xr-x. 3 root root 2048 Nov 26 2018 images
drwxr-xr-x. 2 root root 2048 Nov 26 2018 isolinux
drwxr-xr-x. 2 root root 2048 Nov 26 2018 LiveOS
drwxrwxr-x. 2 root root 663552 Nov 26 2018 Packages
drwxrwxr-x. 2 root root 4096 Nov 26 2018 repodata
-rw-rw-r--. 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 Nov 26 2018 TRANS.TBL
-rw-r--r--. 1 root root 354 Nov 26 2018 .treeinfo
GNU:GNU IS NOT UNIX
RPM:RPM Packages Manager
RPM包的长相
包名分解
## 将文件打包成rpm,当重新发布一次,发布次数会自动加1
- fpm工具
tree-1.5.3-3.el6.x86_64.rpm
包名:tree
版本:1.5.3
发布次数:3
系统:C6
架构:64位
后缀:rpm
yelp-tools-3.28.0-1.el7.noarch.rpm
包名:yelp-tools
版本号:3.28.0
发布次数:1
系统:CentOS7
架构:noarch(32位和64位都兼容)
分类 | 安装 | 版本 |
---|---|---|
rpm包 | 预先编译打包,安装简单 | 软件版本偏低 |
源码包 | 手动编译打包,安装繁琐 | 软件版本随意 |
二进制包 | 解压即可使用, 安装简单 | 不能修改源码 |
RPM包的获取途径
RPM管理命令
## rpm 安装相关命令
-i: install 安装
-v:显示详细过程
-h:显示安装进度
--test:安装之前做测试
--force:强制安装
--nodeps:忽略依赖包
## rpm 查询相关命令
-q:查询指定的包(必须接包名)
-qa:all 列出当前系统安装的所有rpm包,配合grep使用
-qc:conf 专门查找安装的服务的相关配置文件
-ql:list 列出指定安装包的相关目录
-qf:查询,该命令属于哪个包或者任意文件属于哪个RPM包
-q: --scripts:查询rpm安装前和安装后执行的脚本
-qi:查看指定rpm软件的详细信息
-qd:查看指定软件包的man帮助
-qip:查看未安装的rpm详细信息
[root@localhost Packages]# rpm -qip zip-3.0-11.el7.x86_64.rpm
-qlp:查看未安装的rpm会产生的目录
[root@localhost Packages]# rpm -qlp zip-3.0-11.el7.x86_64.rpm
## 查询hostname是哪个rpm包或者任意文件属于哪个rpm包,实际上和直接rpm -qc hostname没区别,很鸡肋
[root@twg zabbix]# rpm -qc $(rpm -qf $(which hostname))
rpm升级、卸载
-U:如果老版本存在,就升级,如果不存在就安装
-f:升级,但是老版本必须存在
[root@localhost zabbix]# rpm -Uvh zabbix-agent-3.4.9-1.el7.x86_64.rpm
warning: zabbix-agent-3.4.9-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-agent-3.4.9-1.el7 ################################# [ 50%]
Cleaning up / removing...
2:zabbix-agent-3.0.0-1.el7 ################################# [100%]
[root@localhost zabbix]# rpm -qa|grep zabbix
zabbix-agent-3.4.9-1.el7.x86_64
-e:卸载
爬取阿里源的zabbix包
使用wget 爬阿里云的rpm包 https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/(预习)
##curl获取页面,然后awk命令拼接下载包
curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/|awk -F '"' '{print "wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/" $2}'|bash