1.RPM基本概述
-
1.什么是rpm?
rpm全称 RPM Package Manager,是由红帽开。
-
2.rpm包名组成部分:
RPM包命名以-将软件分成了若干部分bash-4.2.46-28.el7.x86_64.rpm
视图解说
-
3.Linux中除了rpm安装外其它的安装软件分别如下
分类 | 安装 | 版本 |
---|---|---|
rpm包 | 预先编译打包,安装简单 | 软件版本偏低 |
源码包 | 手动编译打包,安装繁琐 | 软件版本随意 |
二进制包 | 解压即可使用, 安装简单 | 不能修改源码 |
2.RPM使用示例
-
1.rpm包如何安装
rpm命令进行安装软件的常用参数
选项 | 描述 |
---|---|
-i | 安装rpm |
-v | 显示安装详细信息 |
-h | 显示安装rpm进度 |
首先进行挂载操作(以centos镜像挂载并使用.rpm为例)
[root@oldboy ~]# mount /dev/cdrom /mnt/
[root@oldboy ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
[root@oldboy ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:vsftpd-3.0.2-25.el7 ################################# [100%]
[root@oldboy ~]#
安装软件包, 需要指定软件包绝对路径
[root@oldboy ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
在软件包所在目录下可以不指定绝对路径
[root@oldboy ~]# cd /mnt/Packages/
[root@oldboy Packages]# rpm vsftpd-3.0.2-25.el7.x86_64.rpm
- 2.如何查询已安装好的rpm包
选项 | 描述 |
---|---|
rpm -q | 查看指定软件包是否安装 |
rpm -qa | 查看系统中已安装的所有RPM软件包列表 |
rpm -qi | 查看指定软件的详细信息 |
rpm -ql | 查询指定软件包所安装的目录、文件列表 |
rpm -qc | 查询指定软件包的配置文件 |
rpm -qf | 查询文件或目录属于哪个RPM软件 |
rpm -qip | 查询未安装的rpm包详细信息 |
rpm -qlp | 查询未安装的软件包会产生哪些文件 |
查询vsftpd这个rpm包是否安装
[root@oldboy /]# rpm -q vsftpd-3.0.2-25.el7.x86_64.rpm package vsftpd-3.0.2-25.el7.x86_64.rpm is not installed
模糊查找系统已安装的rpm包
[root@oldboy /]# rpm -qa |grep ftp
vsftpd-3.0.2-25.el7.x86_64
查询vsftpd软件包的相关信息
[root@oldboy /]# rpm -qi vsftpd
Name : vsftpd
Version : 3.0.2
Release : 25.el7
Architecture: x86_64
Install Date: Wed 14 Aug 2019 03:25:06 PM +08
Group : System Environment/Daemons
Size : 361335
License : GPLv2 with exceptions
Signature : RSA/SHA256, Mon 12 Nov 2018 10:48:54 PM +08, Key ID 24c6a8a7f4a80eb5
Source RPM : vsftpd-3.0.2-25.el7.src.rpm
Build Date : Wed 31 Oct 2018 03:45:10 AM +08
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : https://security.appspot.com/vsftpd.html
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
[root@oldboy /]#
查询rpm包所安装的文件
[root@oldboy /]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
查询rpm包相关的配置文件
[root@oldboy /]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
查询配置文件或命令来自于哪个rpm包
[root@oldboy /]# rpm -qf /etc/vsftpd/vsftpd.conf
vsftpd-3.0.2-25.el7.x86_64
[root@oldboy /]# rpm -qf /usr/sbin/vsftpd
vsftpd-3.0.2-25.el7.x86_64
查询未安装的软件包会产生哪些文件
[root@xuliangwei ~]# rpm -qlp /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm
习题:
1.如何查询 util-linux 软件包安装了哪些文件?
[root@oldboy /]# rpm -ql util-linux
2.如何查询 mkdir 命令是由哪个 RPM 软件包安装的?
[root@oldboy /]# rpm -qf /usr/bin/mkdir
coreutils-8.22-23.el7.x86_64
3.安装 .rpm 软件包时,-i、-U、选项有何区别
-i是安装 -U 是升级 一般升级为-Uvh
-
3.RPM包升级
选项 | 描述 |
---|---|
rpm -U | 如果老版本不存在则全新安装,如果存在有新版即升级 |
[root@oldboy /]# wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
[root@oldboy /]# 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@oldboy /]# rpm -ivh zabbix-agent-3.0.9-1.el7.x86_64.rpm
#2.尝试安装高版本(会出现错误)
[root@oldboy /]# rpm -ivh zabbix-agent-4.2.0-1.el7.x86_64.rpm
#3.使用升级的方式,完美解决替换
[root@oldboy /]# rpm -Uvh zabbix-agent-4.2.0-1.el7.x86_64.rpm
- 3.RPM包卸载
卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
#先查询, 然后卸载
[root@oldboy /]# rpm -qa |grep sh
[root@oldboy /]# rpm -e zsh