使用yum/dnf管理软件包

news2024/12/22 23:12:50

本章主要介绍使用 yum 对软件包进行管理。

  • yum 的介绍
  • 搭建yum源
  • 创建私有仓库
  • yum客户端的配置
  • yum的基本使用
  • 使用第三方yum源

使用rpm安装包时经常会遇到一个问题就是包依赖,如下所示。

[root@rhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm 
错误:依赖检测失败:
	httpd-filesystem 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
	httpd-filesystem = 2.4.37-41.module+el8.5.0+11772+c8e0c271 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
	httpd-tools = 2.4.37-41.module+el8.5.0+11772+c8e0c271 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
	libapr-1.so.0()(64bit) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
	libaprutil-1.so.0()(64bit) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
	mod_http2 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
	system-logos(httpd-logo-ng) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
[root@rhel03 ~]# 

  所谓包依赖,就是在安装A时必须先把B和C安装上去。如果用rpm一个个安装是非常困难的,这里可以使用dnf或yum命令来解决。yum命令其实是软链接到dnf命令上的,所以输 入yum或dnf都可以,后文都使用yum命令介绍。 


yum架构介绍 

为了便于理解,先看下图所示的例子。 

可能我们经常会使用360软件管家管理软件包,在360服务器上有各种软件,在PC上的 360软件管家中搜索想要安装的软件,然后单击【安装】按钮,这样就可以把软件自动安装到本地了,很方便。 

yum的架构也是类似的,如下图所示。

在服务器上存在某个目录中存储了大量的软件包,然后通过ftp或http把此目录共享出去,使 得客户端可以通过ftp或http能访问到此目录。 

在服务器端所存储的这些软件包中,服务器是知道哪些包之间有依赖关系的,例如,A、 B、C三者之间存在依赖关系,所以当客户端发布一个请求说要安装A时,如下图所示。

yum安装软件包过程

此时发现A和B、C有依赖关系,所以客户端会把A、B、C三 者都从服务器下载到本机的缓存,然后再把这三个包一起给安装上去。

如果假设A和B、C、X有依赖关系,但是X这个包并没有出现在现在的这个源中,那么当客户端要安装A时,因为缺少了X,所 以安装是失败的。此时我们就需要在客户端上指定多个源,保证所有的这些源中包含了所有需要的包,如下图所示。

 

因为客户端指定了两个源,所以当客户端发布一个请求说要 安装A时,此时从第一个源中检测到了需要的依赖包B、C,然 后从第二个源中找到了X,客户端就会把这四个包一起下载到本地缓存中并进行安装。 


用光盘搭建yum源

实验拓扑图如下图所示。 

 

 注意:下面的操作都是在rhel03上做的。

修改letc/vsftpd/vsftpd.conf中的anonymous enable选项,如下所示。

由anonymous_enable=NO修改为anonymous_enable=YES,并添加如下命令。

保存退出并启动vsftpd,命令如下。

[root@rhel03 ~]# systemctl enable vsftpd --now
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@rhel03 ~]# 

如果已经启动过了,则通过systemctl restart vsftpd重启一下,使刚做的配置生效。 

修改防火墙,命令如下。 

[root@rhel03 ~]# firewall-cmd --add-port=20-21/tcp --permanent 
success
[root@rhel03 ~]# firewall-cmd --add-port=10010-10020/tcp --permanent 
success
[root@rhel03 ~]# firewall-cmd --reload 
success
[root@rhel03 ~]# firewall-cmd --list-port
20-21/tcp 10010-10020/tcp 123/udp 323/udp
[root@rhel03 ~]# 

设置 SELinux相关的布尔值,命令如下。

[root@rhel03 ~]# setsebool -P ftpd_full_access 1
[root@rhel03 ~]# 

记住,这个布尔值一定要设置,否则客户端会出现如下图所示的错误。 

 客户端的报错信息

创建目录/var/ftp/dvd,然后把光盘挂载到此目录上,命令如下。

[root@rhel03 ~]# mkdir -pv /var/ftp/dvd
mkdir: 已创建目录 '/var/ftp/dvd'
[root@rhel03 ~]# mount /dev/cdrom /var/ftp/dvd
mount: /var/ftp/dvd: WARNING: device write-protected, mounted read-only.
[root@rhel03 ~]#

这样其他机器通过ftp访问/var/ftp/dvd时,访问的就是光盘中的内容了。设置开机自动挂载,修改/etc/fstab,内容如下。 

[root@rhel03 ~]# grep ftp /etc/fstab
/dev/cdrom                                /var/ftp/dvd            iso9660 defaults        0 0
[root@rhel03 ~]# 

至此,服务器上的yum 源就已经配置好了,/var/ftp/dvd中的内容如下所示。

[root@rhel03 ~]# ls /var/ftp/dvd/
AppStream  BaseOS  EFI  EULA  extra_files.json  GPL  images  isolinux  media.repo  RPM-GPG-KEY-redhat-beta  RPM-GPG-KEY-redhat-release  TRANS.TBL
[root@rhel03 ~]# 

此时客户端不能直接把此目录作为源来使用,服务器是知道每个包和其他包之间的依赖关系的,因为系统会把某个目录(包括子目录)中的rpm包的元数据信息放在repodata目录中。 

但是在/var/ftp/dvd中并没有repodata目录(不能单纯地用mkdir命令把此目录创建出 来,创建出来里面没有元数据是没用的),所以 /var/ftp/dvd并不能直接作为源来使用。先 来看AppStream目录的内容,命令如下。 

[root@rhel03 dvd]# ls /var/ftp/dvd/AppStream/
Packages  repodata
[root@rhel03 dvd]# 

这里repodata是 AppStream下的目录,记录了AppStream目录下所有的rpm信息,此处AppStream中所有的rpm都存储在Packages目录下了。repodata中的内容大概是这样 的,如下所示。 

