rpm包的管理

rpm包的管理

一、rpm包的介绍

简介

rpm全称是“redhat package manager”,最早是redhat公司开发的,后来在centos、fedora、suse都用它。而rpm包则是软件编译完成后按照rpm机制打包起来的一个文件,可以用rpm命令安装的一个软件安装包,它省去了linux软件安装中编译的步骤,安装成功后软件就可以用了。

二、常见软件封包的类型

rpm包的管理

三、包的常见安装位置

rpm包的管理

四、命令操作

1.查询已经安装的rpm包

查询已安装的RPM软件包的信息
格式: rpm -q [子选项] [软件名称] .

常用的子选项
--a:列出已安装的所有软件包
-i:查看指定软件的详细信息-
-l:查看指定软件的文件安装清单

// 查询安装的httpd服务
[root@www ~]# rpm -qa | grep httpd
httpd-tools-2.4.6-88.el7.centos.x86_64
httpd-2.4.6-88.el7.centos.x86_64
[root@www ~]# rpm -q httpd
httpd-2.4.6-88.el7.centos.x86_64
[root@www ~]# rpm -q bash
bash-4.2.46-31.el7.x86_64
// 查看详细信息
[root@www ~]# rpm -qi httpd
Name        : httpd
Version     : 2.4.6
Release     : 88.el7.centos
Architecture: x86_64
Install Date: Tue 21 Dec 2021 02:58:38 AM CST
Group       : System Environment/Daemons
Size        : 9817309
License     : ASL 2.0
Signature   : RSA/SHA256, Mon 12 Nov 2018 10:28:53 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : httpd-2.4.6-88.el7.centos.src.rpm
Build Date  : Mon 05 Nov 2018 09:48:57 AM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
// 查看软件的文件安装清单
[root@www ~]# rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
.......

2.查询软件的目录是由哪个软件带来的


// 查询某个目录/文件是哪个RPM包带来的
–    格式:rpm  -qf  [文件路径]…
–    即使目标文件被删除,也可以查询
[root@localhost ~]# which  vim   #查询命令对应的程序文件
/usr/bin/vim
[root@localhost ~]# rpm -qf  /usr/bin/vim
vim-enhanced-7.4.160-4.el7.x86_64
[root@localhost ~]# rpm -q vim-enhanced
vim-enhanced-7.4.160-4.el7.x86_64

3.导入红帽的签名信息

在以前,软件包可能会藏有木马文件,为了安全,将软件进行了重新封装,并且加了一个红帽的签名,这个签名是加密生成的

// 导入红帽签名信息
[root@localhost ~]# rpm  --import    /mnt/RPM-GPG-KEY-CentOS-7
查询软件包信息
[root@localhost ~]# rpm -qpi  /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

4.安装rpm软件包


安装RPM软件
 格式:rpm   -i   RPM包文件...
注意: i 必须要放在最前面
辅助选项
 -v:显示细节信息
 -h:以#号显示安装进度
 --force:强制安装、覆盖安装
 --test:测试安装,不做真实安装动作
 
[root@localhost ~]# rpm  -q   vsftpd        
#查询当前的系统是否安装了该软件

[root@localhost ~]# rpm  -ivh  /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

[root@localhost ~]# rpm -evh   vsftpd       
#卸载软件
[root@localhost ~]# rpm -q  vsftpd           
 #查询当前的系统是否安装了该软件
显示未安装软件包 vsftpd


--force:强制安装、覆盖安装
[root@localhost ~]# which   hostname
[root@localhost ~]# rm   -rf   /usr/bin/hostname
[root@localhost ~]# hostname
bash: hostname: 未找到命令...
 
[root@localhost ~]# rpm -qf   /usr/bin/hostname     
# 查看由哪个软件包产生
hostname-3.13-3.el7.x86_64
 
[root@localhost ~]# rpm  -ivh   --force   /mnt/Packages/hostname-3.13-3.el7.x86_64.rpm
上一篇:ln命令即链接的制作


下一篇:linux配置交换空间