Linux系统的软件管理采用的是应用市场的模式,所有软件都集中存放到一个服务器上面,任何主机想使用软件,可以联网下载安装、安装!

在模拟环境和考试,都是提前做好了这么一个应用软件服务器,考试会提供该服务器的信息!我们需要做的是修改red和blue虚拟机,告诉虚拟机连接哪个服务器即可!

模拟环境的服务器信息是(应用商店的网址):

http://server1.lab0.example.com/rhel9/BaseOS

http://server1.lab0.example.com/rhel9/AppStream

http://server1.lab0.example.com/rhel9/RPM-GPG-KEY-redhat-release

 

我如何告诉我的Linux电脑,到哪个网址(哪个应用商店)下载软件呢?

#/etc/yum.repos.d/该目录是存放软件服务器信息的特定位置不可以改变

#在该目录下,需要创建任意文件名,扩展名为repo的文件

[root@red ~]# vim /etc/yum.repos.d/el9.repo

新建一个repo文件,默认在命令模式,按i键进入编辑模式,手动输入内容如下:

[base]                          #软件服务器的ID(任意)
name=mybase                    #软件服务器的名称(任意)
baseurl=http://server1.lab0.example.com/rhel9/BaseOS  
#服务器地址
gpgcheck=0             #是否验证网上的软件包密钥(0不验证,1验证)
 
[app]
name=stream
baseurl=http://server1.lab0.example.com/rhel9/AppStream
gpgcheck=0

编辑完成后,按ESC键返回命令模式,在输入:wq保存退出

#如果gpgcheck=1,则需要额外提供一个参数gpgkey=密钥文件

#假设题目给了密钥文件是:http://server1.lab0.example.com/rhel9/RPM-GPG-KEY-redhat-release

gpgcheck=1
gpgkey=http://server1.lab0.example.com/rhel9/RPM-GPG-KEY-redhat-release

[root@red ~]# yum repoinfo #验证,查看软件仓库的信息

或者

[root@red ~]# dnf repoinfo #验证,查看软件仓库的信息

 

[root@red ~]# dnf install tar #安装tar软件包

Total download size: 890 k

Installed size: 3.0 M

Is this ok [y/N]: y #输入y确认安装

 

[root@red ~]# dnf -y install bzip2 #非交互式直接安装软件

 

 

常用的dnf或yum命令列表(推荐使用dnf):

# yum  -y  install   软件名称            #安装软件
# yum  -y  remove    软件名称            #卸载软件
# yum  -y  update    软件名称            #更新软件
# yum   search        软件名称           #搜索软件
# yum   list                              #列出所有软件
# yum  provides  /etc/passwd
# 查询/etc/passwd文件是由哪个软件包安装后生成的文件?(setup软件)
# yum  provides  ifconfig
# 查询ifconfig是由哪个软件包提供的命令?(net-tools软件)

Linux系统除了有软件包之外,还有组包(一组软件包),安装组包,就可以把组内的所有软件包都安装!

[root@red ~]# dnf grouplist #列出所有组包

Available Groups: 代表可以使用的组包

Installed Groups: 代表已经安装的组包

[root@red ~]# dnf groupinstall "RPM Development Tools"