新的任务来了,而且这次是真正的任务,一个工程!
他让我们实现用LFS从零开始,构建出一个完整的Linux~
当然,不是平白无故的就创建,而是参考其他人的文章:
豹哥的[原创]第二版 手把手教你如何建立自己的Linux系统 下载见http://www.linuxidc.com/Linux/2011-08/40705.htm
这篇文章详细的说明了如何从只有一个机器,到完整的构建出一个操作系统,整个过程可以说就是在亲手打造,所有的软件包都要自己安装。
而这些软件包的素材,有一个CD都帮我们准备好了,那就是LiveCD(点击下载)
于是,当我们准备停当之后,开开自己的虚拟机,就开始我们LFS制作linux之旅。
马哥说:做这个其实很简单,但是工程量浩大,命令诸多,而且繁杂,只要细心,一定能做出来。
我本着自己眼疾手快身体棒的优势,在大致浏览一遍作者的全文,和大概理解他的意思之后,开始动手了~
一路创建,编译,制作,删除。
在写了一半的时候,我终于理解,为什么马哥让我们做这样的没有什么技术含量,是个人只要细心都能做出来的工作了。
有句话说的好,好记性不如烂笔头。
马哥正是希望我们通过这样的方式,来一遍遍的强化对linux下命令的理解,和命令的掌握。
可能我们在敲击这个命令的时候根本不知道它代表着什么,将会有什么作用,带的参数又有什么意思。但是,当我们需要安装着无数遍的时候。我自然而然的记下来那其中非常重要的命令:
一个个说,用到最多的命令
- tar xvf filesname ## 这是解压缩的命令,可以直接将.tar打包又经过了bz2或者gzip压缩的文件,都能将其解压并展开。供我们使用。
- ./configure ## 这个是当定义一个软件的配置信息,还有常用的参数比如:
- –prefix=dir 定义安装目录
- –bindir=DIR 指定二进制文件的安装位置.这里的二进制文件定义为可以被用户直接执行的程序.
- –sbindir=DIR 指定超级二进制文件的安装位置.这是一些通常只能由超级用户执行的程序.
- –libexecdir=DIR 指定可执行支持文件的安装位置.与二进制文件相反,这些文件从来不直接由用户执行,但是可以被上面提到的二进制文件所执行.
- –libdir=DIR 指定库文件的安装位置.
- –program-prefix=PREFIX 指定将被加到所安装程序的名字上的前缀.
然后还让我学到了作者的很多先进的用法,比如:
sed 我们都知道sed 有 s选项,用来查找替换,而s的分割符是“/xxx1/xxx2/”,是用斜杠进行分隔的。但是作者向我展示了其他的
比如:使用“@” 使用“|” 使用“,” 使用”%”分隔的,
- sed -i “s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.2|” Makefile.in
- sed -i ‘s@tests@& </dev/tty@’ tests/run-test
- sed -i ‘s,\*_\*,??,’ man/Makefile.in
- sed -i -e ‘\%\t/usr/man%d’ -e ‘\%\t/usr/local/man%d’ src/man_db.conf.in
以及,在一条命令太长影响美观的时候,可以用”\“转义接下来的空格来达到分行输入一条命令。
比如:
- ./configure –prefix=/usr –libexecdir=/usr/sbin \
- –sysconfdir=/etc –localstatedir=/var \
- –disable-ifconfig –disable-logger –disable-syslogd \
- –disable-whois –disable-servers
在敲击这些命令的时候,不仅仅是对自己耐心和细心程度的一种考验,更是对自己编程思想的一种提升。
学习其他人先进的命令运用经验,和完美的用户体验。这也是能通过程序的语言来看出一个人的素质水平。
最终,在按照豹哥的指引,在因为自己粗心又重新做了一次之后,迎来了虽然简陋但是喜庆的Linux欢迎界面。
总结下来,制作的全程历经18个小时,用了将近15个快照卷,手打了近千行命令。终于搞定了一切,当时那个激动的心情啊!无法用言语来表达!
经历这次使用LFS的创作之旅,我发现,只要努力,心细,朝着自己的目标坚持不懈,终会取得胜利!