Warning:
为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容。
部署好了Linux,让我们开始学习系统操作吧。
重置root管理员密码
新手初次接触Linux,暂时跳过。待后面学习后再来学习重置密码。
RPM(红帽软件包管理器)
在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装。早期在Linux系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能,甚至良好的耐心。而且在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作时难度都非常大。
RPM机制则为解决这些问题而设计的。RPM有点像Windows系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。目前RPM的优势已经被公众所认可,使用范围也已不局限在红帽系统中了。下表是一些常用的RPM软件包命令,当前不需要记住它们,大致混个“脸熟”就足够了。
Yum软件仓库
尽管RPM能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。Yum软件仓库的技术拓扑如下图所示。
Yum软件仓库中的RPM软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的。《Linux就该这么学》随书提供的系统镜像内已经包含了大量可用的RPM红帽软件包,后文中详细讲解这些软件包。下表所示为一些常见的Yum命令,当前只需对它们有一个简单印象即可。
systemd初始化进程
Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。红帽RHEL 7系统已经替换掉了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务。如果您之前学习的是RHEL 5或RHEL 6系统,可能会不习惯。systemd初始化进程服务采用了并发启动机制,开机速度得到了不小的提升。虽然systemd初始化进程服务具有很多新特性和优势,但目前还是下面4个槽点。
-
槽点1:systemd初始化进程服务的开发人员Lennart Poettering就职于红帽公司,这让其他系统的粉丝很不爽。
-
槽点2: systemd初始化进程服务仅仅可在Linux系统下运行,“抛弃”了UNIX系统用户。
-
槽点3:systemd接管了诸如syslogd、udev、cgroup等服务的工作,不再甘心只做初始化进程服务。
-
槽点4:使用systemd初始化进程服务后,RHEL 7系统变化太大,而相关的参考文档不多,令用户着实为难。
无论怎样,RHEL 7系统选择systemd初始化进程服务已经是一个既定事实,因此也没有了“运行级别”这个概念,Linux系统在启动时要进行大量的初始化工作,比如挂载文件系统和交换分区、启动各类进程服务等,这些都可以看作是一个一个的单元(Unit),systemd用目标(target)代替了System V init中运行级别的概念,这两者的区别如下表所示。
如果想要将系统默认的运行目标修改为“多用户,无图形”模式,可直接用ln命令把多用户模式目标文件连接到/etc/systemd/system/目录:
[root@linuxprobe ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
如果有读者之前学习过RHEL 6系统,或者已经习惯使用service、chkconfig等命令来管理系统服务,那么现在就比较郁闷了,因为在RHEL 7系统中是使用systemctl命令来管理服务的。表1-4和表1-5所示RHEL 6系统中System V init命令与RHEL 7系统中systemctl命令的对比,您可以先大致了解一下,后续章节中会经常用到它们。
章末总结
1.为什么建议读者校验下载的系统镜像或工具?
答:为了保证软件包的安全与完整性。
2.使用虚拟机安装Linux系统时,为什么要先选择稍后安装操作系统,而不是去选择RHEL 7系统镜像光盘?
答:在配置界面中若直接选择了RHEL 7系统镜像,则VMware Workstation虚拟机会使用内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境会不一样。
3.RPM(红帽软件包管理器)只有红帽企业系统在使用,对吗?
答:RPM已经被CentOS、Fedora、openSUSE等众多Linux系统采用,它真的很好用!
4.简述RPM与Yum软件仓库的作用。
答:RPM是为了简化安装的复杂度,而Yum软件仓库是为了解决软件包之间的依赖关系。
5.RHEL 7系统采用了systemd作为初始化进程,那么如何查看某个服务的运行状态?
答:执行命令“systemctl status 服务名.service”可查看服务的运行状态,其中服务名后的.service可以省略。
本章我们主要学习了Linux的安装和环境部署,并了解了一部分知识点。下章开始我们会深入研究。
下期预告:新手必须掌握的Linux命令