day7.3

day7.3

RPM包管理

rpm概述

# 什么是rpm包?
	由红帽开发的升级、安装、卸载、查询工具
# 为什么要使用RPM?
	我们在linux上需要安装软件,软件包的种类也有很多,但是最方便,最简单,最简易,速度最快的,也就是RPM包了

RPM命名规则

# [root@28technicians ~]# rpm -q tree
tree-1.6.0-10.el7.x86_64.rpm

tree:软件名称
1.6.0:版本号
10:该版本的发布次数
e17:适用于系统版本(centos7)向下兼容
x86_64:系统平台 
rpm:后缀名

linux中软件的安装方式

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

rpm包获取途径

  • 系统光盘镜像/centos官网:TP

  • 检查光盘是否放入光驱

  • rpm包查询官方网站:TP

# 挂载语法
mount 原设备文件 目标路径

# 举例1.
[root@28technicians ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mou

# 查看磁盘信息
df -h:查看磁盘分区情况,磁盘使用情况,也能看到挂载设备及目录

# 举例2
[root@28technicians ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.7G   17G   9% /
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/sda1       473M  119M  355M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0

# 卸载语法
umout 目标路径

# 卸载报错
[root@28technicians mnt]# umount /mnt
umount: /mnt: target is busy.
	(In some cases useful info about processes that use         the device is found by lsof(8)
原因:设备繁忙

# 查看挂载语法
先挂载
[root@28technicians ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only

查看
[root@28technicians ~]# 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

rpm命令使用-安装

# 语法
rpm [选项] rpm包名

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

# 选项
-i:安装
-v:显示安装过程
-h:显示安装进度条
--test:仅测试,不安装
--force:强制安装
--nodepsL:忽略依赖关系
# 举例
# -i
删除tree程序包
[root@28technicians ~]# yum remove tree -y
[root@28technicians ~]# rpm -i /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 

# -v
[root@28technicians ~]# 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@28technicians ~]# 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@28technicians ~]# rpm -ivh --test /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
Preparing...                          ################################# [100%]

# --force --nodeps
[root@28technicians ~]# rpm -ivh --force --nodeps /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.6.0-10.el7                ################################# [100%]
# 注意
'rmp包的缺点,无法解决依赖关系'

rpm命令使用-查询

# 语法
rpm [选项] rpm包名

# 选项
-q:查看指定的安装包是否安装

'以下选项皆要配合-q使用'
-a:全部安装过的包
-i:详细信息
-l:列出rpm包先关的配置文件和目录
-c:只查看该软件包相关的配置文件
-d:只查看该软件的帮助文档文件
-r:方向查找,根据配置文件,目录,帮助文档,查找该文件属于哪个包
--scripts:查看安装包,安装之前之后,和卸载之前之后要执行的脚本
# 举例
-q
已安装
[root@28technicians ~]# rpm -q vim-common
vim-common-7.4.629-8.el7_9.x86_64

未安装
[root@28technicians ~]# rpm -q tree
package tree is not installed

-q -a
查找安装过包有net的包名
[root@28technicians ~]# rpm -qa|grep 'net'
net-tools-2.0-0.25.20131004git.el7.x86_64
libnfnetlink-1.0.1-4.el7.x86_64
libnetfilter_conntrack-1.0.6-1.el7_3.x86_64
libdnet-1.12-13.1.el7.x86_64
dracut-network-033-554.el7.x86_64

-q -i (命令组合使用)
[root@28technicians ~]# rpm -qi `rpm -qa|grep 'net'`

-q -l
[root@28technicians ~]# rpm -ql zip
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/share/man/man1/zipsplit.1.gz

-q -c
查看软件包相关配置文件
[root@28technicians ~]# rpm -qc mariadb
/etc/my.cnf.d/client.cnf

-q -d
只查看该软件的帮助文档文件
[root@28technicians ~]# rpm -qd mariadb
/usr/share/doc/mariadb-5.5.68/COPYING
/usr/share/doc/mariadb-5.5.68/COPYING.Google
/usr/share/doc/mariadb-5.5.68/COPYING.Percona

-q -f
方向查找,查找文件属于哪个包
[root@28technicians ~]# rpm -qf /etc/hostname
systemd-219-62.el7.x86_64

--scritpts:
[root@28technicians ~]# rpm -q --scripts mariadb-server

镜像站地址

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