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"