2013年1月27日 星期日

linux 套件安裝準則


 作者  Bency (阿邊班西)                                         看板  P_bency
 標題  [記錄] 準則
 時間  Thu Aug 12 02:13:32 2010

☆來源:國父 home.d22.cc

準則:

軟體安裝一律使用 apt,不得用 dpkg -i 獨立安裝 deb,更不得用make install安裝。

Debian 官方 apt 沒有的套件,照以下的優先順序尋找套件安裝。


盡量尋找其他有包含所需軟體的 apt 站台來安裝(像是一些 backports),勿尋找獨立的 deb 或 rpm。確認是符合系統的 apt 站台(Debian stable)。

僅有獨立的 deb 的話,要加到 local 的 apt archive 後,再使用 apt 安裝。

沒有現成的 deb 可用,則尋找 source code 打包成 deb。使用 checkinstall 或 dpkg-buildpackage(較佳)皆可,但要處理好相依關係,例如 checkinstall 的 —requires 參數要設好。

非 open source 套件,且僅提供 rpm,則使用 alien 轉換成 deb,再放到 local apt archive 使用 apt 安裝。

無 rpm ,也無 source code 可輕鬆打包成 deb 的套件,則在 /opt 下開個獨立的目錄,例如 /opt/package_name ,將程式放到裡面。

並將執行檔建立 symbolic link 到 /usr/local/bin 或 /usr/local/sbin 下。

以上為最不容易破壞系統乾淨,及相依關係的方法。

純粹使用 apt 會使軟體更新維護更容易。找現成的 apt 站台不找 deb,也可免除隨時要監控軟體是否有新 security issue,又要自己手動更新的麻煩。

一切靠 apt 來自動 upgrade 即可。


將 deb 加入 local apt archive 步驟:

搬移 deb 到 /opt/apt-archive/dists/stable/main/binary-i386/ 下

執行 /opt/apt-archive/update-archive.sh

可使用 aptitude 或 apt-get 安裝他了

上面的 update-archive.sh 是透過呼叫 apt-ftparchive 建立 apt 站台相關檔案。

apt-ftparchive 的相關設定都在 /opt/apt-archive 下的

apt-nlplab-ftparchive.conf  apt-nlplab-release.conf 檔案中。


debian stable 為主 testing 為輔


目前 apt 的設定以 stable 為主,testing 為輔。系統不會自動安裝 testing 版本的套件,若有需要更新(例如要求版本的相依關係)也不會自動更新到 testing 的版本,除非手動在 apt-get 或 aptititude 安裝時指定。建議安裝軟體盡量以 aptitude 的 ncurses gui 介面,比較容易解決相依問題。

相關設定:/etc/apt/apt.conf

APT::Default-Release “stable”;


沒有留言:

張貼留言