RHCE8学习过程(八)Centos8软件包的管理与安装
Centos8软件包的管理与安装
- 八、Centos8软件包的管理与安装
- 8.1、软件包的管理
- 8.1.1 rpm软件包的管理
- rpm 包的获取方式
- rpm 包格式的说明
- 8.1.2 安装 rpm 软件
- 8.1.3 rpm 查询功能
- 8.1.4 查看软件包内容是否被修改
- 8.1.5 rpm 包卸载和升级
- 8.1.6 解决 rpm 依赖关系
- 8.2、YUM 的使用
- 8.2.1 配置 yum 源
- 1、挂载镜像:
- 2、本地配置 yum 源文件:
- 3、网络 yum 源
- 8.2.2 yum 使用
- 8.2.3 yum 安装开发工具软件包组
- 8.3、CentOS8 中使用 DNF 管理软件包
八、Centos8软件包的管理与安装
8.1、软件包的管理
软件包的类型
rpm 二进制包------》已经使用 GCC 编译后的
tar 源码包-----》需要编译
RPM 概述:RPM 是 RPM Package Manager(RPM 软件包管理器)的缩写,这一文件格式名称虽然打上了 RedHat 的标志,但是其原始设计理念是开放式的,现在包括 OpenLinux、SUSE 以及 TurboLinux 等 Linux 的分发版本都有采用,可以算是公认的行业标准了。
8.1.1 rpm软件包的管理
rpm 包的获取方式
1、Centos 系统镜像光盘
2、网站 rpmfind.net
3、比如安装 mysql、nginx 软件,我们可以去它的官方网站下载:
http://nginx.org/en/download.html
4、centos yum 源上,也有 rpm 可以手动下载
rpm 包格式的说明
[root@Hengji ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@Hengji ~]# 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.rpm
软件名 、 主版本号 、 次版本号 、 修订 、 release(第几次发布版本) 、 操作系统版本 、 软件包是 64 位包
#修订指的是第几次修改 bug。 发布指的是:第几次发布。 发布时,可能只是对软件安装的默认参数做了修改,而没有其它改动。
[root@Hengji ~]# ls /mnt/BaseOS/Packages/atlas-3.10.3-7.el8.i686.rpm
/mnt/BaseOS/Packages/atlas-3.10.3-7.el8.i686.rpm
.i686代表,此包是32位操作系统包。
64位操作系统是可以安装 32 位操作系统的包。 32位,安装不了64位的包。
在 centso7 开始,就没有 32 位操作系统
[root@Hengji ~]# ls /mnt/AppStream/Packages/zsh-html-5.5.1-6.el8_1.2.noarch.rpm
/mnt/AppStream/Packages/zsh-html-5.5.1-6.el8_1.2.noarch.rpm
结尾有 noarch,代表此包在32位和64位操作系统上都可以运行。这类型包,里面通常是文本文件,如:shell脚本,html,txt等。
[root@Hengji ~]# uname -r #查看内核版本
4.18.0-193.14.2.el8_2.x86_64
内核版本是 4.18.0-193.el8,有 x86_64 就是 64 位操作系统
8.1.2 安装 rpm 软件
RPM 工具使用分为安装、查询、验证、更新、删除等操作
命令格式:rpm [参数] 软件包
参数:
-i:是 install 的意思, 安装软件包
-v:显示附加信息,提供更多详细信息
-V:校验,对已经安装的软件进行校验
-h:–hash 安装时输出####标记
rpm 使用时,什么情况下使用软件包全名,什么时候使用软件包名?
全名:在安装和更新升级时候使用
包名:对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等 ,使用包名。它默认是去目录/var/lib/rpm 下面进行搜索。
当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地的 /var/lib/rpm/目录下。
从本地安装
[root@Hengji ~]# rpm -ivh /mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_64.rpm
#本地安装 lrzsz 包,安装后可以使用 rz 和 sz 命令。
8.1.3 rpm 查询功能
用法:rpm -q(query) | 与下面参数组合使用 |
---|---|
-a(all) | 查询所有已安装的软件包 |
-f(file) | 系统文件名(查询系统文件所属哪个软件包),反向查询 |
-i | 显示已经安装的 rpm 软件包信息,后面直接跟包名 |
-l(list) | 查询软件包中文件安装的位置 |
-p | 查询未安装软件包的相关信息,后面要跟软件的命名 |
-R | 查询软件包的依赖性 |
例:
[root@Hengji ~]# rpm -q lrzsz #查询指定的包是否安装
lrzsz-0.12.20-43.el8.x86_64
[root@Hengji ~]# rpm -qa #查询所有已安装包
jbig2dec-libs-0.14-4.el8_2.x86_64
mesa-libEGL-19.3.4-2.el8.x86_64
...
...
sssd-nfs-idmap-2.2.3-20.el8.x86_64
libieee1284-0.2.11-28.el8.x86_64
例:查看 passwd 文件中包括 bash 的行
[root@Hengji ~]# grep bash /etc/passwd #grep 后面加关键字,可以查找文件中的内容。
root:x:0:0:root:/root:/bin/bash
hengji:x:1000:1000:Hengji:/home/hengji:/bin/bash[root@Hengji ~]# rpm -qa | grep lrzsz #查询所有已安装包中带 vim 关键字的包
lrzsz-0.12.20-43.el8.x86_64
[root@Hengji ~]# which find #查看 find 命令的路径
/usr/bin/find
[root@Hengji ~]# rpm -qf /usr/bin/find #查询文件或命令属于哪个安装包
findutils-4.6.0-20.el8.x86_64
查询已经安装的 rpm 包的详细信息或作用 rpm -qi rpm 包名
[root@Hengji ~]# rpm -qi lrzsz
Name : lrzsz
Version : 0.12.20
Release : 43.el8
Architecture: x86_64
Install Date: 2020年09月15日 星期二 18时10分28秒
Group : Applications/Communications
Size : 194342
License : GPLv2+
Signature : RSA/SHA256, 2019年07月02日 星期二 07时59分37秒, Key ID 05b555b38483c65d
Source RPM : lrzsz-0.12.20-43.el8.src.rpm
Build Date : 2019年05月11日 星期六 22时54分52秒
Build Host : x86-02.mbox.centos.org
Relocations : (not relocatable)
Packager : CentOS Buildsys <bugs@centos.org>
Vendor : CentOS
URL : http://www.ohse.de/uwe/software/lrzsz.html
Summary : The lrz and lsz modem communications programs
Description :
Lrzsz (consisting of lrz and lsz) is a cosmetically modified
zmodem/ymodem/xmodem package built from the public-domain version of
the rzsz package. Lrzsz was created to provide a working GNU
copylefted Zmodem solution for Linux systems.
针对没有安装的 RPM 包,要加参数: -p
[root@Hengji ~]# 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
...
Summary : A module for PHP applications that use MySQL databases
#php 使用 mysql 数据库的一个模块[root@Hengji ~]# rpm -qpl /mnt/AppStream/Packages/nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm
警告:/mnt/AppStream/Packages/nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
...
#查看 rpm 安装后,将生成哪些文件
8.1.4 查看软件包内容是否被修改
rpm -V 包名
rpm -Vf 文件路径
例:
[root@Hengji ~]# which find
/usr/bin/find
[root@Hengji ~]# rpm -qf /usr/bin/find
findutils-4.6.0-20.el8.x86_64
上面两条命令,等价于以下面这条命令:
[root@Hengji ~]# rpm -qf `which find`
findutils-4.6.0-20.el8.x86_64
这是反引号。 一行命令中,如果有反引号,那么先执行反引号中的命令,把反引号中的命令的输出,作为前面命令输入。
[root@Hengji ~]# rpm -Vf /usr/bin/find #参数-Vf 后面加文件的路径,查看每个命令或文件,有没有被修改
[root@Hengji ~]# echo aaa >> /usr/bin/find
[root@Hengji ~]# rpm -Vf /usr/bin/find
S.5....T. /usr/bin/find
[root@Hengji ~]# rpm -V findutils #检查包
S.5....T. /usr/bin/find
注:如果出现的是点,表示测试这一项,没有被修改
出现下面的字符代表某测试的失败:
5 — MD5 校验和是否改变,你也看成文件内容是否改变
S — 文件长度,大小是否改变
L — 符号链接,文件路径是否改变
T — 文件修改日期是否改变
D — 设备
U — 用户,文件的属主
G — 用户组
M — 模式 (包含许可和文件类型)
? — 不可读文件
再后面的 c 文件名,它表示的是文件类型
c 配置文件
d 普通文件
g 不该出现的文件,意思就是这个文件不该被这个包所包含
l 授权文件(license file)
r 描述文件
[root@Hengji ~]# rpm -V lrzsz # -V 后面加软件包的名字,查看这个包安装的所有文件,没有被修改。
查看系统中所有的 rpm 包及安装的文件有没有被黑客修改
[root@Hengji ~]# rpm -Va > rpm_check.txt
注: 检验时参考了 /var/lib/rpm 目录下的 rpm 数据库信息
8.1.5 rpm 包卸载和升级
用法:rpm -e(erase) 包名
[root@Hengji ~]# rpm -q lrzsz
lrzsz-0.12.20-43.el8.x86_64
[root@Hengji ~]# rpm -e lrzsz #卸载
[root@Hengji ~]# rpm -q lrzsz #已经找不到 lrzsz 包了,说明卸载成功了
未安装软件包 lrzsz
–nodeps 忽略依赖,建议在卸载时不要用 rpm 去卸载有依赖关系的包,应该用 yum
[root@Hengji ~]# rpm -e --nodeps lrzsz
错误:未安装软件包 lrzsz
rpm 包升级:
centos8 下安装
[root@Hengji ~]# rpm -Uvh /mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_64.rpm
警告:/mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...1:lrzsz-0.12.20-43.el8 ################################# [100%]
centos7 下安装
[root@Hengji ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
8.1.6 解决 rpm 依赖关系
[root@Hengji ~]# rpm -ivh /mnt/AppStream/Packages/httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64.rpm
警告:/mnt/AppStream/Packages/httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
错误:依赖检测失败:libapr-1.so.0()(64bit) 被 httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64 需要libaprutil-1.so.0()(64bit) 被 httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64 需要
报错:我们需要把依赖包安装上,才可以。
[root@Hengji ~]# rpm -ivh /mnt/AppStream/Packages/apr-1.6.3-9.el8.x86_64.rpm
警告:/mnt/AppStream/Packages/apr-1.6.3-9.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...1:apr-1.6.3-9.el8 ################################# [100%]
[root@Hengji ~]# rpm -ivh /mnt/AppStream/Packages/apr-util-1.6.1-6.el8.x86_64.rpm
警告:/mnt/AppStream/Packages/apr-util-1.6.1-6.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...1:apr-util-1.6.1-6.el8 ################################# [100%]
[root@Hengji ~]# rpm -ivh /mnt/AppStream/Packages/httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64.rpm
警告:/mnt/AppStream/Packages/httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...1:httpd-tools-2.4.37-21.module_el8.################################# [100%]
8.2、YUM 的使用
yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
YUM:解决依赖关系问题,自动下载软件包,它是基于 C/S 架构
8.2.1 配置 yum 源
1、挂载镜像:
先确定虚拟机光驱中有加载系统镜像
[root@Hengji ~]# mount /dev/cdrom /mnt/
mount: /mnt: /dev/sr0 already mounted on /run/media/root/CentOS-8-2-2004-x86_64-dvd.
[root@Hengji ~]# ls /mnt/
AppStream BaseOS EFI images isolinux media.repo TRANS.TBL
2、本地配置 yum 源文件:
centos8 本地 YUM 源配置:
在 centos8 当中,本地光盘中的安装包被分别放在了两个路径下。假设挂载路径为/mnt,那么两个Package 路径分别为:/mnt/AppStream/Packages 和/mnt/BaseOS/Packages。
因为 IOS 镜像内的设置,所以导致了在编辑本地 yum 源的时候需要分别写两个路径在配置文件中。
同时网络 yum 源也被分别写到了两个配置文件内。所以就需要把两个网络 yum 源配置文件改名。
[root@Hengji ~]# ls /etc/yum.repos.d/
CentOS-AppStream.repo CentOS-Debuginfo.repo CentOS-HA.repo CentOS-Vault.repo
CentOS-Base.repo CentOS-Devel.repo CentOS-Media.repo
CentOS-centosplus.repo CentOS-Extras.repo CentOS-PowerTools.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
#centos8 与之前版本不同的是增加了一个 CentOS-AppStream.repo 文件,CentOS-AppStream.repo 和 CentOS-Base.repo 文件都需要移除目录或者改名。
BaseOS:类似于 centos7 中的 Base 软件仓库,主要提供了 OS 系统的基础组建,提供的是 RPM 形式的包,因为都是 RPM 包形式所以它支持与之前版本兼容(support terms similar)。
AppStream:它提供的是系统以外的应用程序,如 httpd,nginx,php,mariadb-server 等
(1)首先挂载光盘:
[root@Hengji ~]# mount /dev/sr0 /mnt/
mount: /mnt: /dev/sr0 already mounted on /run/media/root/CentOS-8-2-2004-x86_64-dvd.
(2)创建一个本地 yum 配置文件 centos8.repo:
[root@Hengji ~]# vim /etc/yum.repos.d/centos8.repo #写入以下内容[c8-media-BaseOS]
name=CentOS-BaseOS-$releasever - Media
baseurl=file:///mnt/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[c8-media-AppStream]
name=CentOS-AppStream-$releasever - Media
baseurl=file:///mnt/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
添加修改完两个区域后保存退出。
如果 gpgcheck=1 ,需要导入 rpm 公钥。方便后期校对 rpm 包。一般情况,写为 0. 工作就写成 1 并导入公钥。这样安全。
[root@Hengji ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
(3)移动网络 yum 源配置文件位置:
[root@Hengji ~]# mv /etc/yum.repos.d/C* /opt #将网络 yum 配置文件移动到任意位置,使其不被 yum 所识别
[root@Hengji ~]# yum list #在 centos8 版本当中可以继续使用 yum 命令进行安装包管理
CentOS-BaseOS-8 - Media 41 MB/s | 2.2 MB 00:00
CentOS-AppStream-8 - Media 29 MB/s | 5.7 MB 00:00
...
...
[root@Hengji ~]# ll /usr/bin/yum
lrwxrwxrwx. 1 root root 5 7月 22 02:46 /usr/bin/yum -> dnf-3
我们执行的 yum 命令是一个软连接,它被链接到了 dnf-3 命令上。
使用 DNF 来管理软件包,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面内容。
3、网络 yum 源
Centos8 使用阿里网络源:
[root@Hengji ~]# wget -O /etc/yum.repos.d/CentOS-8.repo http://mirrors.aliyun.com/repo/Centos-8.repo
--2020-09-15 18:52:00-- http://mirrors.aliyun.com/repo/Centos-8.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 115.238.192.242, 115.238.192.243, 115.223.16.239, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|115.238.192.242|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2595 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-8.repo”/etc/yum.repos.d/CentOS-8 100%[=====================================>] 2.53K --.-KB/s 用时 0.008s 2020-09-15 18:52:00 (313 KB/s) - 已保存 “/etc/yum.repos.d/CentOS-8.repo” [2595/2595])[root@Hengji ~]# rpm --import https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official #导入阿里的公钥
例:安装 centos epel 扩展 yum 源。
注:epel 源是对 centos 系统中自带的 base 源的扩展。
[root@Hengji ~]# yum install epel-release -y
CentOS-8 - Base - mirrors.aliyun.com 191 kB/s | 2.2 MB 00:11
CentOS-8 - Extras - mirrors.aliyun.com 4.0 kB/s | 7.9 kB 00:01
CentOS-8 - AppStream - mirrors.aliyun.com 445 kB/s | 5.8 MB 00:13
...
...
已安装:epel-release-8-8.el8.noarch 完毕!
[root@Hengji ~]# ls /etc/yum.repos.d/epel.repo #这就是安装的 epel 源
/etc/yum.repos.d/epel.repo
8.2.2 yum 使用
yum 常用操作:
[root@Hengji ~]# yum install -y httpd #安装软件包, -y 直接安装
Extra Packages for Enterprise Linux Modular 8 - x86_64 202 kB/s | 117 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 1.5 MB/s | 8.0 MB 00:05
...
...
完毕![root@Hengji ~]# yum update #升级软件包,改变软件设置和系统设置,系统版本内核都升级
上次元数据过期检查:0:00:19 前,执行于 2020年09月15日 星期二 18时55分37秒。
依赖关系解决。
无需任何处理。
完毕![root@Hengji ~]# yum upgrade #升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变。工作中推荐使用这种升级方式。
上次元数据过期检查:0:00:47 前,执行于 2020年09月15日 星期二 18时55分37秒。
依赖关系解决。
无需任何处理。
完毕![root@Hengji ~]# yum info httpd #查询 rpm 包作用
上次元数据过期检查:0:00:59 前,执行于 2020年09月15日 星期二 18时55分37秒。
已安装的软件包
名称 : httpd
版本 : 2.4.37
发布 : 21.module_el8.2.0+382+15b0afa8
架构 : x86_64
大小 : 4.9 M
源 : httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.src.rpm
仓库 : @System
来自仓库 : AppStream
概况 : Apache HTTP Server
URL : https://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient, and extensible: web server.[root@Hengji ~]# yum provides /usr/bin/find #查看命令是哪个软件包安装的 发现 find 命令是 findutils 包中的文件
上次元数据过期检查:0:01:20 前,执行于 2020年09月15日 星期二 18时55分37秒。
findutils-1:4.6.0-20.el8.x86_64 : The GNU versions of find utilities (find and xargs)
仓库 :@System
匹配来源:
文件名 :/usr/bin/findfindutils-1:4.6.0-20.el8.x86_64 : The GNU versions of find utilities (find and xargs)
仓库 :base
匹配来源:
文件名 :/usr/bin/findfindutils-1:4.6.0-20.el8.x86_64 : The GNU versions of find utilities (find and xargs)
仓库 :c8-media-BaseOS
匹配来源:
文件名 :/usr/bin/find
[root@Hengji ~]# yum -y remove httpd-tools.x86_64 #卸载包
依赖关系解决。已移除:centos-logos-httpd-80.5-2.el8.noarch httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64 httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0afa8.noarch httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64 mod_http2-1.11.3-3.module_el8.2.0+307+4d18d695.x86_64 完毕![root@Hengji ~]# yum search httpd #查找包括 httpd 字符的软件包
上次元数据过期检查:0:04:14 前,执行于 2020年09月15日 星期二 18时55分37秒。
========================================= 名称 精准匹配:httpd =========================================
httpd.x86_64 : Apache HTTP Server
======================================= 名称 和 概况 匹配:httpd =======================================
lighttpd-filesystem.noarch : The basic directory layout for lighttpd
...
=========================================== 名称 匹配:httpd ===========================================
lighttpd.x86_64 : Lightning fast webserver with light system requirements
...
=========================================== 概况 匹配:httpd ===========================================
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
mod_auth_mellon.x86_64 : A SAML 2.0 authentication module for the Apache Httpd Server
yum 报错,注意的几个小问题:
1、确定光盘是否链接,光盘是否挂载
2、配置文件中格式是否正确,字母,符号有没有少写,挂载点和配置文件中设置的是否一致
3、网络源需要联网,操作和 RPM 类似,只是会自动安装依赖项
8.2.3 yum 安装开发工具软件包组
[root@Hengji ~]# yum grouplist #查看有哪些软件包组
上次元数据过期检查:0:37:39 前,执行于 2020年09月17日 星期四 09时19分23秒。
可用环境组:服务器最小安装工作站KDE Plasma 工作区定制操作系统虚拟化主机
已安装的环境组:带 GUI 的服务器
已安装组:容器管理开发工具无头系统管理
可用组:传统 UNIX 兼容性.NET 核心开发图形管理工具网络服务器RPM 开发工具科学记数法支持安全性工具智能卡支持系统工具Fedora PackagerXfce
语法:yum groupinstall GROUPNAME
yum grouplist #显示中文,如果想变成英文,则执行以一下命令
[root@Hengji ~]# echo $LANG
zh_CN.UTF-8
[root@Hengji ~]# LANG=en_US.UTF-8
[root@Hengji ~]# yum grouplist
Last metadata expiration check: 0:39:42 ago on Thu 17 Sep 2020 09:19:23 AM CST.
Available Environment Groups:ServerMinimal InstallWorkstationKDE Plasma WorkspacesCustom Operating SystemVirtualization Host
Installed Environment Groups:Server with GUI
Installed Groups:Container ManagementDevelopment ToolsHeadless Management
Available Groups:Legacy UNIX Compatibility.NET Core DevelopmentGraphical Administration ToolsNetwork ServersRPM Development ToolsScientific SupportSecurity ToolsSmart Card SupportSystem ToolsFedora PackagerXfce
测试:
当你最小化安装系统后,在源码编译安装软件包时,觉得很需要安装很多依赖包,很痛苦,可以先安装好这个 Development tools 开发工具软件包组。
[root@Hengji ~]# yum groupinstall 'Development tools' #安装开发工具软件包组。
8.3、CentOS8 中使用 DNF 管理软件包
DNF:Dandified YUM,是基于 RPM 的 Linux 发行版的软件包管理器。它用于在 Fedora / RHEL/ CentOS 操作系统中安装,更新和删除软件包。 它是 Fedora 22,CentOS8 和 RHEL8 的默认软件包管理器。 DNF 是 YUM 的下一代版本,并打算在基于 RPM 的系统中替代 YUM。 DNF 功能强大且具有健壮的特征。DNF 使维护软件包组变得容易,并且能够自动解决依赖性问题。
注:目前 DNF 命令和 YUM 命令相互兼容,软件包仓库依旧使用 YUM 仓库。
已安装软件包
[root@Hengji ~]# dnf list installed
Installed Packages
...
...
zstd.x86_64 1.4.2-2.el8 @AppStream
查找软件包
[root@Hengji ~]# dnf search httpd
安装软件包
[root@Hengji ~]# dnf install httpd -y
卸载软件包
[root@Hengji ~]# dnf remove httpd -y
下载软件包
[root@Hengji ~]# dnf download httpd
查看软件包信息
[root@Hengji ~]# dnf info httpd
检查系统中可更新软件包
[root@Hengji ~]# dnf check-update
更新所有软件包
[root@Hengji ~]# dnf update
或者
[root@Hengji ~]# dnf upgrade
更新指定软件包
[root@Hengji ~]# dnf update httpd
列出软件包组
[root@Hengji ~]# dnf grouplist
安装软件包组
[root@Hengji ~]# dnf groupinstall '开发工具'
更新软件包组
[root@Hengji ~]# dnf groupupdate '开发工具'
清空所有缓存
在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。并且软件仓库中的软件包依赖也会被清空,再次安装软件时则重新下载软件包依赖信息。
[root@Hengji ~]# dnf clean all
[root@Hengji ~]# yum clean all
重新创建新的软件包依赖关系
[root@Hengji ~]# dnf makecache
或者直接
[root@Hengji ~]# yum makecache
或者
[root@Hengji ~]# yum clean all
[root@Hengji ~]# yum list #当清空后, 列出软件列表时,会自动创建新的软件包依赖关系
RHCE8学习过程(八)Centos8软件包的管理与安装相关推荐
- linux零基础学习教程: Centos8软件包的管理与安装
本人从事IT行业已有十多年,有着丰富的实战经验,总结了大量的学习方法,更是积累了很多的学习资料,很高兴能在这里跟大家交流学习,希望能在这里跟大家共同进步和成长! 全套学习资料移步至公众号[学神来啦]更 ...
- MacBook软件包的管理器-Homebrew常用命令
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷.是一款 ...
- centos8 配置 dns_管理Linux不想用命令行?可以试试Webmin!最新CentOS8上体验一下
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将介绍如何在CentOS8或者RHEL ...
- Linux系统软件包的管理
虽然使用源码编译安装可以具有提高速度个性化的定制等优点,但对于 Linux发行商来说,则不容易管理软件包,毕竟不是每个人都会进行源码编译的,如果能够将软件预先在相同的硬体与系统上面编译好在发布的话,不 ...
- linux rmp命令安装包在哪里_rpm命令_Linux rpm 命令用法详解:RPM软件包的管理工具...
rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...
- Linux系统软件包的管理 3月30日课程
Linux系统软件包的管理 一. rpm工具 rpm Redhat Package Manager, 设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的. rpm包名字构成由- ...
- Linux 软件包管理器的目的是什么,Linux软件包的管理--RPM包管理器
在Linux中如何安装.升级.卸载软件,是我们日常运维中重要的组成部分.接下来一CentOS6系统为例,讲解如何使用 RPM 包管理器,yum包管理器以及源码的方式来管理我们的软件包. 一.相关的背景 ...
- 配置软件仓库和软件包的管理 (Linux)
配置软件仓库和管理软件包 一.软件仓库的搭建 1. 建立阿里云仓库 2. 本地软件仓库的搭建 3. 配置网络软件仓库并自动挂载 4. 配置第三方软件仓库 二.软件包的管理 1. 软件包的类型 2. 软 ...
- 八. 项目的立项管理
@(项目经理考试学习笔记) 八. 项目的立项管理 1. 项目的立项过程 2. 可行性研究 2.1 内容和步骤 2.2 初步可研 2.3 项目建议书(立项申请) 2.4 详细可研 2.4.1 依据和原则 ...
最新文章
- 9-分析事物问题并编写 Utils 文件
- OpenSwitch操作系统成为Linux基金会官方项目
- linux可以打开浏览器嘛,Linux下怎样可以打开浏览器
- 系统架构设计师考试4
- python如何确定拐点_python – 在样条拟合1d数据中找到拐点
- 终止中台乱象 《2021年中国中台市场研究报告》隆重发布
- 农村70后、80后、90后的儿时玩具有哪些?
- 园子装修 | 打造自己的直男审美博客园(施工中,持续更新)
- WebServices SOAP简单介绍
- Python中for循环之range、enumerate函数
- win10安装mvn,安装ojdbc7.jar
- selenium-python中文文档
- C++:动态规划DP;
- 流媒体相关资源下载地址(整理)
- 行星介绍html页面布局,css3 html5实现太阳系行星公转动画实例
- python编写简易木马程序_python简易木马编写
- 村医计算机在线考试答案,资讯详情-村医去卫生院换电脑,却被“威胁”停业整顿?-医德帮诊所生态服务平台-为基层诊所赋能...
- cesium 绘制轨迹
- 短时傅里叶变换(STFT)实例
- SIM300拨号上网与GPRS连接
热门文章
- HDU 1002 A+BII大数
- 喝脱脂牛奶容易长青春痘
- Java 输出单双引号问题
- 小寒也会写程序(五)
- 【四足机器人】学习笔记 欧拉角与旋转矩阵之间的转化关系
- 又爆作弊丑闻?AAAI 2023审稿人被作者找上门,才发现rebuttal阶段审稿人互相可见...
- 确定位数的C语言程序设计,c语言程序设计
- 关于时间time_t和tm的介绍(很详细)
- 如何从iCloud共享iWork文档
- Call From xxx/127.0.1.1 to xxx:9000 failed on connection拒绝连接部分解决办法