|
Diy My Own Linux
--------DLinux 构建之旅
作者 文艾(www.mydlinux.org)
什么是DLinux
DLinux是一个基于LFS、BLFS、ALFS构建的一个Linux发行版,英文全名是:Diy My Own Linux,取意为“构建属于自己的Linux”。它包括发行版本身、构建说明书和相关构建资料。
DLinux发行版功能
gcc编译工具链
vi文本编辑器
xfce窗口管理器
firefox浏览器
mplayer媒体播放器
rxvt-unicode虚拟终端
ssh服务器
jhalfs程序安装框架
常用的shell命令和工具等。
DLinux的特点
所有的组件都是开源的,尽可放心地自由使用,无需担心某一天出现黑屏的问题。
系统十分的精简、高效,加源码安装后不到2GB。
DLinux作为一个基于Linux的发行版,没有什么杀毒软件一说(当然,并不是说Linux就十分安全,没有病毒了),也没有无休止的打补丁,升级、更新病毒库等等,系统也不会自动增长。
DLinux大部分的工作都是通过虚拟控制台命令完成的,与其它发行版相比,DLinux更加锻炼使用者的的能力,加之DLinux基于LFS、BLFS、ALFS,全部基于开源代码构建,所有的命令和方法都是通用的,一旦在DLinux使用习惯了,可以很方便地转到其它的发行版。
DLinux提供了十分详细的构建文档和构建资料,用户通过参考文档,将会熟悉操作系统的构建过程和各个主要组成部分的工作原理;加深对操作系统,系统软件相关概念的理解;掌握shell脚本以及Linux下的常用命令。最终根据自己的需要构建出一个完全个性化的DLinux,寓学于乐。
1.1 Linux
按照严格的定义,Linux只表示Linux的内核,它的创始人是芬兰大学生Linus Torvalds,由最开始的0.02版到现在的2.6.29.1,总共走过了18年的时间。Linux发行版则是指Linux内核加上GNU软件(编译器GCC、文字编辑器Emacs、X window、桌面环境 KDE、办公套件 OpenOffice等)构成的实用操作系统。Linux发行版众多,通常使用的有:Ubuntu、openSUSE、Fedora、Debian、Slackware、Center os等。在实际的使用过程中,为了方便,人们通常称“Linux”为“内核”或“Linux 内核”,而称“Linux发行版”为“Linux”或“Linux系统”。除非特别注明,本书后面章节的用语也遵循这一约定。
更多的资料可以参考Linux内核的官方网站,以及GNU项目的官方网站。
1.2 LFS
LFS(Linux From Scratch)是由Gerard Beekmans领导的一个开源项目,它提供了一本说明书,一步一步指导用户从零开始完全通过源码构建一个个性化的Linux系统。
如果把我们最终使用的Linux系统比作是汽车,那么各种Linux发行版就是一辆辆已经生产成型的汽车;LFS则是一本手工生产汽车的手册,我们按照它的说明,自行选择各种零件,从而生产出各种不同风格的车辆。
对于Linux的初学者来说,使用LFS构建是深入学习Linux的一条捷径,虽然道路艰辛,但是只要坚持过来,你就会发现自己对Linux操作系统的理解就如同汽车的内部构造般全部展现在你的面前,同时Linux的操作能力也会得到全面提高。
LFS的官方网站有最新的LFS说明书供用户构建最新的LFS系统。网站上还包括了LFS Hints,LFS Hints十分重要,因为它是LFS(或者BLFS)说明书的补充说明,如果你在构建过程中遇到了不好解决的问题,可以在Hints中寻找解决方法,如果找不到,则可以使用Hints提问;同样如果你在安装过程中通过其它方法解决了问题,也可以写成Hints,供其他人参考。此外,LFS中文用户组是讨论LFS的中文论坛,里面也有很多的资料可供参考。
1.3 BLFS
BLFS (Beyond Linux From Scratch) 是一个由Randy McMurchy领导的开源项目。它是LFS项目的延续和扩展。由于LFS只是构建了一个基本的Linux系统,如果要将其构造成一个实用的系统(如用户桌面系统、各种服务器、各种外设的驱动等),还需要在上面安装大量的软件(如X 服务器、窗口管理器等等)。这些软件的安装和配置也是十分复杂,BLFS以说明书的方式按照系统的应用对这些软件进行分类,在LFS系统的基础上进行说明。
根据应用的需要,BLFS说明书分成:通用库和工具、基础网络、服务器、X+窗口管理器、X软件、多媒体、打印扫描仪及字体设置工具几大章节,每章下面再分小节提供相应软件的说明,满足不同用户的应用需求。
BLFS官方网站提供了最新的BLFS说明书供在线阅读或下载。需要注意的是,BLFS是以LFS为基础的,因此需要特别注意BLFS的版本号与LFS的版本号的对应关系。
1.4 ALFS
ALFS(Automated Linux From Scratch)是一个由Thomas Pegg领导的开源项目。它是一个自动构建LFS和BLFS系统的框架。由于LFS和BLFS只提供了构建系统的命令和说明。在具体的构建过程中,用户需要手工输入进行构建,这将耗费大量的时间。此外,由于大量的手工输入,难免出现误差,这将给构建工作带来严重影响,对一个实用系统来说尤其如此。因此,ALFS提供了一个统一的框架,它解析LFS(BLFS)说明书(以XML文件形式提供),形成安装脚本,从而实现软件的自动安装。
ALFS有两种实现:nALFS和jhalfs。nALFS是ALFS的第一版实现,作者是Neven Has。jhalfs是当前的官方版本,它通过Bash脚本解析安装命令,并生成Makefile文件。jhalfs是针对LFS和BLFS构建的,因此同样需要注意三者之间的版本对应关系,具体说明参照http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks。
jhalfs对构建者的要求较高,按照其说明文档,要求构建者有构建LFS和BLFS系统2-3遍以上的经历。并且jhalfs自动解析出来的脚本有许多地方需要修改后,才能正确运行,要求构建者熟悉软件的安装方法和Bash脚本。
ALFS的官方网站。提供了jhalfs的相关说明资料,和jhalfs的稳定版本下载,同时也可以通过该网站提交jhalfs的bug,订阅邮件列表等。
1.5 构建思路
本书使用LFS、BLFS、ALFS来构建一个实用的Linux系统。其思路是:运用虚拟机技术,使用jhalfs在虚拟机上进行构建。具体来说有以下四个步骤:
1 构建LFS
在虚拟机上通过liveCD引导,安装jhalfs,然后使用jhalfs构建LFS的根文件系统。
2 安装LFS
将构建好的LFS根文件系统安装到虚拟机的磁盘上,重启后,用户将可以使用这个基本的LFS系统。
3 构建DLinux
在安装好的LFS系统上,运用jhalfs,选择BLFS中的软件进行构建,主要构建的对象有:X服务器、窗口管理器Xfce、伪终端、浏览器、播放器等等,这些构成了桌面系统的基本应用。
4 安装DLinux
将构建好的DLinux安装到本地机器。
本书将展示整个系统的构建过程,其中涉及到的概念、命令和配置都会在书中进行作详细说明,其目的就在于缓和初学者的学习曲线,而不至于望而却步,错失一个深入学习Linux的好机会。 |
|