CentOS8(四) 软件包的管理

1.软件包的概述 

        RPM 是 RPM Package Manager(软件包管理器)的缩写,这一文件格式名称虽然打上了 RedHat 的标志,但是其原始设计理念是开放式的,现在包括CentOS、OpenLinux、SUSE 以及 Turbo Linux 等 Linux 的分发版本都有采用,可以算是公认的行业标准了。

1.1 rpm包的获取方式:

1、Centos 系统镜像光盘
2、网站 rpmfind.net 
3、比如安装 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.el8x86_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查询时,常用参数:

-qquery的意思,查询软件包
-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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值