2011年3月18日 星期五

Debian local archives 本地端 deb 檔案庫

有時候會需要將某些特別的 Debian 套件以及其相依的 Debian 套件透過網路先行下載回來
等到之後沒有網路的狀態下再依需求來安裝那些 Debian 套件

平常在使用 apt-get/aptitude/... 來安裝 Debian 套件時
系統預設會將那些套件檔案下載放到 /var/cache/apt/archives/ 底下再來安裝
但是也可以只下載但是不安裝,像是
# apt-get install -d eclipse
就可以將安裝 eclipse 所需要的套件先下載回來

然候可以用下面的指令製作一個 local archive
# mkdir -p /some/where/out/there
# mv /var/cache/apt/archives/*.deb /some/where/out/there
# cd /some/where/out/there
# apt-ftparchive packages . | gzip -n9 > Packages.gz

如果要使用這個 local archive 就可以將 /etc/apt/sources.list 改成
(其它來源先註解起來或是更改原本的檔案名稱)
deb file:///some/where/out/there /

然後之後等到沒有網路的時候,就可以用 apt-get update && apt-get install eclipse 來安裝了。

又或者在有區域網路的情況下,使用下面的指令分享給區域網路內的其它人使用
$ cd /some/where/out/there
$ python -m SimpleHTTPServer

只不過 /etc/apt/sources.list 的內容應該要換成類似下面這樣的內容
deb http://192.168.1.1:8000 /
張貼留言