三种安装方式;
rpm包安装
源码包安装
二进制包安装
一,使用rpm工具安装rpm软件包
安装软件包 -i
显示安装过程 -v
显示安装进度条 -h
1.安装rpm包
[root@xuliangwei ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
[root@xuliangwei ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
2.安装互联网上的rpm包(没有依赖)
[root@oldboy ~]# rpm -ivh /mnt/Packages/unixODBC-2.3.1-11.el7.x86_64.rpm
[root@oldboy ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
3.安装软件包,有依赖关系 ( 很麻烦 )
rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm
ps: rpm安装A软件,如果该软件依赖了B软件,必须先安装B,C。才能安装A软件。
选择使用yum来安装( 自动处理依赖关系 )
yum仅仅负责安装软件。至于后续查询软件安装在哪,或者软件安装与否 ,都可以使用rpm命令来实现。(配合使用)
2.升级rpm包
rpm -Uvh xx.rpm
安装 zabbix-agent3.0 升级 zabbix-agent4.0
1.检查软件包zabbix-agent3.0安装了没有
[root@oldboy ~]# rpm -qa zabbix-agent
zabbix-agent-3.0.0-1.el7.x86_64
2.希望升级到zabbix-agent4.0,首先要找到zabbix-agent4.0的包,然后进行升级
[root@oldboy ~]#
[root@oldboy ~]# wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
[root@oldboy ~]# rpm -Uvh zabbix-agent-4.0.0-2.el7.x86_64.rpm
准备中… ################################# [100%]
正在升级/安装…
1:zabbix-agent-4.0.0-2.el7 ################################# [ 50%]
正在清理/删除…
2:zabbix-agent-3.0.0-1.el7 ################################# [100%]
3.检查升级后的版本
[root@oldboy ~]# rpm -qa zabbix-agent
zabbix-agent-4.0.0-2.el7.x86_64
3.卸载rpm包
( 不太建议生产环境执行卸载操作 )
[root@oldboy ~]# rpm -e zabbix-agent #卸载软件(清理对应的文件)
[root@oldboy ~]# rpm -qa zabbix-agent #检查是否已卸载
4.查询rpm包
选项 描述
rpm -q 查看指定软件包是否安装
[root@oldboy ~]# rpm -q zabbix-agent
zabbix-agent-4.0.0-2.el7.x86_64
rpm -qa 查看系统中已安装的所有RPM软件包列表
[root@oldboy ~]# rpm -qa zabbix-agent
zabbix-agent-4.0.0-2.el7.x86_64
查多个包(不太记得包名时)
[root@oldboy ~]# rpm -qa | grep -E "zabbix-agent|bash"
bash-completion-2.1-6.el7.noarch
zabbix-agent-4.0.0-2.el7.x86_64
bash-4.2.46-30.el7.x86_64
rpm -qi 查看指定软件的详细信息
[root@oldboy ~]# rpm -qi zabbix-agent
rpm -ql 查询指定软件包所安装的目录、文件列表
[root@oldboy ~]# rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
.....
rpm -qc 查询指定软件包的配置文件
[root@oldboy ~]# rpm -qc zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
rpm -qf 查询文件或目录属于哪个RPM软件 rpm $(which ) ; yum provides
[root@oldboy ~]# which wget
/usr/bin/wget
[root@oldboy ~]# rpm -qf /usr/bin/wget
wget-1.14-15.el7_4.1.x86_64
rpm -qf 有一个弊端: 只能查看系统中已经存在的命令和文件—>对应的软件包?
当真正要查询一个系统中不存在的命令,或文件,我们会选择使用 yum provides 去查询
[root@oldboy ~]# yum provides chattr
总结下rpm牵扯到哪些相关的参数:
rpm
选项:
-ivh 安装一个rpm包,并显示详细信息,同时打印安装的进度条
-Uvh 升级一个rpm包,并显示详细信息,同时打印安装的进度条 (如果软件不存在则按安装操作)
(提供软件名称即可,不用带软件的版本号之类的)
-e 卸载软件包
-q 查询软件包
-qa 查询所有已安装的软件包
-ql 查询软件的存放路径 (所以的文件)
-qc 查询软件的配置文件
-qf 查询系统中已存在的命令或者文件 所属那个rpm包提供
扩展
[root@testvm02 ~]# rpm -q ghostscript #查看对应的rpm包.
ghostscript-8.70-19.el6.x86_64
[root@testvm02 ~]# rpm -qR ghostscript #R的意思就是requires就是依赖哪些软件包.