LinuxSir.cn,穿越时空的Linuxsir!

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

linux依赖性根源是什么?

[复制链接]
发表于 2009-5-22 11:35:10 | 显示全部楼层 |阅读模式
请大侠说说linux的依赖性根源是什么?目前有什么可行的解决方法阿?
发表于 2009-5-22 11:54:58 | 显示全部楼层
Post by sqsowen;1989836
请大侠说说linux的依赖性根源是什么?目前有什么可行的解决方法阿?


解决方法无非就两个,使用包管理器和手动编译。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-22 12:17:39 | 显示全部楼层
但手工编译的系统不认识阿!希望说说前一个问题,为什么有依赖性!
回复 支持 反对

使用道具 举报

发表于 2009-5-22 12:35:16 | 显示全部楼层
应该说成是包的依赖关系吧?

编译一次 LFS 基本上就全懂了。
回复 支持 反对

使用道具 举报

发表于 2009-5-22 12:50:40 | 显示全部楼层
Post by sqsowen;1989857
但手工编译的系统不认识阿!希望说说前一个问题,为什么有依赖性!


简单的来说:因为Linux是自由的。

如果Linux不是自由的,那么它可以强制规定所有的发行版都把所有的基础库都装上。那么依赖问题就消失了。

由于你可以自由的增减系统级部件,那么就存在了依赖性问题。

Windows用另外一种方法解决依赖问题:就是系统不装什么依赖库,但所有的软件都把自己所有的依赖全部都跟自己一同发布。看起来这很简单,但这导致三个问题:1。软件尺寸大很多。2。不同软件可能会去安装同一个系统库的不同版本。3。没有公共的库环境,同一个功能可能被不同的软件公司实现多遍,并且所有的库都在你的系统中。
回复 支持 反对

使用道具 举报

发表于 2009-5-22 13:10:23 | 显示全部楼层
Post by sqsowen;1989857
但手工编译的系统不认识阿!希望说说前一个问题,为什么有依赖性!

手工编译安装的不是系统不认,是包管理器不认。
回复 支持 反对

使用道具 举报

发表于 2009-5-23 09:59:01 | 显示全部楼层
也有專為手功編譯安裝而設的包管理器,但多數都不會自動處理依賴而矣
回复 支持 反对

使用道具 举报

发表于 2009-5-23 13:18:51 | 显示全部楼层
Post by poet;1989874
简单的来说:因为Linux是自由的。

如果Linux不是自由的,那么它可以强制规定所有的发行版都把所有的基础库都装上。那么依赖问题就消失了。

由于你可以自由的增减系统级部件,那么就存在了依赖性问题。

Windows用另外一种方法解决依赖问题:就是系统不装什么依赖库,但所有的软件都把自己所有的依赖全部都跟自己一同发布。看起来这很简单,但这导致三个问题:1。软件尺寸大很多。2。不同软件可能会去安装同一个系统库的不同版本。3。没有公共的库环境,同一个功能可能被不同的软件公司实现多遍,并且所有的库都在你的系统中。


讲得很清楚!
回复 支持 反对

使用道具 举报

发表于 2009-5-23 20:01:54 | 显示全部楼层
Post by poet;1989874

Windows用另外一种方法解决依赖问题:就是系统不装什么依赖库,但所有的软件都把自己所有的依赖全部都跟自己一同发布。看起来这很简单,但这导致三个问题:1。软件尺寸大很多。2。不同软件可能会去安装同一个系统库的不同版本。3。没有公共的库环境,同一个功能可能被不同的软件公司实现多遍,并且所有的库都在你的系统中。


反了反了,Windows 的做法是把所有曾经发布过的库统统装到系统里面,要不然Windows 怎么会这么大呢,所谓的 dll 池。
回复 支持 反对

使用道具 举报

发表于 2009-5-23 20:03:50 | 显示全部楼层
Post by Quanm;1990319
反了反了,Windows 的做法是把所有曾经发布过的库统统装到系统里面,要不然Windows 怎么会这么大呢,所谓的 dll 池。

Java 程序发布的时候经常这么干……特别是,对 windoze 平台。
回复 支持 反对

使用道具 举报

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

本版积分规则

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