rpm包管理
什么是rpm包
RPM全称 RPM Package Manager 缩写,由红帽开发用于软件包的安装,升级卸载与查询
为什么要学rpm
就像在windows系统中一样,如果你想要安装一个 QQ ,安装一个 微信 ,安装一款 游戏 ,首先要去该软件的官网上去下载相关的软件包,通常都是 .exe 的安装包。还有那种绿色软件包,一下载下来,解压开就能使用无需安装。那么Linux中也有很多种类的安装包,我们在Linux上也需要安装软件,软件包的种类也有很多,但是最方便,最简单,最简易,速度最快的,也就是 rpm 包了。RPM包长啥样呢?
Liunx中的软件包类型
分类 | 安装 | 版本 |
---|---|---|
rpm包(需要安装) | 预先编译打包,安装简单 | 软件版本偏低 |
源码包(需要编译、安装) | 手动编译打包,安装繁琐 | 软件版本较新 |
二进制包(绿色免安装) | 解压即可用 | 版本跟官方保持一致,不能修改源码 |
!! --- 注意: 不管是源码包,还是rpm包,安装时都可能会有依赖关系!
如何获取rpm包
1.RedHat光盘或官方网站 (通过挂载的方式访问)
[root@moban ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
/mnt/Packages/下存放都是系统带的安装包
2.RPM包官网 http://rpmfind.net/
以后报错中,libCHARSET3-samba4.so .so结尾的文件不存在,需要安装,不知道输入哪个RPM包,去RPM
官网查询即可
# 各大镜像站(yum仓库,yum源):
阿里云:https://developer.aliyun.com/mirror/
网易镜像站:https://mirrors.163.com/
华为源:https://mirrors.huaweicloud.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
中科大:https://mirrors.ustc.edu.cn/
RPM包管理
选项i | 作业 |
---|---|
i | 安装 |
v | 显示过程 |
h | 显示进度条 |
q | 查询安装 |
qa | 查询系统内所有安装过的包 |
ql | 查询软件安装后,配置文件、帮助文档、程序....的所在目录 |
qc | 查询软件安装后配置文件 |
qi | 查看详细信息 |
qf | 逆向查询根据文件名去查找是哪一个软件创建的文件 |
qd | 查看帮助文档所在位置 |
qip | 可以查看未安装的包详细信息 |
qlp | 可以查看未安装的包详细信息,安装后会产生哪些文件 |
e | 卸载 |
-U | 升级(老版本不在就全新安装) |
--test | 测试能否安装 |
--force | 强制安装 |
--nodeps | 忽略依赖关系 |
-f | 升级(老版本必须在) |
# 安装
[root@ldcentos7 Packages]# rpm -ivh zip-3.0-11.el7.x86_64.rpm
Preparing... ################################# [100%]
package zip-3.0-11.el7.x86_64 is already install
# 查询已安装
[root@ldcentos7 Packages]# rpm -qa|grep tree
tree-1.6.0-10.el7.x86_64
# 查询软件安装后,配置文件、帮助文档、程序....的所在目录
[root@ldcentos7 Packages]# 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
# 查询软件安装后配置文件
[root@ldcentos7 Packages]# rpm -qc tree
## 查看详细信息
[root@ldcentos7 Packages]# rpm -qi tree
Name : tree
Version : 1.6.0
Release : 10.el7
Architecture: x86_64
Install Date: Sun 21 Apr 2024 04:27:59 AM EDT
Group : Applications/File
Size : 89505
License : GPLv2+
Signature : RSA/SHA256, Fri 04 Jul 2014 01:36:46 AM EDT, Key ID 24c6a8a7f4a80eb5
Source RPM : tree-1.6.0-10.el7.src.rpm
Build Date : Mon 09 Jun 2014 03:28:53 PM EDT
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://mama.indstate.edu/users/ice/tree/
Summary : File system tree viewer
Description :
The tree utility recursively displays the contents of directories in a
tree-like format. Tree is basically a UNIX port of the DOS tree
utility.
## 逆向查询根据文件名去查找是哪一个软件创建的文件
[root@ldcentos7 Packages]# rpm -qf /bin/vim
vim-enhanced-7.4.629-8.el7_9.x86_64
## 查看帮助文档所在位置
[root@ldcentos7 Packages]# rpm -qd tree
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
## 查看未安装的包详细信息 -
[root@ldcentos7 Packages]# rpm -qip net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
Name : net-tools
Version : 2.0
Release : 0.25.20131004git.el7
Architecture: x86_64
Install Date: (not installed)
Group : System Environment/Base
Size : 938978
License : GPLv2+
Signature : RSA/SHA256, Thu 22 Aug 2019 05:36:04 PM EDT, Key ID 24c6a8a7f4a80eb5
Source RPM : net-tools-2.0-0.25.20131004git.el7.src.rpm
Build Date : Thu 08 Aug 2019 09:10:26 PM EDT
Build Host : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://sourceforge.net/projects/net-tools/
Summary : Basic networking tools
Description :
The net-tools package contains basic networking tools,
including ifconfig, netstat, route, and others.
Most of them are obsolete. For replacement check iproute package.
## 查看未安装的包详细信息,安装后会产生哪些文件
[root@ldcentos7 Packages]# rpm -qlp net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
/bin/netstat
/sbin/arp
/sbin/ether-wake
/sbin/ifconfig
/sbin/ipmaddr
/sbin/iptunnel
/sbin/mii-diag
/sbin/mii-tool
/sbin/nameif
/sbin/plipconfig
/sbin/route
/sbin/slattach
/usr/lib/systemd/system/arp-ethers.service
## 卸载
rpm -e tree
## 升级
rpm -U rpm包