1.1 Linux是什么?
Linux就是一套操作系统。
如同下图所示, Linux就是核心与系统呼叫(系统调用)层**那两层。至于应用程式算不算Linux呢?当然不算啦!这点要特别注意喔!
图1.1.1、作业系统的角色
1.1.2 Linux之前,Unix的历史
早在Linux出现之前的二十年(大约在1970 年代),就有一个相当稳定而成熟的作业系统存在了!那就是Linux的老大哥『Unix』是也!怎么这么说呢?他们这两个家伙有什么关系呀?这里就给他说一说啰,详情传送门
目前被称为纯种的Unix指的就是System V以及BSD这两套啰!
有鉴于图形使用者介面( Graphical User Interface, GUI )的需求日益加重,在1984年由MIT与其他协力厂商首次发表了X Window System ,并且更在1988年成立了非营利性质的XFree86这个组织。所谓的XFree86其实是 X Window System + Free + x86**的整合名称呢!而这个XFree86的GUI介面更在Linux的核心1.0版于1994年释出时,整合于Linux操作系统当中!
为什么称图形使用者介面为X呢?因为由英文单字来看,Window的W接的就是X啦!意指Window的下一版就是了!需注意的是,X Window并不是X Window** s**喔!
**
Linux是基于Unix发明的,Linux发明人是托瓦兹。
奇数、偶数版本分类
在2.6.x 版本以前,托瓦兹将核心的发展趋势分为两股,并根据这两股核心的发展分别给予不同的核心编号,那就是:
- 主、次版本为奇数:发展中版本(development)
如2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心开发工程师会使用。如果有新增的核心程式码,会加到这种版本当中,等到众多工程师测试没问题后,才加入下一版的稳定核心中;
- 主、次版本为偶数:稳定版本(stable)
如2.6.xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家用电脑以及企业版本中。重点在于提供使用者一个相对稳定的Linux作业环境平台。
主线版本、长期维护版本(longterm version)
不过,这种奇数、偶数的编号格式在3.0 推出之后就失效了。从3.0 版开始,核心主要依据主线版本(MainLine) 来开发,开发完毕后会往下一个主线版本进行。
例如3.10 就是在3.9 的架构下继续开发出来的新的主线版本。通常新一版的主线版本大约在2~3 个月会被提出喔!之所以会有新的主线版本,是因为有加入新功能之故。现在(2015/04) 最新的主线版本已经来到4.0 版了喔!好快!
而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发(End of Live, EOL),亦即该程式码已经结束,不会有继续维护的状态。另外一种机制为保持该版本的持续维护,亦即为长期维护版本(Longterm)!例如3.10 即为一个长期维护版本,这个版本的程式码会被持续维护,若程式码有bug 或其他问题, 核心维护者会持续进行程式码的更新维护喔!
那么当然要选择长期支援的版本才行!要判断你的Linux 核心是否为长期支援的版本, 可以使用『 uname -r 』来查阅核心版本,然后对照下列连结来了解其对应值喔!
Linux 核心版本与Linux 发布商版本
所谓的Linux版本指的应该是核心版本, 而目前最新的核心版本应该是4.0.0(2015/04) 才对,并不会有7.x的版本出现的。
常用的Linux系统则应该说明为distribution才对!所以,如果以CentOS这个distribution来说, 妳应该说:『我用的Linux是CentOS这个distribution,版本为7.x 版,请问….』才对喔!
1.2.6 Linux distributions
我们知道了Linux其实就是一个操作系统最底层的核心及其提供的核心工具。
**
因为Linux参考POSIX设计规范,于是相容于Unix作业系统,故亦可称之为Unix Like的一种。
为了让使用者能够接触到Linux,于是很多的商业公司或非营利团体,就将Linux Kernel(含tools)与可运行的软体整合起来,加上自己具有创意的工具程式,这个工具程式可以让使用者以光碟/DVD或者透过网路直接安装/管理Linux系统。 这个『Kernel + Softwares + Tools +可完整安装程序』的咚咚,我们称之为Linux distribution,一般中文翻译成 可完整安装套件,或者Linux发布商套件等。
图1.2.2、Linux可完整安装发布套件
各大Linux Distributions的主要异同:支持标准
为了让所有的Linux distributions开发不致于差异太大,且让这些开发商在开发的时候有所依据,还有Linux Standard Base (LSB)等标准来规范开发者,以及目录架构的File system Hierarchy Standard (FHS)标准规范!
唯一差别的,可能就是该开发者自家所开发出来的管理工具,以及套件管理的模式吧!所以说,基本上,每个Linux distributions除了架构的严谨度与选择的套件内容外,其实差异并不太大啦!^_^ 。大家可以选择自己喜好的distribution来安装即可!
事实上鸟哥认为distributions主要分为两大系统:
- 一种是使用RPM方式安装软体的系统,包括Red Hat, Fedora, SuSE等都是这类;
- 一种则是使用Debian的dpkg方式安装软体的系统,包括Debian, Ubuntu, B2D等等。
若是加上商业公司或社群单位的分类,那么我们可以简单的用下表来做个解释喔!
| RPM 软体管理 | DPKG 软体管理 | 其他未分类 | |
|---|---|---|---|
| 商业公司 | RHEL (Red Hat公司) SuSE (Micro Focus) |
Ubuntu (Canonical Ltd.) | |
| 社群单位 | Fedora CentOS OpenSuSE |
Debian B2D |
Gentoo |
底下列出几个主要的Linux distributions发行者网址:
- Red Hat: http://www.redhat.com
- SuSE: https://www.suse.com
- Fedora: https://getfedora.org/
- CentOS: http://www.centos.org/
- Debian: http://www.debian.org/
- Ubuntu: http://www.ubuntu.com/
- Gentoo: http://www.gentoo.org/
1.5 重点回顾
- 作业系统(Operation System)主要在管理与驱动硬体,因此必须要能够管理记忆体、管理装置、 负责行程管理以及系统呼叫等等。因此,只要能够让硬体准备妥当(Ready)的情况, 就是一个阳春的作业系统了。
- Unix的前身是由贝尔实验室(Bell lab.)的Ken Thompson利用组合语言写成的, 后来在1971-1973年间由Dennis Ritchie以C程式语言进行改写,才称为Unix。
- 1977年由Bill Joy释出BSD (Berkeley Software Distribution),这些称为Unix-like的作业系统。
- 1984年由Andrew Tanenbaum开始制作Minix作业系统,该系统可以提供原始码以及软体;
- 1984年由Richard Stallman提倡GNU计画,倡导自由软体(Free software), 强调其软体可以『自由的取得、复制、修改与再发行』,并规范出GPL授权模式, 任何GPL(General Public License)软体均不可单纯仅贩卖其软体,也不可修改软体授权。
- 1991年由芬兰人Linus Torvalds开发出Linux作业系统。简而言之,Linux成功的地方主要在于: Minix(Unix), GNU, Internet, POSIX 及虚拟团队的产生。
- 符合Open source 理念的授权相当多,比较知名的如Apache / BSD / GPL / MIT 等。
- Linux本身就是个最阳春的作业系统,其开发网站设立在http://www.kernel.org,我们亦称Linux作业系统最底层的资料为『核心(Kernel)』。
- 从Linux kernel 3.0 开始,已经舍弃奇数、偶数的核心版本规划,新的规划使用主线版本(MainLine) 为依据, 并提供长期支援版本(longterm) 来加强某些功能的持续维护。
- Linux distributions的组成含有:『Linux Kernel + Free Software + Documentations(Tools) + 可完整安装的程序』所制成的一套完整的系统。
- 常见的Linux distributions 分类有『商业、社群』分类法,或『RPM、DPKG』分类法
- 学习Linux 最好从头由基础开始学习,找到一本适合自己的书籍,加强实作才能学会