[root@rhel03 dvd]# ls /var/ftp/dvd/AppStream/repodata/
167822ee59a5cbd329d31b2ff030cb2146b0fd624e390ffe3ac98fb641fb62f4-comps-AppStream.x86_64.xml.gz
2adf8b14deae5cde9dd015b563abdfba1d2a4c96659bf8386ff182f9400b023b-comps-AppStream.x86_64.xml
689bd45a22fedbffbc3e3b9d82109a2c6ed02ee8b2962136d63a3026f24d6ef0-filelists.xml.gz
99f06c9bf207d0b64dfecfeb768d255367de7e22522ae4669c2bf8361a2df4ef-other.xml.gz
b591d9fa12e0ba5c6d75b84b605f44c1daefd514068152a3fd8ba53fdb5975eb-primary.xml.gz
d12f84e558ef647914eb6d20f034920765390d579888595800f915a133457a22-modules.yaml.gz
ee6f2ed466e70c8ee4dd48d8aa3897707349e31e3f546a82e121cc53cc82d8a8-productid.gz
productid
repomd.xml
TRANS.TBL
[root@rhel03 dvd]# 

再来看BaseOS目录的内容,命令如下。 

[root@rhel03 dvd]# ls /var/ftp/dvd/BaseOS/
Packages  repodata
[root@rhel03 dvd]# 

这里repodata是 BaseOS下的目录,记录了BaseOS目录下所有的rpm信息,此处 BaseOS中所有的rpm都存储在Packages目录下了。 

总结:repodata目录中记录了repodata所在目录下所有的rpm信息,例如,BaseOS 下 的repodata 记录了BaseOS目录下所有的rpm信息。

所以,当前rhel03上有两个源,分别是/var/ftp/dvd/AppStream 和/var/ftp/dvd/BaseOS。客户端要访问这两个源,分别通过 ftp://192.168.23.33/dvd/AppStream和 ftp://192.168.23.34/dvd/BaseOS 即可。 


创建私有仓库                 

在rhel03上利用光盘对外提供了两个源分别是/var/ftp/dvd/ AppStream和 /var/ftp/dvd/BaseOS,这两个源是光盘中自带的。下面练习如何创建一个自定义的源。 

先配置rhel03使用光盘作为源,在server (192.168.23.33这台机器)中把光盘挂载 到/mnt 上,并在/etc/fstab中设置开机自动挂载。 

[root@rhel03 dvd]# tail -1 /etc/fstab 
/dev/cdrom                                /mnt            iso9660 defaults        0 0
[root@rhel03 dvd]#

这样访问/mnt时访问的就是光盘了。创建/etc/yum.repos.d/aa.repo的内容如下。 

