1.1 任务1 认识Linux操作系统
1.1.1 子任务1 认识Linux的前世与今生
1. Linux系统的历史
Linux系统是一个类似UNIX的操作系统。Linux系统是UNIX在计算机上的完整实现,它的标志是一个名为Tux的可爱的小企鹅,如图1-1所示。UNIX操作系统是1969年由K.Thompson和D.M.Richie在美国贝尔实验室开发的一个操作系统。由于良好而稳定的性能,其迅速在计算机中得到广泛的应用,在随后的几十年中又做了不断的改进。
图1-1 Linux的标志Tux
微课
开源自由的Linux操作系统的简介
1990年,芬兰人Linus Torvalds接触了为教学而设计的Minix系统后,开始着手研究编写一个开放的与Minix系统兼容的操作系统。1991年10月5日,Linus Torvalds在赫尔辛基技术大学的一台FTP服务器上发布了一个消息。这也标志着Linux系统的诞生。Linus Torvalds公布了第一个Linux的内核版本0.02版。开始,Linus Torvalds的兴趣在于了解操作系统运行原理,因此Linux早期的版本并没有考虑最终用户的使用,只是提供了最核心的框架,使得Linux编程人员可以享受编制内核的乐趣,但这样也保证了Linux系统内核的强大与稳定。Internet的兴起,使得Linux系统也能十分迅速地发展,很快就有许多程序员加入了Linux系统的编写行列之中。
随着编程小组的扩大和完整的操作系统基础软件的出现,Linux开发人员认识到,Linux已经逐渐变成一个成熟的操作系统。1992年3月,内核1.0版本的推出,标志着Linux第一个正式版本的诞生。
2. Linux的版权问题
Linux是基于Copyleft(无版权)的软件模式进行发布的,其实Copyleft是与Copyright(版权所有)相对立的新名称,它是GNU项目制定的通用公共许可证(General Public License,GPL)。GNU项目是由Richard Stallman于1984年提出的。他建立了自由软件基金会(FSF),并提出GNU计划的目的是开发一个完全自由的、与UNIX类似但功能更强大的操作系统,以便为所有的计算机用户提供一个功能齐全、性能良好的基本系统。它的标志是角马,如图1-2所示。
图1-2 GNU的标志角马
小资料:GNU这个名字使用了有趣的递归缩写,它是“GNU’s Not UNIX”的缩写形式。由于递归缩写是一种在全称中递归引用它自身的缩写,因此无法精确地解释出它的真正全称。
3. Linux系统的特点
Linux操作系统作为一个免费、自由、开放的操作系统,发展势不可挡。它拥有完全免费,高效安全稳定,支持多种硬件平台,用户界面友好,网络功能强大,支持多任务、多用户的特点。
拓展阅读
1. Linux系统的特点
1.1.2 子任务2 理解Linux体系结构
Linux一般有3个主要部分:内核(Kernel)、命令解释层(shell或其他操作环境)、实用工具。
1. 内核
内核是系统的心脏,是运行程序和管理磁盘及打印机等硬件设备的核心程序。操作环境向用户提供一个操作界面,它从用户那里接受命令,并且把命令送给内核去执行。由于内核提供的都是操作系统最基本的功能,所以如果内核发生问题,那么整个计算机系统就可能会崩溃。
2. 命令解释层
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并且把它送入内核去执行。
操作环境在操作系统内核与用户之间提供操作界面,它可以描述为一个解释器。操作系统对用户输入的命令进行解释,再将其发送到内核。Linux存在几种操作环境,分别是:桌面(desktop)、窗口管理器(window manager)和命令行shell(command line shell)。Linux系统中的每个用户都可以拥有自己的用户操作界面,根据自己的要求进行定制。
shell是一个命令解释器,解释由用户输入的命令,并把它们送到内核。不仅如此,shell还有自己的编程语言用于命令的编辑,它允许用户编写由shell命令组成的程序。shell编程语言具有普通编程语言的很多特点,如它也有循环结构和分支控制结构等。用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
3. 实用工具
标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,如编辑器、执行标准的计算操作等。用户也可以生产自己的工具。
实用工具可分为以下3类。
•编辑器:用于编辑文件。
•过滤器:用于接收数据并过滤数据。
•交互程序:允许用户发送信息或接收来自其他用户的信息。
1.1.3 子任务3 认识Linux的版本
Linux的版本分为内核版本和发行版本两种。
1. 内核版本
内核是系统的心脏,是运行程序和管理磁盘及打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。例如,程序本身不需要了解用户的主板芯片集或磁盘控制器的细节就能在高层次上读写磁盘。
内核的开发和规范一直由Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)领导的开发小组控制着,版本也是唯一的。开发小组每隔一段时间公布新的版本或其修订版,从1991年10月Linus向世界公开发布的内核0.0.2版本(0.0.1版本功能相当简陋,所以没有公开发布)到目前最新的内核4.16.6版本,Linux的功能越来越强大。
Linux内核的版本号命名是有一定规则的,版本号的格式通常为“主版本号。次版本号。修正号”。主版本号和次版本号标志着重要的功能变动,修正号表示较小的功能变更。以2.6.12版本为例,2代表主版本号,6代表次版本号,12代表修正号。其中次版本号还有特定的意义:如果是偶数数字,就表示该内核是一个可放心使用的稳定版;如果是奇数数字,则表示该内核加入了某些测试的新功能,是一个内部可能存在着BUG的测试版。例如,2.5.74表示一个测试版的内核,2.6.12表示一个稳定版的内核。读者可以到Linux内核官方网站下载最新的内核代码,如图1-3所示。
图1-3 Linux内核官方网站
2. 发行版本
仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用4Linux,这就是所谓的发行版本(Distribution),一般谈论的Linux系统便是针对这些发行版本的。目前各种发行版本超过300种,它们的发行版本号各不相同,使用的内核版本号也可能不一样,现在流行的套件有Red Hat(红帽子)、CentOS、Fedora、openSUSE、Debian、Ubuntu、红旗Linux等。
本书是基于最新的RHEL 7系统编写的,书中内容及实验完全通用于CentOS、Fedora等系统。也就是说,当您学完本书后,即便公司内的生产环境部署的是CentOS系统,也照样会使用。更重要的是,本书配套资料中的ISO镜像与红帽RHCSA(Red Hat Certified System Administrator,红帽认证系统管理员)及RHCE(Red Hat Certified Engineer,红帽认证工程师)考试基本保持一致,因此更适合备考红帽认证的考生使用(加入QQ群189934741可随时索要ISO及其他资料,后面不再说明)。
拓展阅读
2. Linux发行版本
1.1.4 Red Hat Enterprise Linux 7
2014年年末,RedHat公司推出了当前最新的企业版Linux系统——RHEL 7。
RHEL 7系统创新地集成了Docker虚拟化技术,支持XFS文件系统,兼容微软的身份管理,并采用systemd作为系统初始化进程,其性能和兼容性相较于之前版本都有了很大的改善,是一款非常优秀的操作系统。
RHEL 7系统的改变非常大,最重要的是它采用了systemd作为初始化进程。这样一来,几乎之前所有的运维自动化脚本都需要修改。但是老版本可能会有更大的概率存在安全漏洞或者功能缺陷,而新版本不仅出现漏洞的概率小,而且即便出现漏洞,也会快速得到众多开源社区和企业的响应并更快地修复,所以建议尽快升级到RHEL 7。
1.1.5 863核高基与国产操作系统
核高基就是“核心电子器件、高端通用芯片及基础软件产品”的简称,是中华人民共和国国务院于2006年发布的《国家中长期科学和技术发展规划纲要(2006—2020年)》中与载人航天、探月工程并列的16个重大科技专项之一。近年来,国产基础软件的发展形势已有所好转,尤其一批国产基础软件的领军企业的强势发展势头无异于给中国软件市场打了一支强心针,增添了几许信心,而“核高基”的适时出现,犹如助推器,给了基础软件更强劲的发展支持力量。
拓展阅读
3. 863核高基与国产操作系统
2008年10月21日起,微软公司对盗版Windows和Office用户进行“黑屏”警告性提示。自该黑屏事件发生之后,我国大量的计算机用户将目光转移到Linux操作系统和国产Office办公软件上来,国产操作系统和办公软件的下载量一时间以几倍的速度增长,国产Linux和Office的发展也引起了大家的关注。
中国国产软件尤其是基础软件的最好时代已经来临,无论结局是什么,我们都期望未来不会再受类似“黑屏事件”的制约,也希望我国所有的信息化建设都能建立在“安全、可靠、可信”的国产基础软件平台上。