LFS进行时(三)
<br />分区那里总算是有惊无险的AC了,以前听论坛上有人建议说最好在虚拟机里玩,免得文件坏了神经受刺激...大概指的就是这块地方吧。(不知道此时此刻,LFS的maillist上面已经累计了多少这个地方的问题呢?)<br /> <br />/*****************************Packages and Patches(软件包和补丁)*********************
分区那里总算是有惊无险的AC了,以前听论坛上有人建议说最好在虚拟机里玩,免得文件坏了神经受刺激...大概指的就是这块地方吧。(不知道此时此刻,LFS的maillist上面已经累计了多少这个地方的问题呢?)
/*****************************Packages and Patches(软件包和补丁)***********************/
算是看出来了,LFS作者们喜欢像流水线一样做事情,先把原料备足,然后上线,加工。笔者平时不羁,但上回被吓破胆了,这回也只得乖乖按部就班来。
又是冗长的Introduction...这些介绍对于一点都不懂的家伙倒是不错,可是笔者怎么说也玩了10年电脑了...太罗嗦了...太罗嗦了...>_<
然后是创建文件夹、授权和下载(是以已经挂载分区为前提的)。我嫌弃FF自带的下载器(主要是没有镜像加速和p2p功能),甩头进了windows,然后迅雷一个个复制地址。尼玛居然有75个地址...TAT,太不人道了,就没有downlist什么的可以直接导入的么...
此过程省略若干泪水和汗水...
下载完了共260MB(75个文件),大头是GCC和Linux Kernel,这两个居然占差不多大容量...真是神奇。
这整个章节都是说下载的事情的,所以下载完之后便顺利通过了。
最后补充说,其实他们(LFS)还真是细心啊,即告诉你哪里可以下载,又千叮咛万嘱咐版本号要尽量一致,否则可能会出现什么什么问题...对于个别可能失效的地址还特意贴出来解决方案。但下载的时候并没有用到其他的备用地址,源地址一律健全,并且速度让人满意。这在国内的话可要算是新鲜事了...根据我多年的上网经验,很少见到有隔好几年还可以用的下载地址...
另外,值得一提的是,其官方网站www.linuxfromscratch.org也提供了FTP打包下载(260M),可直接从那里获得。
这里贴出从迅雷导出的downlist,以备不时之需:(用的时候只要保存回xxx.downlist导入迅雷即可)
http://www.linuxfromscratch.org/patches/lfs/6.6/coreutils-8.4-uname-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/coreutils-8.4-i18n-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/bzip2-1.0.5-install_docs-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/diffutils-2.8.1-i18n-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/expect-5.43.0-spawn-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/expect-5.43.0-tcl_8.5.5_fix-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/flex-2.5.35-gcc44-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/gcc-4.4.3-startfiles_fix-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/gettext-0.17-upstream_fixes-2.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/grep-2.5.4-debian_fixes-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/kbd-1.15.1-backspace-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/make-3.81-upstream_fixes-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/patch-2.6.1-test_fix-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/perl-5.10.1-libc-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/perl-5.10.1-utf8-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/procps-3.2.8-watch_unicode-1.patch
http://www.linuxfromscratch.org/patches/lfs/6.6/vim-7.2-fixes-5.patch
ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
http://www.zlib.net/zlib-1.2.3.tar.bz2
ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
http://www.kernel.org/pub/linux/utils/util-linux-ng/v2.17/util-linux-ng-2.17.tar.bz2
http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz
http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-151.tar.bz2
http://www.linuxfromscratch.org/lfs/downloads/6.6/udev-config-20100128.tar.bz2
http://prdownloads.sourceforge.net/tcl/tcl8.5.8-src.tar.gz
http://www.infodrom.org/projects/sysklogd/download/sysklogd-1.5.tar.gz
http://ftp.gnu.org/gnu/tar/tar-1.22.tar.bz2
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.8.tar.bz2
ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-4.1.4.2.tar.bz2
ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-2.86.tar.gz
http://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
http://ftp.gnu.org/gnu/sed/sed-4.2.1.tar.bz2
http://cpan.org/src/5.0/perl-5.10.1.tar.bz2
http://prdownloads.sourceforge.net/psmisc/psmisc-22.10.tar.gz
http://procps.sourceforge.net/procps-3.2.8.tar.gz
http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.7.tar.gz
http://ftp.gnu.org/gnu/patch/patch-2.6.1.tar.bz2
http://www.kernel.org/pub/linux/docs/manpages/Archive/man-pages-3.23.tar.bz2
http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.11.1.tar.bz2
http://download.savannah.gnu.org/releases/man-db/man-db-2.5.6.tar.gz
http://ftp.gnu.org/gnu/make/make-3.81.tar.bz2
http://ftp.gnu.org/gnu/m4/m4-1.4.13.tar.bz2
http://ftp.gnu.org/gnu/gcc/gcc-4.4.3/gcc-4.4.3.tar.bz2
http://ftp.gnu.org/gnu/glibc/glibc-2.11.1.tar.bz2
http://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.gz
http://www.linuxfromscratch.org/lfs/downloads/6.6/lfs-bootscripts-20100124.tar.bz2
http://www.greenwoodsoftware.com/less/less-436.tar.gz
http://ftp.altlinux.com/pub/people/legion/kbd/kbd-1.15.1.tar.gz
http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.31.tar.bz2
http://ftp.gnu.org/gnu/groff/groff-1.20.1.tar.gz
http://ftp.gnu.org/gnu/inetutils/inetutils-1.7.tar.gz
ftp://alpha.gnu.org/gnu/grub/grub-1.97.2.tar.gz
http://ftp.gnu.org/gnu/gettext/gettext-0.17.tar.gz
http://sethwklein.net/iana-etc-2.30.tar.bz2
http://ftp.gnu.org/gnu/gzip/gzip-1.4.tar.gz
http://ftp.gnu.org/gnu/grep/grep-2.5.4.tar.bz2
http://ftp.gnu.org/gnu/gmp/gmp-5.0.0.tar.bz2
http://ftp.gnu.org/gnu/gdbm/gdbm-1.8.3.tar.gz
http://ftp.gnu.org/gnu/gawk/gawk-3.1.7.tar.bz2
http://prdownloads.sourceforge.net/flex/flex-2.5.35.tar.bz2
http://ftp.gnu.org/gnu/findutils/findutils-4.4.2.tar.gz
ftp://ftp.astron.com/pub/file/file-5.04.tar.gz
http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.41.10.tar.gz
http://expect.nist.gov/src/expect-5.43.0.tar.gz
http://ftp.gnu.org/gnu/diffutils/diffutils-2.8.1.tar.gz
http://ftp.gnu.org/gnu/coreutils/coreutils-8.4.tar.gz
http://ftp.gnu.org/gnu/dejagnu/dejagnu-1.4.4.tar.gz
http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2
http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.bz2
http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz
http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2
http://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.bz2
--------------------------2016.06.19 补充---------------------------------------------------------------------
回顾之前写的东西的时候看到这几篇烂尾文章,虽然已经过去有点久,还是来匆匆画个句号,不然就这么放着确实不好看。
时间距今已经过去5年,烂尾的原因已经模糊了,根据零星记忆,这个实验最后是没有全部做完的,但是也快到末尾了。
编译完内核,剩余的步骤大概是修改配置 & 让引导程序从新编译的系统进来,这样实验就算完成了。而我大概就是卡在这一步上,内核已经整装待发,但一直没办法挂到引导程序上,更进一步的原因是没什么印象了。
理所应当的,还应该给这个实验写个总结。
然而时隔多年,现在去计较当时的得失已经完全不靠谱了,我就按照现在的想法重新评价一下:
总的来说,这或许是个对Linux老司机太容易,而又对初学者太难的实验,中间涉及大量的操作,却没足够多的讲解(就当时的LFS文档而言,新版未关注)。这使得我作为初学者,运行指令也好,下载编译软件也好,在实验过程中多数时间都是处于比较懵逼的状态。然而,反过来看,如果遇到的每一个疑问都要立刻展开,寻找答案,那整个实验过程就会变成像在泥沼里前进一样,让人失去进行下去的动力和乐趣(虽然不懂,至少知道自己好像完成了一些看起来好像很厉害的事情)。因此,哪怕知道了这样的问题,也很难对“LFS”究竟应该如何改进,以及自己应该如何进行这个实验有特别明确的看法。
虽然提了下LFS有所缺陷的地方,但瑕不掩瑜,它还是对新手打开Linux大门起到很好的帮助的。通过不断的下载、安装、磁盘管理等操作,帮助积累了一些系统使用经验;通过构建“用于构建新系统”的工具链,帮助了解Linux是怎么诞生的;通过配置新系统,帮助了解一些常见的系统配置,有哪些可以裁剪的地方,电脑从开机到进入系统这个过程大概是怎么回事,等等。最关键的作用描述起来比较笼统些——它提供了新手使用Linux,在上面做一些操作的理由——这一点我深有感触,对于进行很多日常应用,Linux哪怕是各个亲民化的版本,用起来也有诸多不方便的地方,让人无法忍受将它作为日常使用的操作系统。一来二去,学习Linux的热情就渐渐熄灭了。而LFS提供了一个有趣的目的和到达这个目的的路径,这一点对学习能够起到非常积极的作用。
快毕业时打算应聘后台开发工作,为了避免问及Linux一些常用命令时卡壳的尴尬,断断续续花了好多精力去记,后来过来一阵子就忘得一干二净了。最近两年的工作重新回到Linux的舞台,很多实用的工具各种风骚的用法又要重头学期,但其实天天用的话掌握这些东西根本花不了什么时间,google一下,命令抄过来执行一遍,下次再用就有印象,下下次就完全记住了,有细节了解不够详细的,man一下也就搞定,所以这事儿其实没啥好纠结的。操作系统和众多工具一样,用用很快就上手,一段时间不用就会生疏。
回想起当时TJ这个主题的原因,一方面因为流程卡住了,没找到解决办法。另一方面,大概是中途又被别的什么东西转移了兴趣,以至于寒假匆匆而过,再到开学,一堆事情,慢慢就忘了再继续往下写了。
更多推荐
所有评论(0)