zoukankan      html  css  js  c++  java
  • linux下的依赖关系

    1.一般来说依赖关系可以使得软件较小并且某个lib修复bug以后所有被依赖的软件都能得到好处。

    1. 依赖关系下,对于维护也有利有弊,第一,若某个被依赖的软件出现bug或者漏洞,这时候就只需要维护一个软件,可以不动依赖它的上层软件,而win下面,(除了系统的api),安装包都被打成静态包了,这时候如果有个bug,那每个软件都需要打补丁;其二,简化了安装,无须判断其他需要链接的软件的位置。
    2. 有些时候依赖关系也确实有点烦人。
      我上次碰到一个例子:

      我安装的是gentoo,并且安装了docky这个软件,而docky依赖于mono。
      有一次我在做emerge -Dup world的时候提示我mono有更新,从2.2更新到2.8了,但是docky还没有。
      于是我就emerge --update --deep world把这个mono更新了。
      之后发现docky就无法启动了。
      从命令行启动docky以后就发现原来依赖于mono的某个api函数被删除了... 囧死。
      google了一下发现新版本的docky已经修复了这个问题,但是emerge --sync的时候发现新的ebuild还没有进去。
      没办法只好找gentoo bug,里面发现了一个ebuild(当然自己写ebuild也简单的很),down下来以后再次emere docky, 终于搞定了。
      幸好docky并不是什么重要的软件,但即便如此,仍然让人感觉不爽。
      当然这更多的是portage系统的问题,因为ebuild一般对于依赖关系会指定>=某个版本的软件,而很少用=某个版本的软件。
      然而>=才是合理的,这样才能保证被依赖的软件也能得到升级。所以此问题几乎不可避免。

      依赖问题的关键在于,开发软件A的人员,很少会顾及,甚至未必知道还有个软件B依赖于它,所以想改就改了,虽然大部分情况下,软件能做到向后兼容,但是仍然有意外的时候。
  • 相关阅读:
    【BZOJ4568】幸运数字(SCOI2016)-树上倍增+异或线性基合并
    【BZOJ2115】XOR(WC2011)-异或线性基+DFS树+贪心
    【HDU3949】XOR-异或线性基
    【BZOJ3105】新Nim游戏(CQOI2013)-博弈论+异或线性基+贪心
    购物单 && 动态规划 && 背包问题
    求int型正整数在内存中存储时1的个数 && int型的数到底最大是多少?
    Eqaulize Prices
    Nearest Interesting Number
    英文句子的逆序
    字符串反转
  • 原文地址:https://www.cnblogs.com/jjkv3/p/3821354.html
Copyright © 2011-2022 走看看