RHEL 系统提供 6 种软件基本环境:
初学者当安装模式为默认的 Server with GUI 即可,右侧额外的软件包不要选择,可以在后续学习过程中慢慢安装。生成环境一般为Minimal Install(最小化安装)。
KDUMP 服务用于收集系统内核崩溃数据,但短时间内并不打算调试系统内核参数,所以建议取消选中 Enable kdump 复选框,这可以节省约 160MB 物理内存。
早期的 Linux 系统在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等软件操作时难度都非常大。RPM机制则正是为了解决这些问题而设计的。RPM 有点像 Windows 系统中的控制面板,会建立统一的数据库,详细记录软件信息并能够自动分析依赖关系。
命令 | 作用 |
---|---|
rpm -qa *.rpm | 查询已安装的软件版本 |
rpm -ivh *.rpm | 安装软件 |
rpm -Uvh *.rpm | 升级软件 |
rpm -e *.rpm | 卸载软件 |
rpm -qpi *.rpm | 查询软件描述信息 |
rpm -qpl *.rpm | 列出软件文件信息 |
rpm -qf *.rpm | 查询文件属于哪个RPM |
尽管 RPM 能够帮助用户查询软件之间的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件依然很繁琐。Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。
Yum 软件仓库中的 RPM 软件包可以是由红帽官方发布的,也可以是由第三方发布的,当然也可以是自己编写的。
命令 | 作用 |
---|---|
yum repolist all | 列出所有仓库 |
yum list all | 列出仓库中所有软件包 |
yum info 软件包名称 | 查看软件包信息 |
yum install 软件包名称 | 安装软件包 |
yum reinstall 软件包名称 | 重新安装软件包 |
yum update 软件包名称 | 升级软件包 |
yum remove 软件包名称 | 移除软件包 |
yum clean all | 清除所有仓库缓存 |
yum check-update | 检查可更新的软件包 |
yum grouplist | 查看系统中已经安装的软件包组 |
yum groupinstall 软件包组 | 安装指定的软件包组 |
yum groupremove 软件包组 | 移除指定的软件包组 |
yum groupinfo 软件包组 | 查询指定的软件包组信息 |
Yum 虽然解决了软件的依赖关系问题,但仍然还是存在分析不准确、内存占用量大、不能多人同时安装软件等硬伤。终于,在 2015 年随着 Fedora 22 系统的发布,红帽又给了我们一个新的选择—DNF。DNF 实际上就是解决了上述问题的 Yum 软件仓库的提升版,行业内称之为 Yum v4 版本。
作为 Yum 软件仓库 v3 版本的接替者,DNF 特别友好地继承了原有的命令格式,且使用习惯上也保持了一致。以前,安装软件用的命令是“yum install 软件包名称
”,那么现在则是“ dnf install 软件包名称
”(也就是说,将 yum替换成 dnf 即可)。
当然 RHEL 8 系统也照顾到了老用户的习惯问题,同时兼容并保留了 yum 和 dnf 两个命令,在实际操作中随意选择就好。甚至这两个命令的提示信息都基本一样,感知不到什么区别。
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel