LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: Rhcer

[問題]如何精簡LFS的大小?

[复制链接]
发表于 2006-7-17 22:13:11 | 显示全部楼层
啊,这么老的贴子也被翻出来了
这几天刚做完一个系统,以livecd作为主系统,直接从第6章开始做完的基本LFS系统,最后的系统大约120M(去掉了所有帮助文档,没有要gcc/autoconf/automake,用的glibc库,库文件还没清理),再清理优化一下应该会在100M以内。
只是在编译VIM时发现以livecd编译的VIM程序会链接很多的库文件,只得从先做好的LFS系统复制一份过来,另外发现的一个问题就是less使用时有点问题,需要按回车才能继续。
回复 支持 反对

使用道具 举报

发表于 2006-7-18 08:53:03 | 显示全部楼层
呵呵,按照你的方法试做一下。
关于VIM,epingnet兄,你是直接把vim可执行程序复制在新系统里吗?
如果是,其他程序也可以这样做咯?
回复 支持 反对

使用道具 举报

发表于 2006-7-18 09:13:20 | 显示全部楼层
应该是可以的,直接从livecd上复制需要的程序文件/库文件/配置文件,不过这样做工作量会很大的,而且很容易出问题。
最好的方法是先将编译后的软件包安装到指定目录(不要用手册中默认的目录),再从指定目录中复制需要的部分到目标系统。
回复 支持 反对

使用道具 举报

发表于 2006-7-18 10:30:47 | 显示全部楼层
最好的方法是先将编译后的软件包安装到指定目录(不要用手册中默认的目录),再从指定目录中复制需要的部分到目标系统。
epingnet兄
这句话我没理解:
1:“编译后的软件包”----是“编译后的可执行程序”吗?
2:为什么安装在“指定目录”?这样安装在别处再复制到目标系统,还不如直接安装在守则中默认的目录,这样做有什么好处?
我们复制的目的是:直接拷贝LIVECD或者已有LFS里的可执行程序到目标系统,省略编译的步骤,是吧?
回复 支持 反对

使用道具 举报

发表于 2006-7-18 10:31:04 | 显示全部楼层
最好的方法是先将编译后的软件包安装到指定目录(不要用手册中默认的目录),再从指定目录中复制需要的部分到目标系统。
epingnet兄
这句话我没理解:
1:“编译后的软件包”----是“编译后的可执行程序”吗?
2:为什么安装在“指定目录”?这样安装在别处再复制到目标系统,还不如直接安装在守则中默认的目录,这样做有什么好处?
我们复制的目的是:直接拷贝LIVECD或者已有LFS里的可执行程序到目标系统,省略编译的步骤,是吧?
回复 支持 反对

使用道具 举报

发表于 2006-7-18 10:38:39 | 显示全部楼层
我大概明白你的意思了。
不过安装在指定目录,然后服知道目标系统,这样不是更麻烦了吗?
我们复制的目的是减少编译这一步,不用...configure &&  make  && make installl....直接复制,不知想法是否可行?
举个例子:我系统里没有LD命令,我复制一个过去,它是不是就可以用了?
回复 支持 反对

使用道具 举报

发表于 2006-7-18 10:40:33 | 显示全部楼层
网络出问题了,fan
回复 支持 反对

使用道具 举报

发表于 2006-7-18 11:06:41 | 显示全部楼层
Post by 信天游
1:“编译后的软件包”----是“编译后的可执行程序”吗?

就是make后的软件包,后面接着的是 make check 和 make install

Post by 信天游
2:为什么安装在“指定目录”?这样安装在别处再复制到目标系统,还不如直接安装在守则中默认的目录,这样做有什么好处?
我们复制的目的是:直接拷贝LIVECD或者已有LFS里的可执行程序到目标系统,省略编译的步骤,是吧?

这是两种不同的方法,一种是自己根本就不用编译,直接从livecd复制;
另一种是自己编译,只是make install时给它指定目录,就样你可知道这个软件包会安装哪些文件,这些文件都会安装于哪个目录,有哪些才是你自己所需要的,只有自己需要的才复制到目标系统。
回复 支持 反对

使用道具 举报

发表于 2006-7-18 11:08:34 | 显示全部楼层
Post by 信天游
我大概明白你的意思了。
不过安装在指定目录,然后服知道目标系统,这样不是更麻烦了吗?
我们复制的目的是减少编译这一步,不用...configure &&  make  && make installl....直接复制,不知想法是否可行?
举个例子:我系统里没有LD命令,我复制一个过去,它是不是就可以用了?


不要忘了用LDD命令,它会链接很多库文件的
回复 支持 反对

使用道具 举报

发表于 2006-7-18 17:41:30 | 显示全部楼层
Post by gucuiwen
我上次编译了一个小内核500k左右吧,再加一个静态编译的bash
装上lilo就启动到bash提示符号了,总共1M空间多一点 :)
不过没什么用
一个内核加一个静态编译的apache 加上lilo init 参数为httpd
大小在10M多,能提供httpd服务,终于可以用了感觉还不错,不过除了开机和关系,不能对系统做任何操作。



直接装上httpd就可以了?网络配置呢???

如果我现在用tomcat+mysql,也可以用这种方法吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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