1.软件包的概述
RPM 是 RPM Package Manager(软件包管理器)的缩写,这一文件格式名称虽然打上了 RedHat 的标志,但是其原始设计理念是开放式的,现在包括CentOS、OpenLinux、SUSE 以及 Turbo Linux 等 Linux 的分发版本都有采用,可以算是公认的行业标准了。1.1 rpm包的获取方式:
1、Centos 系统镜像光盘2、网站 rpmfind.net3、比如安装 mysql、nginx 等软件,也可以去官方网站4、centos yum 源上,也有 rpm 可以手动下载
1.2 rpm包全名格式的简要说明
例:
[root@centos8-66 ~]# ls /mnt/BaseOS/Packages/zsh-5.5.1-6.el8_1.2.x86_64.rpm
/mnt/BaseOS/Packages/zsh-5.5.1-6.el8_1.2.x86_64.rpm
zsh -5. 5. 1- 6. el8 x86_64 软件名 主版本号 次版本号 修订次数 第几次发布 操作系统版本 x86架构的64位包 如何查看内核版本?
[root@centos8_66 ~]# uname -a Linux centos8_66 4.18.0-408.el8.x86_64 #1 SMP Mon Jul 18 17:42:52 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
2 rpm命令常用使用技巧
rpm命令的应用场景包含安装、查询、删除
rpm命令基本格式: rpm -[参数] 软件包
rpm安装时,常用参数:
- i install 的意思, 安装软件包- v 显示附加信息,提供更多详细信息- h 或 --hash 安装时输出####标记 问:rpm 使用时,什么情况下使用软件包全名,什么时候使用软件包名?
全名是在 安装 和 更新 升级时候使用,每当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地 的 /var/lib/rpm/目录下。包名是对 已经安装过的软件包 进行操作时,比如 查询 已经安装的某个包, 卸载 包等 ,使用包名。它默认是去目录/var/lib/rpm 下面进行搜索。注:学习时,记住常用搭配即可。例1:从镜像源(本地)中安装rpm包(如何挂载镜像源):
rpm -ivh /mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_64.rpm
rpm查询时,常用参数:
-q query的意思,查询软件包 -a 查询所以已安装的软件包 -f 查询系统文件所属哪个安装包,反向查询 -i 显示已经安装的rpm软件包详细信息 -l 查询软件包中文件安装的位置 -p 查询未安装软件包的相关信息 常用的搭配如下:
例1:查询所有已经安装包中带有vim关键字的包(rpm -qa)
[root@centos8_66 ~]# rpm -qa | grep vim vim-minimal-8.0.1763-19.el8.4.x86_64 vim-filesystem-8.0.1763-19.el8.4.noarch vim-enhanced-8.0.1763-19.el8.4.x86_64 vim-common-8.0.1763-19.el8.4.x86_64
例2:查询vim命令属于哪个安装包(rpm -qf 文件路径)
[root@centos8_66 ~]# which vim # 查询vim命令的文件位置 /usr/bin/vim [root@centos8_66 ~]# rpm -qf /usr/bin/vim # 查询vim命令所属的软件包 vim-enhanced-8.0.1763-19.el8.4.x86_64
例3: 查询已经安装的rpm包的详细信息和作用(rpm -qi 已安装的包名)
[root@centos8_66 ~]# rpm -qi vim-enhanced-8.0.1763-19.el8.4.x86_64 Name : vim-enhanced Epoch : 2 Version : 8.0.1763 Release : 19.el8.4 Architecture: x86_64 Install Date: 2023年01月19日 星期四 22时29分23秒 Group : Unspecified Size : 3070379 License : Vim and MIT Signature : RSA/SHA256, 2022年06月28日 星期二 22时13分33秒, Key ID 05b555b38483c65d Source RPM : vim-8.0.1763-19.el8.4.src.rpm Build Date : 2022年06月27日 星期一 21时47分17秒 Build Host : x86-02.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys <bugs@centos.org> Vendor : CentOS URL : http://www.vim.org/ Summary : A version of the VIM editor which includes recent enhancements Description : VIM (VIsual editor iMproved) is an updated and improved version of the vi editor. Vi was the first real screen-based editor for UNIX, and is still very popular. VIM improves on vi by adding new features: multiple windows, multi-level undo, block highlighting and more. The vim-enhanced package contains a version of VIM with extra, recently introduced features like Python and Perl interpreters. Install the vim-enhanced package if you'd like to use a version of the VIM editor which includes recently added enhancements like interpreters for the Python and Perl scripting languages. You'll also need to install the vim-common package.
例4:查询未安装的rpm包的详细信息和作用(rpm -qpi 未安装的软件包路径)
[root@centos8_66 ~]# rpm -qpi \ # '\'符号实现换行输入 > /mnt/AppStream/Packages/php-mysqlnd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64.rpm 警告:/mnt/AppStream/Packages/php-mysqlnd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY Name : php-mysqlnd Version : 7.2.24 Release : 1.module_el8.2.0+313+b04d0a66 Architecture: x86_64 Install Date: (not installed) Group : Unspecified Size : 451870 License : PHP Signature : RSA/SHA256, 2020年05月12日 星期二 22时45分34秒, Key ID 05b555b38483c65d Source RPM : php-7.2.24-1.module_el8.2.0+313+b04d0a66.src.rpm Build Date : 2020年05月07日 星期四 10时37分08秒 Build Host : x86-01.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys <bugs@centos.org> Vendor : CentOS URL : http://www.php.net/ Summary : A module for PHP applications that use MySQL databases Description : The php-mysqlnd package contains a dynamic shared object that will add MySQL database support to PHP. MySQL is an object-relational database management system. PHP is an HTML-embeddable scripting language. If you need MySQL support for PHP applications, you will need to install this package and the php package. This package use the MySQL Native Driver
例5:查询未安装的软件包安装后,会生成哪些文件(rpm -qpl 未安装的软件包路径)
[root@centos8_66 ~]# rpm -qpl \ > /mnt/AppStream/Packages/php-mysqlnd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64.rpm 警告:/mnt/AppStream/Packages/php-mysqlnd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY /etc/php.d/20-mysqlnd.ini /etc/php.d/30-mysqli.ini /etc/php.d/30-pdo_mysql.ini /usr/lib/.build-id /usr/lib/.build-id/27 /usr/lib/.build-id/27/050298f7ae4de2117b0325d5e1f354539efa77 /usr/lib/.build-id/43 /usr/lib/.build-id/43/0aa1d5fd22f68c8c868a0ffb6473f529360ca8 /usr/lib/.build-id/c9 /usr/lib/.build-id/c9/713dbdb20adf4b190b48176317b0c06d691f4e /usr/lib64/php/modules/mysqli.so /usr/lib64/php/modules/mysqlnd.so /usr/lib64/php/modules/pdo_mysql.so
rpm包删除时,常用命令如下:
用法:rpm -e(erase) 包名参数: --nodeps 忽略依赖,建议在卸载时不要用 rpm 去卸载有依赖关系的包[root@centos8_66 ~]# rpm -q lrzsz
lrzsz-0.12.20-43.el8.x86_64
[root@centos8_66 ~]# rpm -e --nodeps lrzsz
[root@centos8_66 ~]# rpm -q lrzsz
未安装软件包 lrzsz
3 yum的使用
yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于 RPM 包管理,能 够从指定的服务器自劢下载 RPM 包并且安装,可以 自动处理依赖性关系,并且一次安装所有依赖的软体 包 ,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令, 而且命令简洁而又好记总结:YUM能够解决依赖关系问题,自动下载软件包,是基于 C/S 架构。3.1 配置yum源
yum源的配置可以查看这篇文章,https://blog.csdn.net/m0_56779872/article/details/128741081
3.2 yum命令的常用操作
[root@centos8_66 ~]# yum install -y httpd #安装软件包, -y 直接安装[root@centos8_66 ~]# yum update#升级软件包,改变软件设置和系统设置,系统版本内核都升级。[root@centos8_66 ~]# yum upgrade#升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变。工作中推荐使用这种升级方 式。[root@centos8_66 ~]# yum -y remove 包名 #卸载包[root@centos8_66 ~]# yum search httpd #查找包括 httpd 字符的软件包3.3 yum安装开发工具软件包组
[root@centos8_66 ~]# yum grouplist # 查询开发工具包组 可用环境组: 服务器 最小安装 工作站 KDE Plasma 工作区 定制操作系统 虚拟化主机 已安装的环境组: 带 GUI 的服务器 已安装组: 容器管理 无头系统管理 可用组: 传统 UNIX 兼容性 .NET 核心开发 开发工具 图形管理工具 网络服务器 RPM 开发工具 科学记数法支持 安全性工具 智能卡支持 系统工具 Fedora Packager Xfce [root@centos8_66 ~]# yum groupinstall 开发工具 --skip-broken 上次元数据过期检查:0:12:04 前,执行于 2023年01月26日 星期四 14时48分10秒。 依赖关系解决。 =================================================================================================================================================================================================================== 软件包 架构 版本 仓库 大小 =================================================================================================================================================================================================================== 安装组/模块包: asciidoc noarch 8.6.10-0.5.20180627gitf7c2274.el8 AppStream 216 k autoconf noarch 2.69-29.el8 AppStream 710 k automake noarch 1.16.1-7.el8 AppStream 713 k bison x86_64 3.0.4-10.el8 AppStream 688 k byacc x86_64 1.9.20170709-4.el8 AppStream 91 k ctags x86_64 5.8-22.el8 AppStream 170 k diffstat x86_64 1.61-7.el8 AppStream 44 k elfutils-libelf-devel x86_64 0.185-1.el8 base 59 k flex x86_64 2.6.1-9.el8 AppStream 320 k