[root@rhel03 ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0


[bb]
name=bb
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[root@rhel03 ~]# 

需要注意的是,这里file:后面是3个/,file:是类似于http;/l、ftp:;这样的写法,第三个/表示的是绝对路径。 

通过yum install安装createrepo工具包,命令如下。

[root@rhel03 ~]# yum -y install createrepo
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:1:24:02 前,执行于 2023年12月11日 星期一 10时53分13秒。
依赖关系解决。
===========================================================================================================================================================
 软件包                                      架构                             版本                                      仓库                          大小
===========================================================================================================================================================
安装:
 createrepo_c                                x86_64                           0.17.2-3.el8                              aa                            89 k
安装依赖关系:
 createrepo_c-libs                           x86_64                           0.17.2-3.el8                              aa                           115 k
 drpm                                        x86_64                           0.4.1-3.el8                               aa                            68 k

事务概要
===========================================================================================================================================================
安装  3 软件包

总计:271 k
安装大小:575 k
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                            1/1 
  安装    : drpm-0.4.1-3.el8.x86_64                                                                                                                    1/3 
  安装    : createrepo_c-libs-0.17.2-3.el8.x86_64                                                                                                      2/3 
  安装    : createrepo_c-0.17.2-3.el8.x86_64                                                                                                           3/3 
  运行脚本: createrepo_c-0.17.2-3.el8.x86_64                                                                                                           3/3 
  验证    : createrepo_c-0.17.2-3.el8.x86_64                                                                                                           1/3 
  验证    : createrepo_c-libs-0.17.2-3.el8.x86_64                                                                                                      2/3 
  验证    : drpm-0.4.1-3.el8.x86_64                                                                                                                    3/3 
已更新安装的产品。

已安装:
  createrepo_c-0.17.2-3.el8.x86_64                    createrepo_c-libs-0.17.2-3.el8.x86_64                    drpm-0.4.1-3.el8.x86_64                   

完毕!
[root@rhel03 ~]# 

关于yum install 命令会在后面小节中讲,然后创建一个目录/var/ftp/myrepo,命令如下。 

[root@rhel03 ~]# mkdir /var/ftp/myrepo
[root@rhel03 ~]# 

从光盘中拷贝一个测试用的安装包,这里就选择vsftpd的安装包。拷贝 vsftpd到 /var/ftplmyrepo中,命令如下。 

[root@rhel03 ~]# cp /mnt/AppStream/Packages/vsftpd-3.0.3-34.el8.x86_64.rpm /var/ftp/myrepo/
[root@rhel03 ~]# 

现在/var/ftp/myrepo中包含了一个 vsftpd的安装包,命令如下。

通过createrepo工具包对/var/ftp/myrepo进行操作,命令如下。

[root@rhel03 ~]# createrepo -v /var/ftp/myrepo/
12:19:45: Version: 0.17.2 (Features: DeltaRPM LegacyWeakdeps )
12:19:45: Signal handler setup
12:19:45: Thread pool ready
Directory walk started
12:19:45: Adding pkg: /var/ftp/myrepo/vsftpd-3.0.3-34.el8.x86_64.rpm
12:19:45: Dir to scan: /var/ftp/myrepo/.repodata
12:19:45: Package count: 1
Directory walk done - 1 packages
Temporary output repo path: /var/ftp/myrepo/.repodata/
12:19:45: Creating .xml.gz files
12:19:45: Setting number of packages
Preparing sqlite DBs
12:19:45: Creating databases
12:19:45: Thread pool user data ready
Pool started (with 5 workers)
Pool finished
12:19:45: Generating repomd.xml
12:19:45: Old repodata doesn't exists: Cannot rename /var/ftp/myrepo/repodata/ -> /var/ftp/myrepo/repodata.old.4850.20231211121945.396297: No such file or directory
12:19:45: Renamed /var/ftp/myrepo/.repodata/ -> /var/ftp/myrepo/repodata/
12:19:45: Memory cleanup
12:19:45: All done
[root@rhel03 ~]# 

/var/ftp/myrepo目录中的内容如下。

[root@rhel03 ~]# ls /var/ftp/myrepo/
repodata  vsftpd-3.0.3-34.el8.x86_64.rpm
[root@rhel03 ~]# 

这里生成了repodata,里面包含了/var/ftp/myrepo中所有的rpm包(这里就一个 vsftpd)的信息,那么/var/ftp/myrepo也可以作为一个源来使用了。


yum客户端的配置 

客户端要安装软件包必须指定使用哪些源,在客户端上指定源的方法是在目录/etc/yum.repos.d中创建后缀是repo的文件。文件名是什么无所谓,但后缀必须是 repo,格式如下。 

  • [名称] ‐‐‐‐用于标注不同的源
  • name= ‐‐‐‐注释信息
  • baseurl= ‐‐‐‐指定源的URL地址
  • enabled= ‐‐‐用于指定是否启用这个源,值有0和1
  • 0‐‐‐不使用这个源
  • 1‐‐‐使用这个源
  • enabled也可以写成enable
  • gpgcheck= ‐‐‐‐用于指定安装的软件包是否要进行数字签名的验证,值有0和1
  • 0‐‐不对每个安装包进行数字签名验证
  • 1‐‐对每个包做数字签名的验证
  • gpgkey=/path/如果上面 gpgcheck的值设置为1,需要使用此选项指定公钥;如果上面gp gcheck的值设置为0,这个选项可以不写。 

在服务器端已经配置了两个源,下面配置客户端让其能使用这两个源, 在/etc/yum.repos.d中创建aa.repo,内容如下。 

[root@rhel04 ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=ftp://192.168.23.33/dvd/AppStream
enabled=1
gpgcheck=0


[bb]
name=bb
baseurl=ftp://192.168.23.33/dvd/BaseOS
enabled=1
gpgcheck=0
[root@rhel04 ~]# 

这里在aa.repo中配置了两个源,分别标记为aa和 bb。可以把多个源写在同一个repo文件中,也可以把多个源写在不同的repo文件中。 

当通过ftp://192.168.23.33来访问服务器时,访问的是服务器的/var/ftp目录,千万不要写成ftp://192.168.23.33/var/ftp了,否则对应的就是服务器的/var/ftp/var/tp目录了。 

ftp://192.168.23.33/dvd对应的是服务器的/var/ftp/dvd目录,但是这个不能作为源,因 为/var/ftp/dvd下没有对应的repodata目录记录/var/ftp/dvd中的 rpm信息。 

因为rpm包都是存储在Packages中的,所以有人可能说我怕系统找不到软件包,所以写成baseurl=ftp:/192.168.23.33/dvd/BaseOS/Packages行不行?答案是不行的,你不用担心系统找不到rpm在哪里。写成baseurl=ftp://192.168.23.33/dvd/BaseOS,会通过读取它的子目录repodata中的数据从而知道rpm在哪个目录中。 

此时/etc/yum.repos.d中的文件如下。

[root@rhel04 ~]# ls /etc/yum.repos.d/
aa.repo  redhat.repo
[root@rhel04 ~]# 

这里/etclyum.repos.d下面的redhat.repo是系统自动生成的可以不用管,删除不删除都无所谓。 

rhel04通过ftp访问rhel03上的源。如果想直接使用本地光盘作为yum源,那么可以把光盘挂载到某个目录上,然后直接使用此目录作为源。 


yum的基本使用 

通过yum repolist查看当前正在使用的源,命令如下。

[root@rhel04 ~]# yum repolist 
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

仓库 id                                                                         仓库名称
aa                                                                              aa
bb                                                                              bb
[root@rhel04 ~]# 

可以看到,现在正在使用两个源aa和 bb,由/etc/yum.repos.d/aa.repo文件里中括号的部分定义。 

如果/etc/yum.repos.d/aa.repo的内容发生了改变,需要用yum clean all 命令清空一下缓存,命令如下。 

[root@rhel04 ~]# yum clean all
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

13 文件已删除
[root@rhel04 ~]#

重新创建缓存数据用yum makecache命令,命令如下。 

[root@rhel04 ~]# yum makecache 
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

aa                                                                                                                          29 MB/s | 7.2 MB     00:00    
bb                                                                                                                         8.5 MB/s | 2.4 MB     00:00    
上次元数据过期检查:0:00:01 前,执行于 2023年12月11日 星期一 21时22分39秒。
元数据缓存已建立。
[root@rhel04 ~]# 

这步不是必需的,即使不重新创建缓存数据,当我们下次使用yum时也会自动创建。 


查询 

想查询yum源中是否存在某个包,可以通过 yum search或 yum list来查询。例如,要查询lrzsz这个包,命令如下。 

[root@rhel04 ~]# yum search lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:01:24 前,执行于 2023年12月11日 星期一 21时22分39秒。
================================================================== 名称 精准匹配:lrzsz ===================================================================
lrzsz.x86_64 : The lrz and lsz modem communications programs
[root@rhel04 ~]# 

对于yum search 来说,可以在yum源中查找包名中含有lrzsz的包,如果输入的是 yum search lrzs,它也是能查找到的,命令如下。 

[root@rhel04 ~]# yum search lrzs
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:02:02 前,执行于 2023年12月11日 星期一 21时22分39秒。
===================================================================== 名称 匹配:lrzs =====================================================================
lrzsz.x86_64 : The lrz and lsz modem communications programs
[root@rhel04 ~]# 

也就是yum search后面跟的包名可以不是完整的包名,但是这个命令查询的结果无法判断这个包在系统上是否安装。可以使用yum list命令查看包是否已经安装,命令如下。 

[root@rhel04 ~]# yum list lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:02:39 前,执行于 2023年12月11日 星期一 21时22分39秒。
可安装的软件包
lrzsz.x86_64                                                               0.12.20-43.el8                                                                bb
[root@rhel04 ~]# 

这里显示“可安装的”说明在系统中并没有安装,最后的bb说明lrzsz是在bb这个源中 的。

对于yum list来说,后面必须跟上完整的包名,如果跟的不是完整的包名则是查询不出来的,如下所示。 

[root@rhel04 ~]# yum list lrzs
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:03:36 前,执行于 2023年12月11日 星期一 21时22分39秒。
错误:没有匹配的软件包可以列出
[root@rhel04 ~]# 

所以,在使用yum list命令时,可以结合通配符一起使用,命令如下。 

[root@rhel04 ~]# yum list lrzs\*
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:04:05 前,执行于 2023年12月11日 星期一 21时22分39秒。
可安装的软件包
lrzsz.x86_64                                                               0.12.20-43.el8                                                                bb
[root@rhel04 ~]# 

  这里的意思是在yum源中查找以lrzs开头的包,*前面加上\的目的是防止 bash把*解析 了,希望到yum源中去解析而不是在bash中解析。到底使用yum search还是yum list就要 看个人习惯了。 


安装与卸载软件包 

安装软件包用“yum install 包名”命令,现在安装 lrzsz,命令如下。 

[root@rhel04 ~]# yum -y install lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:05:02 前,执行于 2023年12月11日 星期一 21时22分39秒。
依赖关系解决。
===========================================================================================================================================================
 软件包                             架构                                版本                                         仓库                             大小
===========================================================================================================================================================
安装:
 lrzsz                              x86_64                              0.12.20-43.el8                               bb                               84 k

事务概要
===========================================================================================================================================================
安装  1 软件包

总下载:84 k
安装大小:187 k
下载软件包:
lrzsz-0.12.20-43.el8.x86_64.rpm                                                                                            1.3 MB/s |  84 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                       1.3 MB/s |  84 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                            1/1 
  安装    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
  运行脚本: lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
  验证    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
已更新安装的产品。

已安装:
  lrzsz-0.12.20-43.el8.x86_64                                                                                                                                

完毕!
[root@rhel04 ~]# 

这样软件包就算是安装上去了,查看,命令如下, 

[root@rhel04 ~]# yum list lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:05:36 前,执行于 2023年12月11日 星期一 21时22分39秒。
已安装的软件包
lrzsz.x86_64                                                               0.12.20-43.el8                                                               @bb
[root@rhel04 ~]# 

这里已显示“已安装”。

不管是安装还是卸载,每次安装(或卸载)时都会询问,如果不想被询问,可以加上y选 项,y加在下面1、2、3的位置都可以。 

  • yum 1 install 2 包名 3 

卸载软件包用“yum remove 包名”命令,现在把 Irzsz卸载掉,命令如下。 

[root@rhel04 ~]# yum -y remove lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

依赖关系解决。
===========================================================================================================================================================
 软件包                             架构                                版本                                        仓库                              大小
===========================================================================================================================================================
移除:
 lrzsz                              x86_64                              0.12.20-43.el8                              @bb                              187 k

事务概要
===========================================================================================================================================================
移除  1 软件包

将会释放空间:187 k
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                            1/1 
  删除    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
  运行脚本: lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
  验证    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
已更新安装的产品。

已移除:
  lrzsz-0.12.20-43.el8.x86_64                                                                                                                              

完毕!
[root@rhel04 ~]# 

这样就把lrzsz卸载了。下面查看系统中是否还有Irzsz,命令如下。 

[root@rhel04 ~]# rpm -qa | grep lrzsz
[root@rhel04 ~]# 

如果要更新系统中的某个软件包,则用“yum update包名y”命令。如果要更新系统中所有的软件包,则直接使用yum udpate -y命令即可。 

查询包的信息用“yum info包名”命令,命令如下。

[root@rhel04 ~]# yum info lrzsz
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:08:00 前,执行于 2023年12月11日 星期一 21时22分39秒。
可安装的软件包
名称         : lrzsz
版本         : 0.12.20
发布         : 43.el8
架构         : x86_64
大小         : 84 k
源           : lrzsz-0.12.20-43.el8.src.rpm
仓库         : bb
概况         : The lrz and lsz modem communications programs
URL          : http://www.ohse.de/uwe/software/lrzsz.html
协议         : GPLv2+
描述         : 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.

[root@rhel04 ~]# 

下载 

使用yum 安装软件包时,先把要安装的软件包及所依赖的包都下载到本地缓存中,然后再一起安装。如果只想把这些包下载下来并不安装,可以使用--downloadonly和-- downloaddir=/dir选项,其中--downloadonly 只让yum把软件包下载下来并不执行安装操作,下载到哪个目录由--downloaddir来指定。 

现在想把 httpd及其依赖的包全部下载到/xx目录,首先创建/xx目录,命令如下。

[root@rhel04 ~]# mkdir /xx
[root@rhel04 ~]# 

然后开始下载指定的包,命令如下。 

[root@rhel04 ~]# yum -y install httpd --downloadonly --downloaddir=/xx
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:09:54 前,执行于 2023年12月11日 星期一 21时22分39秒。
依赖关系解决。
===========================================================================================================================================================
 软件包                                架构                      版本                                                          仓库                   大小
===========================================================================================================================================================
安装:
 httpd                                 x86_64                    2.4.37-41.module+el8.5.0+11772+c8e0c271                       aa                    1.4 M
安装依赖关系:
 apr                                   x86_64                    1.6.3-12.el8                                                  aa                    130 k
 apr-util                              x86_64                    1.6.1-6.el8                                                   aa                    105 k
 httpd-filesystem                      noarch                    2.4.37-41.module+el8.5.0+11772+c8e0c271                       aa                     39 k
 httpd-tools                           x86_64                    2.4.37-41.module+el8.5.0+11772+c8e0c271                       aa                    106 k
 mod_http2                             x86_64                    1.15.7-3.module+el8.4.0+8625+d397f3da                         aa                    154 k
 redhat-logos-httpd                    noarch                    84.5-1.el8                                                    bb                     29 k
安装弱的依赖:
 apr-util-bdb                          x86_64                    1.6.1-6.el8                                                   aa                     25 k
 apr-util-openssl                      x86_64                    1.6.1-6.el8                                                   aa                     27 k
启用模块流:
 httpd                                                           2.4                                                                                      

事务概要
===========================================================================================================================================================
安装  9 软件包

总下载:2.0 M
安装大小:5.4 M
YUM将仅会从事务下载软件包。
下载软件包:
(1/9): apr-util-1.6.1-6.el8.x86_64.rpm                                                                                     1.6 MB/s | 105 kB     00:00    
(2/9): apr-util-bdb-1.6.1-6.el8.x86_64.rpm                                                                                 351 kB/s |  25 kB     00:00    
(3/9): apr-1.6.3-12.el8.x86_64.rpm                                                                                         1.7 MB/s | 130 kB     00:00    
(4/9): apr-util-openssl-1.6.1-6.el8.x86_64.rpm                                                                             2.3 MB/s |  27 kB     00:00    
(5/9): httpd-filesystem-2.4.37-41.module+el8.5.0+11772+c8e0c271.noarch.rpm                                                 1.3 MB/s |  39 kB     00:00    
(6/9): httpd-tools-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm                                                      3.8 MB/s | 106 kB     00:00    
(7/9): mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm                                                           10 MB/s | 154 kB     00:00    
(8/9): redhat-logos-httpd-84.5-1.el8.noarch.rpm                                                                            2.1 MB/s |  29 kB     00:00    
(9/9): httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm                                                             24 MB/s | 1.4 MB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                        15 MB/s | 2.0 MB     00:00     
完毕!
下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'yum clean packages' 删除软件包缓存。
[root@rhel04 ~]#

查看一下/xx中的内容,命令如下。

[root@rhel04 ~]# ls /xx
apr-1.6.3-12.el8.x86_64.rpm                               httpd-filesystem-2.4.37-41.module+el8.5.0+11772+c8e0c271.noarch.rpm
apr-util-1.6.1-6.el8.x86_64.rpm                           httpd-tools-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm
apr-util-bdb-1.6.1-6.el8.x86_64.rpm                       mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm
apr-util-openssl-1.6.1-6.el8.x86_64.rpm                   redhat-logos-httpd-84.5-1.el8.noarch.rpm
httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm
[root@rhel04 ~]# 

可以看到,已经把httpd及其依赖的包全部下载下来了。 


查询缺失命令 

有时想执行某个命令时却发现系统中并没有此命令,如下所示。 

[root@rhel04 ~]# smbclient -L //192.168.23.34
bash: smbclient: 未找到命令...
安装软件包“samba-client”以提供命令“smbclient”? [N/y] n


[root@rhel04 ~]# 

这里会检测到smbclient命令是由安装包 samba-client安装的,会询问要不要安装它,如果不安装则输入“n”并按【Enter】键,这里并没有让它自动安装。 

没有这个命令肯定是因为某个包没有安装的缘故,那么怎么知道这个命令是哪个包安装出来的呢?可以用yum whatprovides */smbclient命令来查询,意思就是往yum源中大吼一嗓 子:谁能提供smbclient这个命令? 

这里*的意思是路径的通配符,即不管smbclient在哪个目录下,命令如下。 

[root@rhel04 ~]# yum whatprovides */smbclient
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:13:23 前,执行于 2023年12月11日 星期一 21时22分39秒。
bash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash
仓库        :@System
匹配来源:
文件名    :/usr/share/bash-completion/completions/smbclient

bash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash
仓库        :bb
匹配来源:
文件名    :/usr/share/bash-completion/completions/smbclient

samba-client-4.14.5-2.el8.x86_64 : Samba client programs
仓库        :bb
匹配来源:
文件名    :/usr/bin/smbclient

[root@rhel04 ~]# 

因为可执行命令一般放在/bin或/usr/bin下,所以可以判断出来要安装的软件包是 samba-client-4.13.3-3.el8.x86_64。我们现在使用yum install samba-client -y命令把它安装上去之后,然后再次执行smbclient命令,命令如下。 

[root@rhel04 ~]# yum -y install samba-client
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:14:31 前,执行于 2023年12月11日 星期一 21时22分39秒。
依赖关系解决。
===========================================================================================================================================================
 软件包                                   架构                               版本                                     仓库                            大小
===========================================================================================================================================================
安装:
 samba-client                             x86_64                             4.14.5-2.el8                             bb                             701 k

事务概要
===========================================================================================================================================================
安装  1 软件包

总下载:701 k
安装大小:2.3 M
下载软件包:
samba-client-4.14.5-2.el8.x86_64.rpm                                                                                        23 MB/s | 701 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                        19 MB/s | 701 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                            1/1 
  安装    : samba-client-4.14.5-2.el8.x86_64                                                                                                           1/1 
  运行脚本: samba-client-4.14.5-2.el8.x86_64                                                                                                           1/1 
  验证    : samba-client-4.14.5-2.el8.x86_64                                                                                                             1/1 
已更新安装的产品。

已安装:
  samba-client-4.14.5-2.el8.x86_64                                                                                                                           

完毕!
[root@rhel04 ~]# 
[root@rhel04 ~]# smbclient -L //192.168.23.34
do_connect: Connection to 192.168.23.34 failed (Error NT_STATUS_CONNECTION_REFUSED)

现在是已经可以执行的了.


组的使用 

前面安装软件包时都是一个个安装的,假设现在想在服务器上实现某个“功能”,这个“功能”需要很多个包,但是不清楚需要安装哪些包,怎么办?可以利用yum中的group功 能,用yum grouplist命令查询系统中一共有多少组,命令如下。 

[root@rhel04 ~]# yum grouplist
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:16:20 前,执行于 2023年12月11日 星期一 21时22分39秒。
可用环境组:
   服务器
   最小安装
   工作站
   虚拟化主机
   定制操作系统
已安装的环境组:
   带 GUI 的服务器
已安装组:
   容器管理
   开发工具
   无头系统管理
可用组:
   .NET 核心开发
   RPM 开发工具
   图形管理工具
   传统 UNIX 兼容性
   网络服务器
   科学记数法支持
   安全性工具
   智能卡支持
   系统工具
[root@rhel04 ~]# 

这里显示的可用组是系统没有安装或组中的包没有安装全,已安装组说明这个组是已经安装过的。如果要查看某个组的信息,可以用“yum groupinfo组名”命令。例如,现在要查看虚拟化主机这个组的信息,命令如下。 

[root@rhel04 ~]# yum groupinfo 虚拟化主机
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:17:22 前,执行于 2023年12月11日 星期一 21时22分39秒。
环境组:虚拟化主机
 描述:最小虚拟化主机。
 必选软件包组:
   Base
   Core
   Standard
   Virtualization Hypervisor
   Virtualization Tools
 可选软件包组:
   Debugging Tools
   Network File System Client
   Remote Management for Linux
   Virtualization Platform
[root@rhel04 ~]# 

可以通过“yum groupinstall 组名”来安装某个组。例如,要安装虚拟化功能,就把“虚拟化主机”这个组安装上去,命令如下。 

[root@rhel04 ~]# yum -y groupinstall 虚拟化主机
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:18:48 前,执行于 2023年12月11日 星期一 21时22分39秒。
依赖关系解决。
=============================================================================================================================================================
 软件包                                         架构                   版本                                                         仓库                大小
=============================================================================================================================================================
安装组/模块包:
 libguestfs                                     x86_64                 1:1.40.2-28.module+el8.5.0+10717+67be7ac4                    aa                 2.7 M
 libvirt                                        x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                  61 k
 virtio-win                                     noarch                 1.9.19-1.el8                                                 aa                 180 M
安装依赖关系:
 autogen-libopts                                x86_64                 5.18.12-8.el8                                                aa                  75 k
 bind-export-libs                               x86_64                 32:9.11.26-6.el8                                             bb                 1.1 M
 dhcp-client                                    x86_64                 12:4.3.6-45.el8                                              bb                 318 k
 dhcp-common                                    noarch                 12:4.3.6-45.el8                                              bb                 207 k
 dhcp-libs                                      x86_64                 12:4.3.6-45.el8                                              bb                 148 k
 gnutls-dane                                    x86_64                 3.6.16-4.el8                                                 aa                  52 k
 gnutls-utils                                   x86_64                 3.6.16-4.el8                                                 aa                 348 k
 hivex                                          x86_64                 1.3.18-21.module+el8.5.0+10709+b3edb581                      aa                 113 k
 ipcalc                                         x86_64                 0.2.4-4.el8                                                  bb                  38 k
 libvirt-bash-completion                        x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                  61 k
 libvirt-client                                 x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                 368 k
 libvirt-daemon-config-nwfilter                 x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                  67 k
 scrub                                          x86_64                 2.5.2-16.el8                                                 aa                  45 k
 supermin                                       x86_64                 5.1.19-10.module+el8.3.0+6423+e4cb6418                       aa                 709 k
 syslinux                                       x86_64                 6.04-5.el8                                                   bb                 578 k
 syslinux-extlinux                              x86_64                 6.04-5.el8                                                   bb                 140 k
 syslinux-extlinux-nonlinux                     noarch                 6.04-5.el8                                                   bb                 386 k
 syslinux-nonlinux                              noarch                 6.04-5.el8                                                   bb                 554 k
安装环境组:
 Virtualization Host                                                                                                                                        
安装组:
 Base                                                                                                                                                       
 Core                                                                                                                                                       
 Standard                                                                                                                                                   
 Virtualization Hypervisor                                                                                                                                  
 Virtualization Tools                                                                                                                                       

事务概要
=============================================================================================================================================================
安装  21 软件包

总下载:188 M
安装大小:799 M
下载软件包:
(1/21): autogen-libopts-5.18.12-8.el8.x86_64.rpm                                                                             843 kB/s |  75 kB     00:00    
(2/21): gnutls-dane-3.6.16-4.el8.x86_64.rpm                                                                                  547 kB/s |  52 kB     00:00    
(3/21): gnutls-utils-3.6.16-4.el8.x86_64.rpm                                                                                 2.3 MB/s | 348 kB     00:00    
(4/21): hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64.rpm                                                             1.2 MB/s | 113 kB     00:00    
(5/21): libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                                            977 kB/s |  61 kB     00:00    
(6/21): libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                            1.7 MB/s |  61 kB     00:00    
(7/21): libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                     939 kB/s |  67 kB     00:00    
(8/21): scrub-2.5.2-16.el8.x86_64.rpm                                                                                        518 kB/s |  45 kB     00:00    
(9/21): libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                                     2.1 MB/s | 368 kB     00:00    
(10/21): libguestfs-1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64.rpm                                                       7.3 MB/s | 2.7 MB     00:00    
(11/21): supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64.rpm                                                          4.7 MB/s | 709 kB     00:00    
(12/21): dhcp-client-4.3.6-45.el8.x86_64.rpm                                                                                 7.2 MB/s | 318 kB     00:00    
(13/21): bind-export-libs-9.11.26-6.el8.x86_64.rpm                                                                           6.7 MB/s | 1.1 MB     00:00    
(14/21): dhcp-common-4.3.6-45.el8.noarch.rpm                                                                                 2.6 MB/s | 207 kB     00:00    
(15/21): dhcp-libs-4.3.6-45.el8.x86_64.rpm                                                                                   4.8 MB/s | 148 kB     00:00    
(16/21): ipcalc-0.2.4-4.el8.x86_64.rpm                                                                                       1.5 MB/s |  38 kB     00:00    
(17/21): syslinux-extlinux-6.04-5.el8.x86_64.rpm                                                                             3.3 MB/s | 140 kB     00:00    
(18/21): syslinux-6.04-5.el8.x86_64.rpm                                                                                      8.0 MB/s | 578 kB     00:00    
(19/21): syslinux-extlinux-nonlinux-6.04-5.el8.noarch.rpm                                                                    4.2 MB/s | 386 kB     00:00    
(20/21): syslinux-nonlinux-6.04-5.el8.noarch.rpm                                                                             6.1 MB/s | 554 kB     00:00    
(21/21): virtio-win-1.9.19-1.el8.noarch.rpm                                                                                   43 MB/s | 180 MB     00:04    
-------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                          41 MB/s | 188 MB     00:04     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                              1/1 
  安装    : syslinux-nonlinux-6.04-5.el8.noarch                                                                                                         1/21 
  安装    : syslinux-6.04-5.el8.x86_64                                                                                                                  2/21 
  安装    : syslinux-extlinux-nonlinux-6.04-5.el8.noarch                                                                                                3/21 
  安装    : syslinux-extlinux-6.04-5.el8.x86_64                                                                                                         4/21 
  运行脚本: syslinux-extlinux-6.04-5.el8.x86_64                                                                                                         4/21 
  安装    : ipcalc-0.2.4-4.el8.x86_64                                                                                                                   5/21 
  安装    : dhcp-libs-12:4.3.6-45.el8.x86_64                                                                                                            6/21 
  安装    : dhcp-common-12:4.3.6-45.el8.noarch                                                                                                          7/21 
  安装    : bind-export-libs-32:9.11.26-6.el8.x86_64                                                                                                    8/21 
  运行脚本: bind-export-libs-32:9.11.26-6.el8.x86_64                                                                                                    8/21 
  安装    : dhcp-client-12:4.3.6-45.el8.x86_64                                                                                                          9/21 
  安装    : supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64                                                                                     10/21 
  安装    : scrub-2.5.2-16.el8.x86_64                                                                                                                  11/21 
  安装    : libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                               12/21 
  运行脚本: libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                               12/21 
  安装    : libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                      13/21 
  安装    : hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64                                                                                       14/21 
  安装    : gnutls-dane-3.6.16-4.el8.x86_64                                                                                                            15/21 
  安装    : autogen-libopts-5.18.12-8.el8.x86_64                                                                                                       16/21 
  安装    : gnutls-utils-3.6.16-4.el8.x86_64                                                                                                           17/21 
  安装    : libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                               18/21 
  运行脚本: libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                               18/21 
  安装    : libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                                      19/21 
  安装    : libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                                                                                20/21 
  运行脚本: libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                                                                                20/21 
  安装    : virtio-win-1.9.19-1.el8.noarch                                                                                                             21/21 
  运行脚本: libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                               21/21 
  运行脚本: virtio-win-1.9.19-1.el8.noarch                                                                                                             21/21 
  验证    : autogen-libopts-5.18.12-8.el8.x86_64                                                                                                        1/21 
  验证    : gnutls-dane-3.6.16-4.el8.x86_64                                                                                                             2/21 
  验证    : gnutls-utils-3.6.16-4.el8.x86_64                                                                                                            3/21 
  验证    : hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64                                                                                        4/21 
  验证    : libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                                                                                 5/21 
  验证    : libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                                       6/21 
  验证    : libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                       7/21 
  验证    : libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                                8/21 
  验证    : libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                9/21 
  验证    : scrub-2.5.2-16.el8.x86_64                                                                                                                  10/21 
  验证    : supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64                                                                                     11/21 
  验证    : virtio-win-1.9.19-1.el8.noarch                                                                                                             12/21 
  验证    : bind-export-libs-32:9.11.26-6.el8.x86_64                                                                                                   13/21 
  验证    : dhcp-client-12:4.3.6-45.el8.x86_64                                                                                                         14/21 
  验证    : dhcp-common-12:4.3.6-45.el8.noarch                                                                                                         15/21 
  验证    : dhcp-libs-12:4.3.6-45.el8.x86_64                                                                                                           16/21 
  验证    : ipcalc-0.2.4-4.el8.x86_64                                                                                                                  17/21 
  验证    : syslinux-6.04-5.el8.x86_64                                                                                                                 18/21 
  验证    : syslinux-extlinux-6.04-5.el8.x86_64                                                                                                        19/21 
  验证    : syslinux-extlinux-nonlinux-6.04-5.el8.noarch                                                                                               20/21 
  验证    : syslinux-nonlinux-6.04-5.el8.noarch                                                                                                        21/21 
已更新安装的产品。

已安装:
  autogen-libopts-5.18.12-8.el8.x86_64                                  bind-export-libs-32:9.11.26-6.el8.x86_64                                             
  dhcp-client-12:4.3.6-45.el8.x86_64                                    dhcp-common-12:4.3.6-45.el8.noarch                                                   
  dhcp-libs-12:4.3.6-45.el8.x86_64                                      gnutls-dane-3.6.16-4.el8.x86_64                                                      
  gnutls-utils-3.6.16-4.el8.x86_64                                      hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64                                 
  ipcalc-0.2.4-4.el8.x86_64                                             libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                          
  libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                 libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                
  libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64          libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64         
  scrub-2.5.2-16.el8.x86_64                                             supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64                               
  syslinux-6.04-5.el8.x86_64                                            syslinux-extlinux-6.04-5.el8.x86_64                                                  
  syslinux-extlinux-nonlinux-6.04-5.el8.noarch                          syslinux-nonlinux-6.04-5.el8.noarch                                                  
  virtio-win-1.9.19-1.el8.noarch                                       

完毕!
[root@rhel04 ~]# 

这样就把需要的组安装完成了。如果卸载,用“yum groupremove 组名”命令即可。 


使用第三方yum源 

对于rhel04来说,通过ftp可以访问rhel03上光盘中的包。但是有许多包在光盘中并没 有,例如,要安装ansible,命令如下。 

[root@rhel04 ~]# yum list ansible
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:21:05 前,执行于 2023年12月11日 星期一 21时22分39秒。
错误:没有匹配的软件包可以列出
[root@rhel04 ~]# 

可以看到,光盘中并没有ansible这个包,所以此时要使用第三方的yum源。对于CentOS 或RHEL来说,最常用的源就是epel了,下面演示如何给server2添加 epel源。 

先安装epel安装包,命令如下。 

[root@rhel04 ~]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

安装好之后会生成一系列的repo文件,如下所示。 

[root@rhel04 ~]# ls /etc/yum.repos.d/
aa.repo  epel-modular.repo  epel.repo  epel-testing-modular.repo  epel-testing.repo  redhat.repo
[root@rhel04 ~]#

把这些以 epel开头的repo文件中的地址换成阿里云的地址,命令如下。

[root@rhel04 ~]# sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
[root@rhel04 ~]# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
[root@rhel04 ~]# 

这样rhel04就可以使用epel源了。 

上面的操作步骤可以到阿里云官方镜像站https://developer.aliyun.com/mirror/,单击 epel之后可以看到具体步骤。 

[root@rhel04 ~]# yum list ansible
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Extra Packages for Enterprise Linux 8 - x86_64                                                                             1.4 MB/s |  16 MB     00:11    
上次元数据过期检查:0:00:11 前,执行于 2023年12月11日 星期一 21时48分39秒。
可安装的软件包
ansible.noarch                                                               8.3.0-1.el8                                                               epel
[root@rhel04 ~]# 

可以看到,此时rhel04所使用的源中已经有ansible了。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【漏洞复现】云时空社会化商业ERP系统gpy文件上传

漏洞描述 用友软件的先进管理理念,汇集各医药企业特色管理需求,通过规范各个流通环节从而提高企业竞争力、降低人员成本,最终实现全面服务于医药批发、零售连锁企业的信息化建设的目标,是一款全面贴合最新GSP要求的医药流通行业一站式管理系统。 时空云社会化商业ERP gpy…

GNSS - PPP软件 - GAMP 在VS2019/2022下完成调试、跑通程序(超详细!)

目录 一、前期准备 二、调试详细步骤 1.VS中新建项目 2.复制源码至项目文件夹 3.将源码中“.c”文件和“.h”文件添加至项目指定位置 4.修改项目属性: (1)【 配置属性 -> C/C ->预处理器 ->预处理器定义】添加如下 (2)【配置属性->链接器->调…

产品固件烧写方案

1、前言 一成熟的量产的嵌入式产品,软件一般分为BootLoader和App,BootLoader用于启动校验、App升级、App版本回滚等功能,BootLoader在cpu上电第一阶段中运行,之后跳转至App地址执行应用程序。 因此,在发布固件的时候&a…

12.11 C++ 作业

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配&#xf…

[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........

文章目录 一、完整代码二、论文解读2.1 介绍2.2 架构2.3 输入端2.4 结果 三、过程实现四、整体总结 论文:Unified Language Model Pre-training for Natural Language Understanding and Generation 作者:Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xia…

编程实战:自己编写HTTP服务器(系列4:查看文件、下载等一般功能)

系列入口:编程实战:自己编写HTTP服务器(系列1:概述和应答)-CSDN博客 本文介绍各种功能的实现。大部分是特定内置入口。 目录 一、默认页 二、查看文件 三、关闭服务 四、下载页面 一、默认页 前面在已经介绍过重定…

UE4/UE5 修改/还原场景所有Actor的材质

使用蓝图方法: 1.修改场景所有Actor 材质: Wirframe:一个材质类 MatList:获取到的所有模型的全部材质 的列表 TempAllClass:场景中所有获取的 Actor 的列表 功能方法如下: 蓝图代码可复制在&#xff1a…

MongoDB在Windows系统和Linux系统中实现自动定时备份

本文主要介绍MongoDB在Windows系统和Linux系统中如何实现自动定时备份。 目录 MongoDB在Windows系统中实现自动定时备份MongoDB在Linux系统中实现自动定时备份备份步骤备份恢复 MongoDB在Windows系统中实现自动定时备份 要在Windows系统中实现自动定时备份MongoDB数据库&#…

界面控件DevExpress中文教程 - 如何用Office File API组件填充PDF表单

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装Microsoft Office,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

《Spring Cloud Alibaba 从入门到实战》分布式消息(事件)驱动

分布式消息(事件)驱动 1、简介 事件驱动架构(Event-driven 架构,简称 EDA)是软件设计领域内的一套程序设计模型。 这套模型的意义是所有的操作通过事件的发送/接收来完成。 传统软件设计 举个例子,比如一个订单的创建在传统软…

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分 概述NLP 简介文本处理词嵌入上下文理解 文本数据加载to_device 函数构造数据加载样本数量 len获取样本 getitem 分词构造函数调用函数轮次嵌入 RobertaRoberta 创新点NSP (Next Sentence Prediction…

如何将用户有过行为的item用list形式记录下来,另外如何计算list里的个数

导语: 最近做项目,发现有些语法想一想是知道,但实际操作起来跟想的情况不一样哈哈。不是遇见bug就是输出的结果不是自己想要的,CSDN跟知乎找了很多没怎么解决,后面多摸索多实操终于解决! test_data[item_…

Oracle中LISTAGG 函数 的使用

概念:对于查询中的每个组,LISTAGG 聚合函数根据 ORDER BY 表达式对该组的行进行排序,然后将值串联成一个字符串

Appium微信小程序自动化环境准备

一、前置说明 微信从8.0.19开始内核从x5换成xweb之后,原先的开启webview调试的原方案已经会报503错误。 点击下面的链接,都会报503错误: http://debugmm.qq.com/?forcex5ture http://debugx5.qq.com 微信内核升级为xweb之后,需要…

数据结构之----逻辑结构、物理结构

数据结构之----逻辑结构、物理结构 目前我们常见的数据结构分别有: 数组、链表、栈、队列、哈希表、树、堆、图 而它们可以从 逻辑结构和物理结构两个维度进行分类。 什么是逻辑结构? 逻辑结构是指数据元素之间的逻辑关系,而逻辑结构又分为…

有趣的数学 数学建模入门三 数学建模入门示例两例 利用微积分求解

一、入门示例1 1、问题描述 某宾馆有150间客房,经过一段时间的经营,该宾馆经理得到一些数据:如果每间客房定价为200元,入住率为55%;定价为180元,入住率为65%;定价为160元…

PyTorch张量:内存布局

你可能对 torch 上的某些函数感到困惑,它们执行相同的操作但名称不同。 例如: reshape()、view()、permute()、transpose() 等。 这些函数的做法真的不同吗? 不! 但为了理解它,我们首先需要了解一下张量在 pytorch 中…

AR-LDM原理及代码分析

AR-LDM原理AR-LDM代码分析pytorch_lightning(pl)的hook流程main.py 具体分析TrainSampleLightningDatasetARLDM blip mm encoder AR-LDM原理 左边是模仿了自回归地从1, 2, ..., j-1来构造 j 时刻的 frame 的过程。 在普通Stable Diffusion的基础上,使用了1, 2, .…

人工智能|深度学习——知识蒸馏

一、引言 1.1 深度学习的优点 特征学习代替特征工程:深度学习通过从数据中自己学习出有效的特征表示,代替以往机器学习中繁琐的人工特征工程过程,举例来说,对于图片的猫狗识别问题,机器学习需要人工的设计、提取出猫的…

产品<Axure的安装以及组件介绍

Axure介绍: Axure是一款用户体验设计工具,可以用于创建交互式原型、线框图和设计文档。它支持快速原型开发、界面设计、信息架构、流程图和注释等功能,可以帮助设计师快速地创建和共享交互式原型,从而更好地与客户和团队协作。 …