linux下的依賴關係

來源:互聯網
上載者:User

標籤:問題   linux   安裝   ui   關係   re   

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依賴於它,所以想改就改了,雖然大部分情況下,軟體能做到向後相容,但是仍然有意外的時候。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.