软件包的安装方式
分类 | 安装 | 版本 |
---|---|---|
rpm包 | 预先编译打包,安装简单 | 软件版本偏低,(依赖包问题难解决) |
源码包 | 手动编译打包,安装繁琐 | 软件版本随意 |
二进制包 | 解压即可使用, 安装简单 | 不能修改源码 |
RPM(RedHat Package Manager)
RPM介绍
RPM(软件包管理器)
是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM
扩展名的文件,与Dpkg
类似。
RPM的安装时
RPM包命名规则
name: 软件包名称
version: 版本号
count:该版本的编译发布次数
release: 发布版本 el6, el7
arch: 支持的CPU架构,可以为 i386(i686) / x86_64 / noarch(兼容前两者,即32位与64位)
RPM包获取途径
1.阿里云镜像/华为源/网易源
2.各种软件包的官方网站
3.光盘镜像
RPM命令
rpm #基于本地的rpm包进行管理
-i # 安装(install)
-v # 详细过程(verbose)
-h # 在安装过程中显示哈希标记进度条,配合-v使用(hash标记即#)
-e # 卸载(erase)
-U # 升级(update)
-q # 查看指定软件包是否安装,后面加RPM报名(query)
-qa # 查看系统中已安装的所有RPM软件包(query all)
-qi # 查看指定软件的详细信息(query information)
-ql # 列出指定软件的安装目录和文件(query list)
-qc # 查询指定软件的配置文件(query config)
-qd # 查看指定软件的帮助文档(query documentation file)
-qf # 查询目录或文件属于哪个RPM软件包(query file)
# 一些示例
# 联网下载mongodb这个软件,版本号为3.0.0
[root@wqh06 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-mongos-3.0.0-1.el7.x86_64.rpm
# 将mongodb这个软件版本升级为4.0.0
[root@wqh06 ~]# rpm -Uvh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-mongos-4.0.0-1.el7.x86_64.rpm
# 查询命令属于哪个软件包(效果和rpm -qf相同)
[root@wqh06 ~]# rpm -q --file /etc/hosts
setup-2.8.71-10.el7.noarch
# 查看命令属于哪个软件包,前提必须使用绝对路径查询,本地必须要有这个命令
[root@wqh06 ~]# rpm -qf `which ifconfig`
net-tools-2.0-0.25.20131004git.el7.x86_64
# 查询指定的软件包是否安装
[root@wqh06 ~]# rpm -q httpd
httpd-2.4.6-88.el7.centos.x86_64
[root@wqh06 ~]# rpm -q samba
package samba is not installed
# 查询所有的已安装的软件包
[root@wqh06 ~]# rpm -qa | grep tree
tree-1.6.0-10.el7.x86_64
# 查询跟软件包相关的目录和文件
[root@wqh06 ~]# rpm -ql httpd
# 查看一个软件的相关配置文件
[root@wqh06 ~]# rpm -qc httpd
# 显示软件包的本身相关信息
[root@wqh06 ~]# rpm -qi httpd
# 显示某个软件包的相关命令
[root@wqh06 ~]# rpm -ql $(rpm -qf /etc/hostname)| egrep ‘/usr/sbin/|/usr/bin/‘
# 爬取zabbix的全部rpm包
// 用awk命令
[root@wqh06 ~]# 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}‘|grep ‘.rpm‘|bash
// 用sed命令
[root@wqh06 zabbix]# curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ | sed -nr ‘s#.*="(.*)".*#wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/\1#gp‘ | grep ‘rpm‘ |bash
// 用 awk -F ‘["]+‘ ‘$2~/rpm/‘ 替换掉 grep ‘.rpm‘ ,(精确找出需要下载的href连接的行)
[root@wqh06 zabbix]# curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ | awk -F ‘["]+‘ ‘$2~/rpm/‘| awk -F ‘["]‘ ‘{print "wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/"$2}‘|bash