問題描述
我正在運行 12.04 Precise beta(從 11.10 Oneiric 升級),我在 /etc/apt/source.list 中添加了以下行:
deb http://http.us.debian.org/debian unstable main contrib non-free
為了獲得我需要但在精確存儲庫中不可用的更新版本的軟件包(octave 3.6)。
這工作得很好,但是現在當我想升級時,有大量的包需要更新。我認為這是因為 sid 的許多軟件包的版本比精確的要新。
我暫時禁用了 sid 存儲庫,這工作正常 – 但是我很想知道如果我允許所有這些升級通過會發生什麽?它會破壞我的係統嗎? Ubuntu Precise 和 Debian Sid 存儲庫的結構在某種程度上是否存在根本不同?
最佳方法
您將兩個不同發行版的軟件包混合在一起。由於各種原因,這是一個壞主意:
-
安全。
-
穩定。
-
您現在擁有的衝突更新。
-
如果你讓上麵的更新通過,你會遇到前兩個問題,然後如果說,例如內核更新,你就會陷入困境!
此外,這使得獲得準確的錯誤報告或堆棧跟蹤幾乎是不可能的,如果不是完全不可能的話。
簡而言之,如果您需要 Debian sid,請運行 sid。否則,運行 Ubuntu,然後通過 PPA 或 backports 添加您想要的更新軟件。
更多解釋在這裏:
次佳方法
如果您需要一個當前在您的 ubuntu 版本中不可用的包,這可能是必要的。
我的建議是使用 apt-pin 。
我用以下內容創建了 /etc/apt/preferences.d/unstable
Package: *
Pin: release v=12.04, l=Ubuntu
Pin-Priority: 1000
Package: *
Pin: release a=unstable
Pin-Priority: 600
這確保了基本分配始終優先。如果包不可用,則選擇不穩定的。
第三種方法
如果你這樣做,它最初似乎可以工作。這意味著您在 Ubuntu 自定義/更改內容之前獲得了軟件包。
使用其中的一部分和另一部分的一部分會剝奪雙方解決問題的很多能力。 Debian 用戶將無法為您提供太多幫助,因為您的大部分發行版都是 Ubuntu。 Ubuntu 用戶將無法為您提供太多幫助,因為您的某些發行版是 Debian。
如果您嘗試將包放入 ppa/repo 中,這是一件很棒的事情。分布廣泛,在我看來這可能不是一個好主意。