歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在Debian中啟用測試版/不穩定版的軟件庫

如何在Debian中啟用測試版/不穩定版的軟件庫

日期:2017/2/28 14:30:25   编辑:Linux教程

為何要啟用測試版/不穩定版?

測試版/不穩定版的Debian給開發者提供了一個比當前穩定版更新的環境以及軟件。你們注意到了麼?其實這些穩定版啊不穩定版啊神馬的都是別名,比方說穩定版其實就是Debian的穩定發行版,而測試版將會是下一個Debian的穩定發行版(當然那是測試後的事了)。截至發稿為止,當前Debian的穩定發行版是Wheezy 7.x,將會成為下一個穩定版的測試版則是Jessie。

當你需要一款應用的最新版本的時候,啟用測試版/不穩定版將會是不二的選擇。當初我因為工作需要,要安裝個Apache的 2.4.x到我的Debian Wheezy。測試版需要的是2.4.x的,可是我的軟件庫裡面只有2.2.x的。所以最好的解決方案當時是將測試版下下來啦。

通常來說當我們想嘗試最新版本的應用時,都應該只在測試版軟件庫中搜索。

Debian 7.0 Wheezy 測試體驗 http://www.linuxidc.com/Linux/2013-05/84646.htm

Debian 7.0 Wheezy 發布! http://www.linuxidc.com/Linux/2013-05/83883.htm

硬盤安裝Debian7(Wheezy)以及初級配置 http://www.linuxidc.com/Linux/2013-06/86351.htm

在這篇文章裡我將教大家如何在不弄壞你系統的前提下設置好測試、不穩定版的Debain系統並在上面安裝軟件。

  1. Stable<Testing<Unstable(穩定<測試版<不穩定版)
  2. Wheezy<Jessie<Sid

1. 設置測試版/不穩定版的apt源

第一步是把測試版/不穩定版的源加到你的sources.list文件裡。在Debian Wheezy系統上,/etc/apt/sources.list理應長得像這樣:

  1. $ cat /etc/apt/sources.list

  1. ...
  2. deb http://security.debian.org/ wheezy/updates main
  3. deb http://http.us.debian.org/debian/ wheezy main
  4. deb-src http://security.debian.org/ wheezy/updates main
  5. ...

把你repo服務器的鏈接記下來,比如:http://http.us.debian.org/debian/

這個repo服務器將會是離你最近的一個服務器; 在不同的地理位置會有不同的url,這個將會用於下一步。

如果想加測試/不穩定源,則需要在sources.list文件加上這些東西:

  1. # Testing repository - main, contrib and non-free branches
  2. deb http://http.us.debian.org/debian testing main non-free contrib
  3. deb-src http://http.us.debian.org/debian testing main non-free contrib
  4. # Testing security updates repository
  5. deb http://security.debian.org/ testing/updates main contrib non-free
  6. deb-src http://security.debian.org/ testing/updates main contrib non-free
  7. # Unstable repo main, contrib and non-free branches, no security updates here
  8. deb http://http.us.debian.org/debian unstable main non-free contrib
  9. deb-src http://http.us.debian.org/debian unstable main non-free contrib

格式將會是

  1. deb <respository server/mirror><repository name><sub branches of the repo>
  2. (deb <上一步弄的服務器或鏡像url><repo的名字><repo底下的分支>)

當然啦,除了用testing或者unstable這麼爛的詞,也能使用他們的發行版代號,比如Jessie或者Sid

  1. deb http://http.us.debian.org/debian jessie main non-free contrib
  2. deb http://security.debian.org/ jessie/updates main contrib non-free
  3. deb http://http.us.debian.org/debian sid main non-free contrib

2. 釘住 apt!這非常重要

在加了測試/不穩定的repo之後,當你更新系統的時候所有安裝過並且可用的軟件就會立馬更新,而後你的系統就被你玩火自焚了。

所以需要設置一些規則,以便選定的軟件包在正常的更新時不會被更新到一個不穩定的測試版本。

