linux
LFS──Linux from Scratch总结
LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( raw code) 作成符合自己口味的菜肴──个性化的linux,不单单是个性的桌面。
LFS是一本书,讲述如何逐步编译软件,建立一个基于Linux内核的操作系统的过程。每一个版本的LFS包含软件的版本是特定的。所以,把这些软件搜集到一起是非常重要的,否则就要一个一个的去下载了。幸好LFS的live光碟提供了所有程序的源码,并且提供了一个LINUX的环境,以供编译使用,这个环境就是所谓的宿主系统。
在linux环境下,一个程序的运行,如vim,应该有glibc和ncurses这两个库来承担其运行时动态库,ncurses必须于glibc相适应,而glibc有要于相应的Linux内核匹配。当然还有如shell之类的很多程序在运行。然而,Linux内核并不像glibc那样是依靠动态链接库的方式被调用的,内核不是用动态库的方式被调用的,因此不需要先编译,只要提供对应的头文件即可。
使用LFS编译的系统,首先不能受到宿主系统的影响,否则就没有意义了。为了达到这个目的,LFS把工具链放到/tools目录下,这样做还可方便的从目标系统中剥离此工具链。
那么当目标系统还不完全,不能够完成某些编译的时候,就可以使用/tools里面的编译链了。
这里有一个鸡蛋和母鸡的问题:将要编译的glibc,要在工具链的编译工具产生之前,而工具链的编译工具又依赖于glibc,到底是谁生谁 呢。。。
当然了,不能用宿主系统的工具链进行直接编译,那样会产生所谓的“污染”。于是LFS使用了一个间接的方法:使用一个”纯净“的A编译环境来生成编译目标系统的B编译环境。
这种多此一举的做法,令人迷惑。其根本原因在于:用不同版本的gcc编译出来的程序可能不一样。所以为了避免杂种的产生,必须严格控制母鸡的血统。这事使用这个方法的原因。
所以,制作LFS的工具链必须使用相同版本的gcc和binutils等工具编译出来。
这时候该宿主系统出马了,它的作用就是编译出正确版本的工具链,确定整个系统的血统基础,在这个基础至上,就可以生成所谓“纯净”的LINUX了。
一个明显的问题是,一般宿主系统与编译出来的工具链,版本不一致。这样是否会影响后代的血统呢?
这里用到了一个叫bootstrap的东东。bootstrap is resampling with replacement.它是gcc的一个参数,作用是重复编译它几次。它用第一次编译生成的程序来第二次编译自己,然后又用第二次编译生成的程序来第三次编译自己,最后比较第二次和第三次编译的结果, 以确保编译器能毫无差错的编译自身,这通常表明编译是正确的。
看起来n多领域都有这个东东,以下是是出自统计学的Bootstrap方法:
Bootstrap analysis是一种统计学方法,计算的基本方法是:从待分析的数据中随机重新取样,代替原有的数据,从而重建一系列与原数据同样大小的‘鞋带’式取样数据,一般重复500或1000次。
本质上,bootstrap用于检验由样本得到的统计量的可信度。
如果一个来自正态总体的样本S,我们可以根据它计算出u和sigma,而用bootstrap可以估计出u和sigma的可信度。
很明显:gcc只是自举三次。。。就纯种了。
linux终端下的ctrl+*
在windows环境下ctrl+s是保存的快捷键,而换到linux终端下按一下,啊偶,整个终端死翘翘了咩~
查了一下才发现此快捷键在Linux环境下是冻结终端,再按一下ctrl+q就两指解冻料~
这个功能,用处可大了去了,在你临时离开键盘的时候,若是来个猴子,猩猩,吧自己的代码改掉,文件删掉,那可太不幸了~.~
顺便贴几个Linux下的快捷键:
Ctrl + c 中止当前正在执行的程序。
Ctrl + d 相当于exit命令,退出当前会话。
Ctrl + z 将当前运行的程序放到后台运行。与运行时加 & 类似。
Tab 键 自动补全命令。
补充一个洋链接
http://blog.i64.pl/PiosBlog/200610/29-linux-keyboard-shortcuts-you-should-know-about/
一个汉化链接
http://hi.baidu.com/rhca/blog/item/6ef8788dd073cc12b21bba65.html
关于Ubuntu的详细介绍
IRC上,UBUNTU-CN频道内,一帮人在吹水…其他技术频道…很有技术味儿。
1. 关于Ubuntu一词
Ubuntu 是一个南非的民族观念,着眼于人们之间的忠诚和联系。该词来自于祖鲁语和科萨语。Ubuntu(发音”oo-BOON-too”–“乌班图”)被视为非洲人的传统理念,也是建立新南非共和国的基本原则之一,与非洲复兴的理想密切相关。
Ubuntu 精神的大意是“人道待人”(对他人仁慈)。另一种翻译可以是:“天下共享的信念,连接起每个人”。
“具有 ubuntu 精神的人心胸开阔,乐于助人,见贤思齐而不忌妒贤能,因为他/她拥有适度的自信,而这源自如下认识:自己乃是属于一个更大的整体,当他人受到伤害或死去时,当他人受到折磨或压迫时,这个整体就会消失。”
–大主教 Desmond Tutu。
作为一个基于 GNU/Linux 的平台,Ubuntu 操作系统将 ubuntu 精神带到了软件世界。
关于Debian的详细介绍
Debian 是一套为了您的计算机所设计的自由操作系统 (OS)。操作系统是使计算机运行的基程序和工具的集合。Debian 使用Linux核心(操作系统的最重要部份),但大部份的基本工具则来自 GNU 计划,因此我们称为 GNU/Linux。
Debian GNU/Linux 不单是个操作系统,它也包含多过 18733 个软件包,它们是一些经已编译的软件,并包装成一个容易安装的格式。
Debian 最早由Ian Murdock于1993年创建。可以算是迄今为止,最遵循GNU规范的Linux系统。Debian系统分为三个版本分支(branch): stable, testing 和 unstable。截至2005年5月,这三个版本分支分别对应的具体版本为:Woody, Sarge 和 Sid。
十款最华丽的linux桌面
多年来,我碰到很多Linux桌面画面,有些桌面是非常令人惊讶的,有人可以花大量的时间调整和定制他们的桌面,使之焕然一新。这里有一些为数不多的Linux桌面看看,我真的很喜欢,因为他们的创造力和独特性。他们不一定是最美丽的,但他们肯定是非常非常特殊的。
from:10 Most Beautiful Looking Linux Desktop.
贴两张linux衍生派系图
linux众多的发行版,之间有千丝万缕的联系。通过这两张图基本上可以搞清楚其中的关系。
近十年来,linux发行版纷杂滴成长(不全,蛋很强大!):
