LinuxSir.cn,穿越时空的Linuxsir!

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

安装一个软件包时装的程序太多,怎么办?

[复制链接]
发表于 2007-2-9 17:12:50 | 显示全部楼层 |阅读模式
安装每一个软件包时,都会安装一大堆程序,但真正用的到的就那几个,其他都用不到,请问怎么将他们删除,一个个删是不是太麻烦了,而且会破会依赖关系。
   有没有什么软件可以用啊?可以手动选择需要保留的程序,然后该软件可以找出这些程序所依赖其他程序和库,把其他不需要的程序和库删掉,最后留下一个只包括我需要的程序的最小系统。
   请问有类似的软件吗?
发表于 2007-2-9 17:39:19 | 显示全部楼层
你要求这么高的灵活性,手动删除是最简单咯~
依赖关系可以用下面的东西辅助一下
ldd,lsmod,lsof ...
回复 支持 反对

使用道具 举报

发表于 2007-2-11 10:48:39 | 显示全部楼层
LFS手册中在包管理那一节曾提到过时间戳,如果你是单用户安装这个到是可以试试。
写个脚本在安装之前和安装之后分别运行下,对系统内文件进行对比,就知道你安装了哪些文件,都安装于哪里了:cool:
不有其它的方法用DESTDIR=PATH伪安装将软件包安装到你指定的目录,但并不是每个软件包都支持这种方法...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 09:28:06 | 显示全部楼层
谢谢楼上两位,用ldd可以知道一个程序依赖与哪些库,但是程序与程序之间是不是也有依赖关系呢?怎么能知道程序和程序之间的依赖关系?
回复 支持 反对

使用道具 举报

发表于 2007-2-12 10:59:46 | 显示全部楼层
可执行程序之间没有依赖关系一说吧......
反正我没听说过
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 14:52:54 | 显示全部楼层
没有吗?我不太清楚...
回复 支持 反对

使用道具 举报

发表于 2007-2-12 16:27:14 | 显示全部楼层
有吗?我也不太清楚...
回复 支持 反对

使用道具 举报

发表于 2007-2-12 18:30:28 | 显示全部楼层
我也不太清楚,不过我认为。可执行程序也许在设计时去调用另一个程序,就算另一个程序没有,也不算这个程序失败。比如一些插件装不装对主程序也没有多少影响。
库就不同了,如果一个程序依赖这个库,没有这个库,就相当于整个程序代码少了一部份。当然不能运行了。装gnome要gtk等库的支持,装kde要qt等库的支持。我知道楼主的意思,你只想要相依程序库,头文件,以及 pkgconfig的东东。不想要这个可执行的程序。那你就在/bin里手动把这个可执行的东东删了吧。说穿了库能减少劳动力减小系统的大小的,不是会把你系统弄得很大很大,所以多装几个相依的软件不要用眼睛来看是变大了。从总体来讲他是减小系统的好办法。
      另外如果装一个软件有些相依程序的库有的用得到有的用不到。建译也不要用ldd来调节查看哪些没有用到而给他删了。这样管理起来更麻烦了。下次再装其它软件就上升到查找相依的库了,而不是相依的软件。库错中复杂的,一个库有可能又依赖于另一个库。这么来手动管理容易把头弄昏的。
回复 支持 反对

使用道具 举报

发表于 2007-2-12 21:10:04 | 显示全部楼层
Post by blueeyes1004
安装每一个软件包时,都会安装一大堆程序,但真正用的到的就那几个,其他都用不到,请问怎么将他们删除,一个个删是不是太麻烦了,而且会破会依赖关系。
   有没有什么软件可以用啊?可以手动选择需要保留的程序,然后该软件可以找出这些程序所依赖其他程序和库,把其他不需要的程序和库删掉,最后留下一个只包括我需要的程序的最小系统。
   请问有类似的软件吗?
也许用主流的发行版用它们自带的包管理系统更容易达成,LFS 的情况下要自己对这些关系很清楚才能动作
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-13 11:19:00 | 显示全部楼层
就是因为不清楚,所以不敢乱动:(。头大了
回复 支持 反对

使用道具 举报

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

本版积分规则

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