LinuxSir.cn,穿越时空的Linuxsir!

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

我对LFS和包管理机制的一些看法

[复制链接]
发表于 2002-12-18 11:26:24 | 显示全部楼层 |阅读模式
这几天一直没有时间玩LFS,走在路上突然想起了这个问题。

我也曾经在LFS上装过RH的RPM,也想在装GENTOO的PORTAGE, 和DEBIAN的APT-GET,但现在想一想,LFS应该有自己的包管理系统。我记的TRAM在他的LFS上装了RPM,PORTAGE,APT-GET,我并不是要批判TRAM,但是我觉得这样的LFS就不在有他的特点了。如果我喜欢RPM,那我干吗不用RH呢?如果觉得APT-GET比较不错的话,那我为什么不用DEBIAN呢?也许你会说“LFS可以对机器进行优化”,如果只有这一点的话,那我建议你用GENTOO,在LFS下作的优化,在GENTOO下也可以完成,而且GENTOO不用你费心的去找依赖关系。在其它的系统下你也可以自己下载源文件,然后自己捧着LFS的HINTS,加上你要的优化参数,不也可以照样优化你的系统吗?

我也想曾在我的LFS上装了RPM,也想装PORTAGE,这么作的目的是要增加LFS与其它系统的兼容性,也想LFS与其它系统越来越相似,以减少对LFS不适应所带来的不便,但现在想想,我认为LFS的包管理机制应该离其它的包管理机制越远越好,否则LFS就是一个四不像的系统,也会因为没有自己的特点,而渐渐失去它的用户。

如果要作LFS的包的管理系统,我想以下几点是须要考虑的:
   1。软件包的下载问题:LFS所使用的软件包和PATCH是从很多的地方搜索来的,要想使更多的用户使用LFS的话,那就须要一个稳定的LFS包的下载服务器,这也是一个现在很难解决的硬件问题。还有就是能提供一个依赖关系的列表,由用户自由选择所须要的软件。
   2。安装时编译参数和优化参数的问题:很多人装LFS都是用COPY , PASTE的方法的,LFS的包管理机制,最好采用半自动的方式,给用户以选择题的方式,选中你所要的参数,从而减少由于输入错误而导致的系统问题,
  3。软件卸载问题:很多的基于源代码的软件安装的一个大问题就是卸载,有一部分软件提供卸载的功能,也有很多是不提供的,如何在卸载了一个软件以后而不影响其它软件的使用也是要解决的问题。
4。重复安装的问题:在BLFS中有很多的软件都是吃时间的大户。就像TRAM所说的那样,让我装一次两次还可以,如果总是让我装的话,我也肯定会疯的,那漫长的等待对任何人来说都是很难忍受的。如何在安装了一次以后,就可以利用上次编译的软件进行再安装,也是一个须要解决的问题。

以上是我对LFS的一点小小的看法,相信在圣诞之前很收到很多的臭鸡蛋之类的礼物,但仍然很希望能和大家一同探讨!
发表于 2002-12-18 11:47:38 | 显示全部楼层
建议很好!我也来谈点看法:
1.软件包的下载是个问题,但并不是主要的问题,主要的问题是如何安装。但包的管理是个大问题,特别是各种软件升级后,要打什么补丁,有什么问题,会不会与其它软件发生冲突,仅仅靠安装说明书是不够的,确实要确定一个管理机制。
2.和3.这两点可以我们自己可以进行改进,用shell做一个安装卸载向导,tram已经做了一个,但我觉得还不够好。完全可以再傻瓜一些,要在硬盘上建立一个数据库,对安装卸载进行管理。
4.重复安装的问题恐怕不好解决。就看tram老乡有没有什么办法。
发表于 2002-12-18 11:53:15 | 显示全部楼层
我很同意你的看法!我装rpm是为了装一些只有rpm的软件,还有gaim听doooom说编译的utf8总是有点问题。装apt-get则是好玩,试试,没用它装过东西,因为一装,就是所有的包都用debian了,而且我也不想用deb包。
你说的第三点和第四点,我做的那个小工具都可以实现哦:)
第一点呢,主要是服务器的问题,我们有机会,大家好好讨论一下,怎么搞一个服务器。依赖性有点麻烦,就是我们是不是要建立自己的软件树,这样会不会丢掉自由性?
第二点,我觉得就是做一个编译的辅助工具吧,我看过一些,比如rock linux和lunar linux,不过它们的工具和我所想的还差一些。它们太自动了,能控制的东西不多。而我想的是,首先是要能给用户自由的控制,第二是要能在没有X的时候用,最好是shell脚本,减少依赖性。
lomat,我和你的想法是一样的:)
发表于 2002-12-18 11:54:20 | 显示全部楼层
要做一个软件包的管理程序是很麻烦的,特别是依赖关系等,我觉得可以把portage拿来改进,因为是python+shell写的比较简单.
发表于 2002-12-18 11:57:15 | 显示全部楼层
如果说LFS的特点就是手动。自己打命令行。自己用rm,make uninstall删除。
实际上保留Makefile不失为一个好办法。既有LFS的味道也行之有效。

我们还有一个包管理软件就是压缩备份。可以考虑把tram的包管理倒过来。应该不难,记录make install都读取了那些文件。就是说都install或者cp了哪些文件。这样把这些install或者cp过的文件留下,其他的从源码目录删除。

这样把源码目录作成压缩包。什么时候想用的了,解开来,可以make install 可以make uninstall。

这样还是比较有LFS源味,而且对整个系统的改动比较小。
发表于 2002-12-18 12:04:09 | 显示全部楼层
现在我那个工具就是这样的啊,它把安装过的文件打包,放在/usr/src/clfs下,把在安装过程中改动过的文件也打包,放在源码目录下,叫backupxxx.tgz,如果你把checkinstallrc里的INSTALL改成0,那在你用了checkinstall后,你的系统里是没有装东西的,只是/usr/src/clfs下多了一个打包过的文件,

最初由 doooom 发布
我们还有一个包管理软件就是压缩备份。可以考虑把tram的包管理倒过来。应该不难,记录make install都读取了那些文件。就是说都install或者cp了哪些文件。这样把这些install或者cp过的文件留下,其他的从源码目录删除。
发表于 2002-12-18 12:13:23 | 显示全部楼层
完了,暴露拉,暴露我没有装tram gg的软件了:(

英雄所见略同,英雄所见大同。

最初由 tram 发布
现在我那个工具就是这样的啊,它把安装过的文件打包,放在/usr/src/clfs下,把在安装过程中改动过的文件也打包,放在源码目录下,叫backupxxx.tgz,如果你把checkinstallrc里的INSTALL改成0,那在你用了checkinstall后,你的系统里是没有装东西的,只是/usr/src/clfs下多了一个打包过的文件,

发表于 2002-12-18 12:19:28 | 显示全部楼层
呵呵!现在有一个比checkinstall更有前途的办法,不过还不成熟,在itrace里,用了一个内核模块,可以从内核里截取进程文件操作的信息。checkinstall的缺点是不能监视静态链接、SUID和SGID的程序,而itrace可以监视所有的程序。现在itrace才0.5c,还很不完善,不过我很看好它的这种方法。
发表于 2002-12-18 12:33:21 | 显示全部楼层
有条件的话,我们自己也可以做一个。
发表于 2002-12-18 12:42:13 | 显示全部楼层
那就要好好研究研究这个内核模块了,呵呵:
http://www.jkcal.org/simon/itrace.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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