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:32位
rpm:包后缀名
linux中软件的安装方式
rpm安装:已经编译好的源码包,下载下来后,直接使用rpm命令安装即可 版本会低于官方
源码安装:先编译,将源代码翻译成系统认识的软件,再安装 步骤复杂繁琐
二进制安装:绿色软件(免安装) 不是所有程序都有二进制包
RPM包获取途径
- 系统光盘镜像/CentOs官网:http://mirror.centos.org/centos/7/
1.检查光盘是否放入光驱
# 挂载语法
mount 源设备文件 目标路径
举例
[root@zxw <sub>]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
# 查看磁盘信息
df -h ( 查看磁盘分区情况,磁盘使用情况,也能查看挂载设备及目录 )
[root@zxw </sub>]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda3 19G 1.5G 18G 8% /
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /mnt
# 卸载语法
umount 目标路径
[root@zxw <sub>]# umount /mnt
[root@zxw </sub>]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda3 19G 1.5G 18G 8% /
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
# 挂载报错
mount: no medium found on /dev/sr0
(# 原因:设备文件是空的,里面没有任何内容,光驱没有链接)
# 卸载报错
[root@zxw 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))
(# 原因:设备繁忙)
[root@zxw mnt]# cd
[root@zxw <sub>]# umount /mnt
# 查看挂载结果
[root@zxw </sub>]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@zxw <sub>]# ll /mnt
total 696
-rw-r--r--. 3 root root 14 Oct 30 2020 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 Oct 27 2020 EFI
-rw-rw-r--. 21 root root 227 Aug 30 2017 EULA
-rw-rw-r--. 21 root root 18009 Dec 10 2015 GPL
drwxr-xr-x. 3 root root 2048 Oct 27 2020 images
drwxr-xr-x. 2 root root 2048 Nov 3 2020 isolinux
drwxr-xr-x. 2 root root 2048 Oct 27 2020 LiveOS
drwxr-xr-x. 2 root root 673792 Nov 4 2020 Packages
drwxr-xr-x. 2 root root 4096 Nov 4 2020 repodata
-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 Nov 4 2020 TRANS.TBL
[root@zxw </sub>]# ll /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
-rw-rw-r--. 3 root root 47508 Jul 4 2014 /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
- RPM包查询官方网站:http://rpmfind.net/
- 其他软件官方网站
rpm命令使用-安装
# 语法
rpm [选项] rpm包名
rpm包名:
- 本地包名:在系统中某个目录下的rpm包
- 远程包名:不用下载,直接使用网站上的rpm包
# 选项
-i:安装
-v:显示安装过程
-h:显示安装进度条
--test:仅测试,不安装
--force:强制安装
--nodeps:忽略依赖关系
# 举例 -i
[root@zxw <sub>]# rpm -i /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
# 举例 -v
[root@zxw </sub>]# 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@zxw ~]# 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@zxw Packages]# rpm -ivh --test tree-1.6.0-10.el7.x86_64.rpm
Preparing... ################################# [100%]
package tree-1.6.0-10.el7.x86_64 is already installed
# 举例 --force --nodeps
[root@zxw 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
[root@zxw Packages]# rpm -q vim-common
vim-common-7.4.629-8.el7_9.x86_64
[root@zxw Packages]# rpm -q tree
tree-1.6.0-10.el7.x86_64
# 举例 -q -a
[root@zxw Packages]# rpm -qa
NetworkManager-team-1.18.8-1.el7.x86_64
grub2-common-2.02-0.86.el7.centos.noarch
NetworkManager-tui-1.18.8-1.el7.x86_64
setup-2.8.71-11.el7.noarch
......
# 举例 -q -i 命令组合使用
[root@zxw Packages]# rpm -qi `rpm -qa|grep 'net'`
Name : libnfnetlink
Version : 1.0.1
Release : 4.el7
Architecture: x86_64
Install Date: Wed 16 Mar 2022 02:15:41 PM CST
Group : System Environment/Libraries
Size : 47123
......
[root@zxw Packages]# rpm -qi $(rpm -qa|grep 'net')
[root@zxw Packages]# rpm -qa|grep 'net'|xargs rpm -qi
# 举例 -q -l
[root@zxw 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
# 举例 -q -c
[root@zxw Packages]# rpm -qc tree
# 举例 -q -d
[root@zxw 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
# 举例 -q -f
[root@zxw Packages]# rpm -qf /etc/passwd
setup-2.8.71-11.el7.noarch
[root@zxw Packages]# rpm -qf /etc/hostname (主机名配置文件)
systemd-219-78.el7.x86_64
[root@zxw Packages]# cat /etc/hostname
zxw
镜像站地址
1.阿里云镜像站:http://mirrors.aliyun.com2.网易镜像站:http://mirrors.163.com/
3.清华源:https://mirrors.tuna.tsinghua.edu.cn
4.中科大源:https://mirrors.ustc.edu.cn/