2023.6.3rpm工具管理rpm包

01.RPM⼯具管理RPM包
1.RPM包管理
1.1.RPM包安装
1.2.RPM包查询
1.3.RPM包升级
1.4.RPM包卸载
1.5.RPM包校验
1.6.RPM包⼩结
Author vx: WingspanGo
1.RPM包管理
RPM是 RPM Package Manager 缩写, 由红帽开发⽤于软件包的安装升级卸载与查询
1.软件包类型

 

2.常⻅的软件包
注意: 不管是源码包,还是⼆进制包,安装时都可能会有依赖关系!

 

3.RPM获取途径
1. RedHat 光盘或官⽅⽹站
2. RPM 查询官⽹⽹站
3. Nginx 软件官⽅⽹站
4.RPM软件包命名规则
RPM包命名以-将软件分成了若⼲部分 bash-4.2.46-28.el7.x86_64.rpm

 

name: 软件包名称
version: 版本号, 主版本, 重⼤更新. 次版本, ⼦功能更新. 修订号, 修复bug
release: 发布版本 el6, el7 (hostnamectl)
arch: 系统平台, i386、x86_64(hostnamectl)
rpm包的组成:
安装的⽂件
软件包的元数据(版本,发布号,架构,描述,要求,更改⽇志等)
脚本:安装前执⾏的脚本和安装后的脚本
5.查看系统光驱中RPM软件包
如果你的系统中还有系统的安装盘,⾸先我们让虚拟机链接上我们的系统安装盘,然后我们可以通过 mount
/dev/cdrom /mnt 命令把光驱挂载到/mnt⽬录下,那么你会在 /mnt/Packages ⽬录下看到很多 .rpm 的包⽂件。
 
1.1.RPM包安装
使⽤ rpm 命令安装软件包, 需要了解如下参数:
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# ls /mnt/
CentOS_BuildTag Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
isolinux RPM-GPG-KEY-CentOS-Debug-6
[root@localhost ~]# ls /mnt/Packages/|head
-i: 安装
-v: 详细信息
-h: 安装进度
--test: 测试是否能够安装成功
--force: 强制重新安装
--nodeps: 忽略依赖关系
//安装软件包, 需要指定软件包绝对路径
[root@wing ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
[root@wing ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
 
1.2.RPM包查询
使⽤ rpm 命令查询已安装好的rpm包, 需要了解如下参数:
//在软件包所在⽬录下可以不指定绝对路径
[root@wing ~]# cd /mnt/Packages/
[root@wing Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
//测试⼀个软件包是否能在该系统上安装
[root@wing ~]# rpm -ivh --test /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
//如果软件包存在, 强制再次安装
[root@wing ~]# rpm -ivh --force /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
//安装samba服务需要依赖其他组件, 使⽤--nodeps可重新强制安装
[root@wing ~]# rpm -ivh --nodeps /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
rpm -q //查看指定软件包是否安装
rpm -qa //查看系统中已安装的所有RPM软件包列表
rpm -qi //查看指定软件的详细信息
rpm -ql //查询指定软件包所安装的⽬录、⽂件列表
rpm -qc //查询指定软件包的配置⽂件
rpm -qd //查询指定软件包的帮助⽂档
rpm -qf //查询⽂件或⽬录属于哪个RPM软件
rpm -q --scripts //查询rpm包安装前和安装后执⾏的脚本
//查询未安装的软件包信息
rpm -qip //查询未安装的rpm包详细信息
rpm -qlp //查询未安装的软件包会产⽣哪些⽂件
//查询vsftpd这个rpm包是否安装
[root@wing ~]# rpm -q vsftpd
//模糊查找系统已安装的rpm包
[root@wing ~]# rpm -qa |grep ftp
//查询vsftpd软件包的相关信息
[root@wing ~]# rpm -qi vsftpd
//查询rpm包所安装的⽂件
[root@wing ~]# rpm -ql vsftpd
//查询rpm包相关的配置⽂件
[root@wing ~]# rpm -qc vsftpd
//查询配置⽂件或命令来⾃于哪个rpm包
vx: WingspanGo
vx: WingspanGo1.3.RPM包升级
-U 如果⽼版本不存在,就全新安装,如果存在有新版即升级
-f ⽼版本必须存在
//如果有新版则升级, 软件升级不要跨操作系统主版本号
1.4.RPM包卸载
卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
1.5.RPM包校验
软件相关的数据库存放于 /var/lib/rpm ⽬录
[root@wing ~]# rpm -qf /etc/vsftpd/vsftpd.conf
[root@wing ~]# rpm -qf /usr/sbin/vsftpd
//查询未安装的软件包会产⽣哪些⽂件
[root@wing ~]# rpm -qlp /mnt/Packages/samba-4.6.2-8.el7.x86_64.rpm
[root@wing ~]# rpm -Uvh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
//先查询, 然后卸载
[root@wing ~]# rpm -qa |grep sh
[root@wing ~]# rpm -e zsh
[root@wing ~]# rpm -V vsftpd
S.5....T. c /etc/pam.d/vsftpd
.......T. c /etc/vsftpd/ftpusers
S.5....T. c /etc/vsftpd/vsftpd.conf
.M....... /var/ftp/pub
S //⽂件的容量⼤⼩是否被改变
M //⽂件的类型或者⽂件的属性是否被修改
5 //MD5这⼀种指纹加密的内容已经不同
D //装置的主/次代码已经改变
L //路径已经被改变
U //⽂件的所属主已被修改
G //⽂件的所属组已被修改
T //⽂件的创建时间已被改变
 
1.6.RPM包⼩结
如何查询 util-linux 软件包安装了哪些⽂件?
如何查询 mkdir 命令是由哪个 RPM 软件包安装的?
安装 .rpm 软件包时,-i、-U、选项有何区别?
posted @   必兮相语--  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示