我們需要使用“釘住APT”的方式來告訴apt系統,除了我們希望使用測試版或不穩定版的特定軟件包之外,其它的總是使用穩定版的軟件包來更新。

可以通過如下兩個文件之一來設置如何設置APT的優先級來“釘住”。

  1. /etc/apt/preferences
  2. /etc/apt/preferences.d/my_preferences

打開這兩個文件之一(如果沒有的話就創建一個),然後輸入如下內容:

  1. Package:*
  2. Pin: release a=stable
  3. Pin-Priority:700
  4. Package:*
  5. Pin: release a=testing
  6. Pin-Priority:650
  7. Package:*
  8. Pin: release a=unstable
  9. Pin-Priority:600

前面我們提到過,穩定版指的是你當前的debian版本,測試版是下一個,而不穩定版則是更遠的將來發行版。上面的設置中最主要的是優先級(Pin-Priority)。當前的穩定版應該有最高的優先級,這就是說,正常的apt-get操作只會從當前的穩定版的軟件庫(現在是wheezy)裡面安裝軟件。

更新包緩存

在增加了新的軟件庫和指定了優先規則後,需要更新一下包緩存。

  1. $ sudo apt-get update

確認APT規則

我們必須確認“釘住”的設置正確,優先級也沒問題。使用 apt-cache 的 policy 參數來檢查:

  1. $ apt-cache policy apache2
  2. apache2:
  3. Installed:(none)
  4. Candidate:2.2.22-13
  5. Version table:
  6. 2.4.7-10
  7. 600 http://http.us.debian.org/debian/ unstable/main amd64 Packages
  8. 2.4.6-30
  9. 650 http://http.us.debian.org/debian/ testing/main amd64 Packages
  10. 2.2.22-130
  11. 700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages

如上的輸出,確認在wheezy 穩定版中, 2.2.22 版本的Apache是選定的版本,它有最高的優先級。

3. 從測試版/不穩定版軟件庫中安裝軟件

現在可以從測試版或不穩定版中選擇一個特定的軟件來安裝它了。假如說我們要從測試版軟件源中安裝 apache2。

有兩個不同的方法,並且其結果也有所不同。

方式一

  1. # apt-get install apache2/testing

上述命令會從測試版軟件庫中安裝 apache2,並從穩定版軟件庫中安裝其依賴包(穩定版通過apt規則確定)。這個命令在某些情況下會失敗,比如安裝的軟件包(apache2)所需的依賴包在穩定版軟件庫中沒有更新到可以支持該軟件時。

方式二

  1. # apt-get -t testing install apache2

上述命令會從測試版軟件庫中安裝apache2,並從測試版軟件庫中安裝其依賴包。這要比上面的命令工作的更好。

所以,要安裝較新的軟件包,直接從測試版/不穩定版的軟件庫中安裝就行了。注意,優先級號碼不只是一個數字而已,還有其特定意義。可以查看 apt_preferences的man頁面了解更多:

  1. $ man 5 apt_preferences

總結

使用“釘住”方式的測試版/不穩定版的軟件庫是一個獲取較新版本軟件包的一個好辦法,不過其實並不推薦使用它們。如果弄錯了,可能會從也許不兼容的分支上下載軟件包,這會把你的系統搞亂。

一個更好的方式是,使用向後移植的軟件庫來安裝更新的包。它從測試版和不穩定版的軟件庫中獲取較新版本的軟件包,但是為當前的穩定版軟件庫而編譯。所以,對於 debian wheezy來說,你可以使用wheezy-backports 軟件庫。訪問http://backports.debian.org/ 了解更多。

資源

  • https://wiki.debian.org/AptPreferences
  • https://wiki.debian.org/DebianTesting
  • https://www.debian.org/security/

via: http://www.binarytides.com/enable-testing-repo-debian/

譯者:213edu wxy 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

Copyright © Linux教程網 All Rights Reserved