LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1387|回复: 6

而今迈步从头越

[复制链接]
发表于 2004-10-17 17:07:59 | 显示全部楼层 |阅读模式
Linux From Scratch (LFS)是一个非常有意思的项目。我最近才接触到LFS,觉得这为我研究Linux提供了一种极佳的方法。

该项目实际上就是从编译器开始,在自己的计算机上建造一个Linux,所有的部件都需要自行编译,不使用已经编译好的二进制代码。

整个系统都需要重新建造,这个过程中可以很详细的了解系统中的文件分布,指定文件的安装位置和配置文件的位置。

然而,并非可以随心所欲的指定安装位置,因为其他的部件安装时会到默认位置去寻找所依赖的部件,当然这些默认位置也可以被修改,但总的代价是不菲的。即使我们建造了一套自己的路径,恐怕自己都难记住。因此,我得到的结论是:尽量按照惯例。

对于完美主义者来说,不再需要的东东就应该被彻底清理出系统,哪怕剩下一个配置文件都让心里觉得不舒服。很不幸,我就符合这一条。仔细检查各个文件包的说明文档,可以找出安装了些什么东东在系统中。我的想法是,做一个配置文件,记录安装了哪些东西,增加了哪些文件,对配置做了哪些改动。如果能像Windows那样自动做这些事就好了,可是由于缺乏同一的标准,而且各个软件包千差万别,对系统配置的修改也各有不同,唯一剩下了一个选择:手动。

lfs.linuxsir.cn是LFS的中文网站,可以下载到说明文档和所需的文件包及补丁。

已经做了几次LFS,觉得可以开始建造自己的系统了。

系统平台:
PII 350, 384M 内存,硬盘为
6.4G:/dev/hda1,/ for Debian
      /dev/hda5,/home for Debian
      /dev/hda6,swap for Debian
4.3G: /dev/hdd1,/ for LFS
      /dev/hdd2,swap for LFS
网卡为Realtec8139一个,网络地址设为192.168.1.2,连接到一个五口交换机。该交换机还连接ADSL 512k(pppoe拨号),以及一台Windows XP。
Windows XP拨号连接ADSL,网络共享。Widnows XP的网络地址设为192.168.1.1。

计划:
网络安装一个Debian,apt安装需要的组件。
按LFS5.0中文版尽量精简的安装一个LFS,并作好安装记录。
备份LFS。
参考Beyond LFS(BLFS)安装需要的组件,并作好安装记录。

目的:
建立一个服务器:Web服务器、ftp服务器、邮件服务器、路由器和防火墙。可以远程X连接。
发表于 2004-10-17 23:23:51 | 显示全部楼层
加油。:)。
祝你成功。
 楼主| 发表于 2004-10-18 00:46:22 | 显示全部楼层

谢谢

正在研究工具链的问题。我希望能把这个原理阐述得更清楚一些,毕竟这是关键所在。
我会尽快发帖的:)
发表于 2004-10-18 08:56:27 | 显示全部楼层
是的,现在linux的包管理是一个很大的问题,我也曾经想过用XML为基础,来做一个(可以和ALFS相结合),不过可惜,没有同道中人。说实话,现在的linux的包管理,我都不满意。
发表于 2004-10-18 13:12:30 | 显示全部楼层
我最近在实践一个软件包管理方法,不知道是否能够得到大家的认同我先说说。
首先将某一个软件做成二进制软件包,并压缩成tar.bz2格式。然后在写一个通用的mkinstall.sh脚本生成一份install.sh,只要对该脚本稍做修改就可以做成该软件专用的安装脚本。
安装时很简单只要运行./install.sh --prefix=/usr软件基本就安装结束,同时在/usr/dripkg的目录下自动生成一份可卸载该软件的脚本为以后升级或卸载软件包提供方便。
卸载软件时只要跑到/usr/dripkg/目录下运行xxx-uninstall.sh就可以比较干净的卸载该软件包。
但是现在最大的问题在于如何确定需求的问题。也就是说在运行./install.sh的时候如何自动寻找该软件的需求
 楼主| 发表于 2004-10-18 19:02:47 | 显示全部楼层
我觉得恐怕不太可行,因为make install所做的,不仅仅是安装到/usr下,还可能使用默认路径安装了配置文件和库文件等。如果把库文件也放在/usr下相应目录,在配置时将会非常麻烦。而且,有些软件相互依赖,例如openssl和openssh,若要删去openssl,则openssh不可用。

目前没有想到什么好的办法,其实微软所用的注册表本身是一个很不错的解决方案。
 楼主| 发表于 2004-10-18 19:37:50 | 显示全部楼层

2004.10.17

使用Debian网络安装光盘Sarge Official Net install安装Debian。
光盘启动使用参数expert26,即专家方式,使用2.6内核。

安装完成,将/dev/hda5挂接到/home。
sources.list为
--------------------------------------------------

deb http://debian.cn99.com/debian testing main contrib non-free
deb http://debian.cn99.com/debian-non-US testing/non-US main contrib non-free
deb http://debian.cn99.com/debian-security testing/updates main contrib non-free

deb-src http://debian.cn99.com/debian testing main contrib non-free
deb-src http://debian.cn99.com/debian-non-US testing/non-US main contrib non-free

--------------------------------------------------
(使用testing,若使用stable则很多包无法安装)

安装过程中对所有的软件包都升级。

首先安装ssh,然后从Windows XP上运行PuTTY远程登录。

再安装vim,ftpd,bzip2,make,gcc,automake,g++,flex。

在/dev/hdd1安装ext3文件系统(即格式化为ext3):
mkfs.ext3 /dev/hdd1

将/dev/hdd2设为交换分区:
mkswap /dev/hdd2

按书中步骤直到第五章中增加lfs用户后用lfs登录。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表