RPM包管理


RPM包管理


RPM包概述


什么是RPM包

是由红帽开发的软件升级,安装卸载查询工具

为什么要使用rpm

就像在windows系统中一样,如果你想要安装一个QQ,安装一个微信,安装一款游戏,首先要去该软件的官网上去
下载相关的软件包,通常都是.exe的安装包。还有那种绿色软件包,一下载下来,解压开就能使用无需安装。

那么Linux中也有很多种类的安装包,我们在Linux上也需要安装软件,软件包的种类也有很多,但是最方便,最简
单,最简易,速度最快的,也就是rpm包了。

rpm包命名规则

# tree-1.6.0-10.el7.x86_64.rpm
tree:软件名称
1.6.0:版本号
10:该版本发布的次数
el7:适用系统版本(RedHat7,CentOS7)向下兼容
x86_64:系统平台 64 x86:32位 i386
rpm:包后缀名

Linux中软件的安装方式

rpm安装:已经编译好的源码包,下载下来后,直接用rpm命令安装即可    版本会低于官方版本
源码安装:先编译,将源代码翻译成系统认识的软件,在安装            步骤复杂繁琐
二进制安装:绿色软件(免安装)                                  不是所以程序都有二进制包 

rpm包获取途径

1.检查光盘是否放入光驱

1650440750653

# 挂载语法
mount 源设备文件 目标路径
 ✓ 10:51:45 root@localhost.localdomain,10.0.0.167:~ # mount /dev/cdrom /mnt
 
 # 查看磁盘信息
 df -h 查看磁盘分区情况,磁盘使用情况,也能查看到挂载设备及目录
  15:48:21 root@localhost.localdomain,10.0.0.167:~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.4G   18G   8% /
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.6M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sda1       497M  120M  378M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0
/dev/sr0        4.3G  4.3G     0 100% /mnt

# 卸载语法
umount 目标路径
15:48:24 root@localhost.localdomain,10.0.0.167:~ # umount /mnt

# 挂载报错
15:48:24 root@localhost.localdomain,10.0.0.167:~ # mount /dev/cdrom /mnt
mount: no medium found on /dev/sr0 
原因:设备文件是空的,里面没有任何内容,光驱没有连接

# 卸载报错
15:51:06 root@localhost.localdomain,10.0.0.167:~ # cd /mnt/
  0 ✓ 15:51:16 root@localhost.localdomain,10.0.0.167:/mnt # umount /mnt/
umount: /mnt: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
原因:设备繁忙


# 查看挂载结果
15:49:33 root@localhost.localdomain,10.0.0.167:~ # mount /dev/cdrom /mnt
 15:52:25 root@localhost.localdomain,10.0.0.167:~ # ll /mnt/
total 686
-rw-rw-r--. 1 root root     14 Nov 26  2018 CentOS_BuildTag
drwxr-xr-x. 3 root root   2048 Nov 26  2018 EFI
-rw-rw-r--. 1 root root    227 Aug 30  2017 EULA
-rw-rw-r--. 1 root root  18009 Dec 10  2015 GPL
drwxr-xr-x. 3 root root   2048 Nov 26  2018 images
drwxr-xr-x. 2 root root   2048 Nov 26  2018 isolinux
drwxr-xr-x. 2 root root   2048 Nov 26  2018 LiveOS
drwxrwxr-x. 2 root root 663552 Nov 26  2018 Packages
drwxrwxr-x. 2 root root   4096 Nov 26  2018 repodata
-rw-rw-r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root   2883 Nov 26  2018 TRANS.TBL

root@localhost.localdomain,10.0.0.167:~ # ll /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
-rw-rw-r--. 1 root root 47508 Jul  4  2014 /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm


  • rpm包查询官方网站:[TP](Rpmfind mirror)
  • 其他软件官方网站

rpm命令使用安装

# 语法
rpm [选项] rpm包名

rpm包名:
     -本地包名:在系统中某个目录的rpm包
     -远程包名:不用下载,直接使用网站上的rpm包

# 卸载命令
yum remove y tree -y

# 选项
-i:安装
-v:显示安装过程
-h:显示安装进度
--test:仅测试不安装
--force:强制安装
--nodeps:忽略依赖关系

# 举例
-i
root@localhost.localdomain,10.0.0.167:~ # rpm -i /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

-v
root@localhost.localdomain,10.0.0.167:~ # rpm -iv /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
Preparing packages...
tree-1.6.0-10.el7.x86_64

-h
root@localhost.localdomain,10.0.0.167:~ # rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.6.0-10.el7                ################################# [100%]

--test
root@localhost.localdomain,10.0.0.167:~ # rpm -ivh --test /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
Preparing...                          ################################# [100%]


--force  --nodeps
[root@localhost Packages]# rpm -ivh --force --nodeps samba-4.8.3-4.el7.x86_64.rpm
Preparing...                            ################################# [100%]
Updating / installing... 
1:samba-0:4.8.3-4.el7                   ################################# [100%]

# 注意:rpm命令管理rpm包的缺点,无法解决依赖关系
https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm

rpm命令使用-查询

# 语法
rpm [选项] rpm包名
# 选项
-q:查看指定的安装包是否安装
--- 以下选项皆要配合-q使用 ---
-a:全部安装过的包
-i:详细信息
-l:列出rpm包相关的配置文件和目录
-c:只查看该软件包相关的配置文件
-d:只查看该软件的帮助文档文件
-f:反向查找,根据配置文件,目录,帮助文档,查找该文件属于哪个包 
--scripts:查看安装包,安装之前之后,和卸载之前之后要执行的脚本

# 举例
-q
16:18:16 root@localhost.localdomain,10.0.0.167:~ # rpm -q tree
tree-1.6.0-10.el7.x86_64

16:22:06 root@localhost.localdomain,10.0.0.167:~ # rpm -q vim-common
package vim-common is not installed

-q -a
root@localhost.localdomain,10.0.0.167:~ # rpm -qa|grep 'tree'

-q -i 
 16:22:36 root@localhost.localdomain,10.0.0.167:~ # rpm -qi `rpm -qa|grep 'tree'`
 
 -q -l
 16:25:05 root@localhost.localdomain,10.0.0.167:~ # rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

镜像站地址

1.阿里云镜像站:[tp](阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com))

2.网易镜像站:[tp](欢迎访问网易开源镜像站 (163.com))

3.清华源:[tp](清华大学开源软件镜像站 | Tsinghua Open Source Mirror)

4.中科大源:[tp](USTC Open Source Software Mirror)


思维导图

posted @   hjx、贤  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示