依赖关系最简单的一个理解就是Windows上你玩游戏结果提示directx版本过低无法运行。
以及常见的运行某个程序之后提示mfc71.dll未找到。
还有就是用个软件结果安装说明上让你先去安装.net。
Linux的依赖关系因为他的整个系统都是由各个不同的开发组开发的软件集合而成(这点不知道电话是不可能理解Linux依赖关系的起因的),每个软件都有不同的功能提供和调用。
而Linux因为他的软件包组成可以很灵活,某些软件包不是必须的,有些软件功能可以有很多软件进行提供。
所以有些软件互相之间的功能需求就需要“依赖关系”这种描述来进行说明控制。
Windows也有这个问题,只不过因为整个系统是微软统一提供的,所以他可以进行版本接口公职,以及方便的通知附带多个版本的函数库和程序进行功能提供,以及强行的提供一些用户其实根本不需要的软件来提供Windows程序的“依赖关系”。
依赖关系很明显的就是一些超高精简的XP去掉的内容会导致很多软件不能运行。
可以说,简单的去掉IE,就可以让很多Windows程序失去依赖关系而不能运行。
Linux的软件包管理器就是有解决这个问题而设计的原因。
软件包管理器通过分析软件包里面的描述信息和系统当前安装情况的数据库来确定依赖关系是否满足和如何满足依赖关系(也就是需要再安装哪些软件才行)。
文献综述
linux ubuntu安装软件说软件包有未满足的依赖关系,肿么回事,如果...
正在分析软件包的依赖关系树正在读取状态信息... 完成正在初始化软件包状态... 完成正在编辑扩展状态信息... 完成下列软件包是“破损”的:google-chrome-stable0 个软件包被升级,新安装 0 个, 0 个将被删除, 同时 317 个将不升级。
需要获取 0B 的存档。
解包后将要使用 0B。
下列软件包存在未满足的依赖关系:google-chrome-stable: 依赖: libasound2 ( 1.0.22) 但是 1.0.18-1ubuntu9 已安装。
依赖: libc6 (= 2.11) 但是 2.9-4ubuntu6 已被安装并且被保持不升级。
依赖: libcups2 (= 1.4.0) 但是 1.3.9-17ubuntu1 已被安装并且被保持不升级。
依赖: libfontconfig1 (= 2.8.0) 但是 2.6.0-1ubuntu12 已安装。
依赖: libgconf2-4 (= 2.27.0) 但是 2.26.0-0ubuntu1 已安装。
依赖: libgcrypt11 (= 1.4.2) 但是 1.4.1-2ubuntu1 已安装。
依赖: libgtk2.0-0 (= 2.18.0) 但是 2.16.1-0ubuntu2 已安装。
依赖: libnss3-1d (= 3.12.3) 但是 3.12.2~rc1-0ubuntu2 已被安装并且被保持不升级。
依赖: libstdc++6 (= 4.4.0) 但是 4.3.3-5ubuntu4 已安装。
依赖: libatk1.0-0 (= 1.30.0) 但是 1.26.0-0ubuntu2 已安装。
下列动作将解决这些依赖关系:删除 下列软件包:google-chrome-stable分数是 119是否接受该解决方案?[Y/n/q/?] q
为什么Mac安装软件没有依赖关系,而Linux却有
利用yum安装软件(自动解决依赖关系)YUM有以下特点:1、可以同时配置多个资源库(Repository)2、简洁的配置文件(/etc/yum.conf)3、自动解决增加或删除rpm包时遇到的依赖性问题使用方便4、YUM分为服务器端和客户端搭建yum服务器:1、挂载redhat5.5安装光盘。