我們都喜歡使用apt-get,因為它實在是讓我們大大的省心。但是,有時候我們會為網速慢,安裝源不好而煩惱,所以我們可能會將一些常用軟件包的deb文件保存在本地以備不時之需。當然了使用dpkg也可以直接來安裝保存在本地的deb軟件包,問題是它並不能處理軟件包之間的依賴 (dependence)關系,那么如何使用apt-get來安裝保存在本地的軟件包和源代碼呢?
下面是如何讓apt-get使用本地deb文件的步驟:
第一步:將你所有的deb文件放在同一個目錄內,如:
# mkdir /var/debs
第二步:使用dpkg-scanpackages 命令生成APT可以使用的軟件包索引文件
/var# dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
注:/dev/null位置的參數是指定一個文件,文件名不限,該文件的作用是用來重寫覆蓋deb軟件包中控制文件的某些定義,它的第一行的格式,一行對應一個軟件包:
package priority section
package指定你所要修改的軟件包
priority 有low,medium,high三個值
section 用來指定軟件包屬於哪個section
如果不需要對deb軟件包做任何修改你就可以像例子中那樣直接指定一個/dev/null文件。
第三步:在你的sources.list中添加一行
deb file:/var debs/
這樣你就可以使用apt-get命令來安裝這些軟件包了,命令格式沒有任何差異,apt-get會為我們處理軟件包之間的依賴關系,不過要注意,在修改sources.list之后一定要執行一下apt-get update命令。
讓 apt-get使用本地的源代碼進行安裝也是一樣的,不過需要注意下列幾點:
1、第一個軟件包的orig.tar.gz(源程序文件), .dsc(debian控制文件) and .diff.gz(描述在debian能使用該程序之前需要進行的修改部分)文件必須在同一目錄下。
2、生成的索引文件要使用Sources.gz ,而不能用Packages.gz
3、掃描程序使用dpkg-scansources
# dpkg-scansources debs | gzip > debs/Sources.gz
4、最后還需要在sources.list中添加一行
deb-src file:/root debs/