探索中国CIO人才现状 | 第四季调研报告
从零开始构建属于自己的linux发行版
2015-06-24  来源:techtarget

有个安全可靠的方式来提升你对linux内核认识并知晓如何处理linux服务器故障——建立属于自己的linux。

作为系统管理员,有什么办法来了解你工作的平台,让其成为更有凝聚力整体,而不只是将它作为工作任务拼凑起来?

当你从头开始构建linux,就可以充分和完整地了解linux平台。linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。虽然这是无法完全量化,但符合逻辑结论,因为在某种程度上,你能够从头建立自己的linux操作系统(LFS)。你可以指定这个发行版中想要的一切,将其打包或者自用。

你可能会希望创建自己的linux发新版来满足自己特殊的需求,或者尽可能的了解linux平台的知识以及充分了解操作系统原理。

从头开始构建linux的过程是复杂的。对于任何一名认真考虑建立linux发行版的人来说,《linux From Scratch》这本手册是必须的。你可以通过下载或者查阅在线版本,还可以与LFS社区互动。但是首先,需要规划从头开始创建linux的学习方案,以避免所有努力都被淹没在系统的复杂性中。

成功的先决条件

从无到有构建linux,需要对Unix/linux系统管理上有时间积累和深度理解。如果你还不是一名Unix或linux系统管理员或在该领域有技术背景,首先需要熟悉linux系统。

你需要对linux命令行有坚实的理解;当你从头构建linux时,没有GUI工具可以帮助你。

请确保你可以:

通过命令复制与移动文件和文件夹; 通过命令行列出文件与文件夹; 通过命令行修改当前工作目录;并且能够使用与安装linux软件(通过源代码安装软件是必须掌握的)。

虽然掌握了这些可以搞让你开始实施创建,若没有合适的管理技巧,仍可能出现失误。

构建属于自己的linux发行版,如Debian、Ubuntu、openSUSE或Fedora。主机的驱动器上必须有足够的空间来构建发行版的专用分区。最小的LFS构建需要大约4GB的分区,但10GB是最适合提供长期与额外软件包的空间。如果你的主机没有太多内存,需要考虑创建交换分区。LFS系统可以使用在主机上发现的相同交换分区。

目标是将LFS建立在你已经准备好的发新版上。然而,linux From Scratch手册建议你认真了解每个软件的具体版本——这些版本是已知的可以完成LFS构建工作而不会造成问题的。

跃跃欲试

最重要的一步是为你的linux版本创建新分区,需要是在你的主机系统上新安装的分区。如果你不知道如何使用命令行分区工具,请暂停LFS构建,直到你熟悉这个技能。

使用命令行工具,如cfdisk或fdisk,确认分区名是按照该linux命名的标准来命名分区,如/dev/sda的意思是主IDE设备。更多的分区要求,如LFS创建的必选和可选分区,都可以在linux From Scratch中查看。

给你将要构建LFS的文件夹命名;创建目录如/mnt/lfs并且在里面构建版本。同样还需要设置LFS环境变了,比如为/mnt/lfs设置短路径。通过如下命令进行创建:

export LFS=/mnt/lfs

现在,你可以运行如mkdir$LFS/tools命令来创建子目录/mnt/lfs/tools(用于存放系列临时包的临时位置)、这样可以节省构建所花的时间。

最低限度的包需求:

Bash, Binutils, Bison, Bzip2, Coreutils, Diffutils, Findutils, Gawk, GCC, Glibc, Grep, Gzip 与linux Kernel.

包与创建

构建LFS最乏味的一部就是下载你需要的所有包。最小构建LFS所需的软件包有完整清单(包括链接)。在$LFS(如$LFS/sources)中创建一个源目录来存放包。

你还需要下载多个补丁。这些补丁是维护着用来修复LFS构建时产生的错误。

最后的准备步骤是创建一个LFS用户并设置工作环境。你必须通过bash创建启动文件以备使用。这一步所获得的技能对linux系统管理来说至关重要——bash脚本往往是系统管理员最容易忽略的事情之一。

Bash脚本为系统增加了很大的灵活性。例如管理员可以使用bash脚本创建linux服务器自动化备份过程。如果你要打造LSF,就需要通过创建用户环境来学习脚本编程的工作方式。

还需要知道

从头构建linux版本分成两部分:构建最终LFS系统的最小工具集,然后是系统本身。每次只构建一个包。请根据LFS手册的具体指示来操作,知道要构建哪个部分,使用哪些工具以及按照怎样的顺序。

构建包这个任务将一直伴随着接下来你的linux管理员职业生涯中。即使你主要使用具有包管理器的系统平台,有时候你还是需要从源代码安装包。你甚至可能需要基于你特定的环境编译软件包(如PHP)。构建包的过程会让linux用户理解包的依赖关系,以及如何从根本上解决构建包时遇到的这些问题。

一旦你构建好所有工具集,配置好LFS系统配置,创建好启动脚本,接着就可以让LFS变得可启动。

从头创建linux的过程并不是日常用户都必须努力掌握的。但一旦你完成了LFS的创建,对linux系统管理员来说,关于linux的知识与能力都会远超那些从来没有接触过LFS的使用者。