了解Debian系统
了解 Debian 系统一、什么是 GNU/Linux Distribution ( GNU/Linux 套件 ) ?
What is Debian?很多人可能已经照着笔者介绍的步骤安装完基本的 Debian 系统了,但遇到这样问题,在您心里头是否仍存在同样的问号?本篇文章重点虽不在介绍 Debian 的历史,但是有许多 Debian 的基本观念,仍旧会尽可能以最简短的方式让您了解。
我们都知道所谓的 GNU/Linux Distribution ( 常见的有 Redhat 、Mandrake 、SuSE 、Debian ) 是一堆软件及 Linux kernel 所组成的一个大套件,但是因为一般使用者很难了解到完整的 Linux 发展历史,因此现在大多数的人都将 Linux 与 Redhat 、Mandrake 等等商业性发展的 Distrbution 划上等号,也常有人把 X Window System 归纳成 Linux 的一部分,这些观念都很荒谬,但是本文重点并非厘清这些名词的差异,不过希望大家有一些基本而且正确的认知。笔者姑且就分成三大类来解释:
Linux kernel
操作系统核心,Linux 属于多人多任务系统,这当然有赖 Linux kernel 来实作,除此之外 Linux kernel 还包含了很多硬件的驱动程序,但模块化的设计让 Linux kernel 可以随心所欲的新增或删减模块,由于这样的特性让 Linux 也可以应用于嵌入式系统。
基本的 libc 、utility..etc
我们还需要 libc 这个基本的 C 函式库,以 libc 为基础我们可以开发出一些基本的程序来帮助我们运作,这些工具程序如:ls、mv、cp..等等。
当然如果有需要可以再加入其它的函式库。
X Window System
由 MIT ( 美国麻省理工学院 ) 所研发的一套 UNIX 上头标准的图形窗口接口,所以 X 发展还比 Linux 早,只是后来有人将它移植到 Linux 上 ( XFree86 ),因此我们是可以把 Linux 与 X Window System 切开来讨论,一般我们熟悉的 MS Windows 操作系统是把 GUI 与 OS Kernel 合在一起的系统,这跟 Linux 与 X 是完全不同的系统架构。千万别搞混啰。
有 X 我们就可以作很多图形相关的应用,例如用 gmc ( gnome 的图形接口档案管理软件,如附图 gmc ) 取代 mc ( 类似过去 DOS 底下的 Nortan Comand ),有 X 让我们对计算机的视觉感受更强烈,想要看有图案的网页也是必须在 X 底下开启 mozilla ( 或其它支持图形的 Browser ),所以有 X 的图形接口环境让我们的计算机更有亲和力、更美丽。
当然很多情况是使用指令效率大于使用图形接口的软件,笔者自首,其实我也不用类似刚刚提到的 gmc 图形接口档案总管;即使进入 X 底下,我一定还是会开启一个 X Terminal ( 可能是 crxvt或是Eterm ),然后享受着飞快敲打指令的乐趣。但是遇到浏览网页或收发电子邮件我则会借助 Mozilla ,因为这浏览网页与看电子邮件有图形辅助还是比较令人赏心悦目。计算机是死的,人脑是活的,所以请记住是人去用计算机而不是计算机奴役人,因此我们要活用计算机。
上面所述的前两大项就可以完成一个基本的 Linux Distribution,X 则是又是另外一项大的 GUI ( Graphic User Inte易做图ce ) 课题。如果您只是把 Debian 拿来当作提供某项网络服务的服务器,其实压根就不需要安装 X Window System ,但是如果您想象笔者一样把他拿来当作自己的 Desktop ,那就非常需要有 X ,没有 X 就失色很多。
而以 Debian 来说,当然含盖了上述三大部份,与一般商业发行的 Linux Distribution 包山包海作法不同的是 Debian 习惯从最基本的系统开始,需要甚么软件再堆栈上去,或许您会反驳 Redhat、 Mandrake 也可以做到与 Debian 一样从安装基本系统开始,笔者绝对同意,只是笔者认为使用 Debian 可以很轻松达成这样的目的。如果您是重头开始阅读本文,而且跟着笔者的步骤安装了 Debian ,您应该很清楚 Debian 先天设计的哲学便是如此。
原则上 Debian 就如同其它商业公司发行的 Linux Distribution 一样,由 Linux 核心再加上一堆软件组合而成的 Linux Distribution. 但是很特别的是 Debian 是非营利组织,但是组织架构严谨,有一套完善的软件管理方式,贡献者来自全世界各地,我是认为最起码这样的组织比较不会有像公司的营运压力,另外也较能广纳各方意见,所以即使经济在不景气也不会有倒闭的风险。
在 Debian 组织内部很套很特别的 Distribution 等级制度,分别为 stable 、 testing 、 unstable,光从字面上就可以看出一些端倪,stable 是最稳定的版本,unstable 则为开发中的版本。很多人都误以为只有像 Redhat 、 Mandrake 这样的 Linux Distribution 所包出来的软件最多,而 Debian 一定没有那么多的软件,这当然是错误的观念,目前 Debian 已经有超过 3950 个软件啰,而且还会陆续增加,因为 Debian 并非商业公司,所以人员并不会受到公司盛衰影响。
我们都习惯称 Redhat 、 Mandrake ..等等为 『 Linux Distribution 』,事实上这观念是错误而且有偏颇之处,这些 Distribution 讲穿了只是用了 Linux 为系统核心,但是辅以更多跟 Linux 核心无关的软件,例如: glibc、X Window System..etc。其中以 GNU 的软件最为重要,因为 GNU 的自由软件包含了最底层的 C 函式库 ( glibc )、编译器 ( gcc )..等等,因此光靠 Linux kernel 是无法完成一个完备的系统,所以 『 GNU/Linux 』 才是正确的称呼。
三、以水平的观点来看 Debian 特有的三大族群制度:stable、testing、unstable
stable
由 『 stable 』 这名词就可以猜到易做图分意思了吧,是的!这是 Debian 对外发行的版本,这个版本的最大特色就是稳定,但相对的各个软件套件则通常不是最新版。
这个版本适用在最需要稳定的 Server 架设环境,所安装软件较少也较为固定。
testing
『 testing 』 虽名为测试版,实则已经相当接近于 『 stable 』 版本的程度,这个版本的软件多半是在 『 unstable 』 中经由维护、开发人员不断的测试之后流入,所以在某种程度来说,其实已经做过初步的检测,这里头的软件大多也是相当稳定的,而且个软件套件也都会比 『 stable 』 里头的新,不过以软件总量来说则比上 『 stable 』 及 『 unstable 』 中来的完整、来的多。
笔者强烈建议如果想把 Debian 拿来当作 Desktop 平台,『 testing 』 是个很不错的选择。
unstable
『 unstable 』对我来说才算是 『 测试版 』,这里头最大的特色就是软件更新速度快,几乎都与该软件同步,因为太新相对的使用 『 unstable 』 的人也必须承担更高的风险,有时候您可能会遭遇到一早更新完所有软件后,发现有些软件不能正常运作的状况,不过庆幸的是这种情形大概只会持续一两天左右,因为我说过 『 unstable 』 的特色就是更新速度快,一旦有人回报问题,维护的人很快就会作修正。
如果你喜欢 『 玩 』 软件,如果你不在乎有时候系统有出现一些 truobles,那赶快试试这个版本吧!
三、以垂直的观点来看 Debian 软件的分布:main、contrib、non-free、non-us
Debian distribution 是一个很注重 『 纯 』 度的 Linux Distribution ,我说纯是 Free 的纯度很高,『 Free 』 这个英文字很有趣,但代表了自由、免费两种含意,正因为如此常常造成初学者的困扰,国内很多相关书籍都各自出现不同的解释,不过所谓 『 Free Software 』 原意应为 『 自由软件 』,而非 『 免费软件 』,何谓自由?就是你可以对该软件做任何你想做的事情,例如:你可以使用、修改..甚至贩卖它。这些都是自由软件的特色之一,但是自由软件是不是就没有版权了呢?其实不然,它们或多或少都会宣告成几种特殊的版权发行,最常见的有下列三种:
GNU General Public License (GPL) - ( http://www.gnu.org/copyleft/gpl.html )
Artistic License ( http://language.perl.com/misc/Artistic.html )
BSD style license ( http://www.debian.org/misc/bsd.license)
其中以 GPL 运用最广, BSD License 最有弹性,版权问题并不在本篇文章的讨论之列,法律也不是笔者的专长,有兴趣的朋友请直接前往相关网址研究。
由于 Debian 对 『 Free 』 纯度的坚持,但是有时候有些软件虽然不为自由软件,但却相当的著名,例如: Mozilla ,这样的情况让 Debian 陷入两难,于是 Debian 对于旗下所有软件套件 ( Packages ) 进行分类,底下就是 Debian Packages 的主要分类项目:
main
Debian distribution 最基本及主要且符合自由软件规范的软件 ( packages )。
contrib
这里头软件虽然可以在 Debian 里头运作,即使本身属于自由软件但多半却是相依于非自由 ( non-free ) 软件。
non-free
不属于自由软件范畴的软件。
non-us
这个分类里头的软件都来自非美国地区,当中可能有牵扯到专利、加密..等等问题。
四、区别版本的『 sources.list 』及两个基本的软件安装指令:tasksel、apt-get
透过上一节的说明,相信您对 Debian 的分级制度已经有了初步的认识,整体的轮廓也逐渐的明显,不过以现实中实际使用的状况而言,每种版本并非是泾渭分明的。
『 头上冒出了几个问号了吗? 』,简单的说,就算我是使用 『 testing 』 版本的人,我还是可以使用 『 stable 』 或 『 unstable 』 中的软件,这并不是假设,举个例子,目前仅 『 unstable 』 中提供最新的 Mozilla 软件,如果您是使用 『 stable 』 或 『 testing 』 的人仍旧是可以安装 『 unstable 』 中