簡單教你Ubuntu Linux系統(tǒng)三種方法添加本地軟件庫
閑著沒事教教大家以Ubuntu Linux系統(tǒng)三種方法添加本地軟件庫,ubuntu Linux使用本地軟件包作為安裝源——轉(zhuǎn)2007-04-26 19:47新手重新系統(tǒng)的概率很高,每次重裝系統(tǒng)后都要經(jīng)過漫長的apt-get install來裝回那些我們自己所需要的,但系統(tǒng)安裝光盤里又沒有的軟件,實(shí)在是件痛苦的事。
方法一:
每一次install時系統(tǒng)下載的軟件包,包括各個軟件所依賴的包都會保存在/var/cache/apt/archives/目錄下,選定某一次通過網(wǎng) 絡(luò)安裝完自己所常用到的所有軟件之后,將該文件夾下的所有文件都復(fù)制到一個不常格式化的分區(qū)里面,作為以后重裝系統(tǒng)時的本地源,可謂省時省心省力。
以下為操作過程,為驗證,特意重裝一次系統(tǒng),無語。
一、在自己的根目錄下建立一個目錄,用于放所有下載的軟件包,目錄名隨自己喜歡,建議新手在自己的根目錄下進(jìn)行以下操作,以避免操作權(quán)限問題的困擾。
mkdir ~/ packs
二、復(fù)制文件到packs文件夾下,目錄依各人情況變化。
sudo cp /var/cache/apt/archives/* ~/packs
三、將建立Packages.gz包,里面記錄了packs文件夾下面的軟件包信息,包括依賴信息。
dpkg-scanpackages packs /dev/null |gzip > packs/Packages.gz
完成此操作后,將packs文件夾復(fù)制到一個不常格式化的分區(qū)中,作為長久使用,比如我將它放在一個fat32的分區(qū)時面,路徑是 /media/hda6/linux/soft/packs
四、加本地源
sudo gedit /etc/apt/sources.list
加入 deb linux/soft/packs/">file:///media/hda6/linux/soft/packs/ edgy main ,注意,這里只是我電腦上的路徑,請依實(shí)際位置修改.edgy 是我的ubuntu版本(7.04's version feisty),main也不是固定的,也可以用restricted等,只是在下面第五步中的操作中對應(yīng)建立的目錄結(jié)構(gòu)不同而已,這里只舉 main的例子。有興趣的同仁可以加一個試試,系統(tǒng)的出錯提示會有文件夾設(shè)置信息。
五、設(shè)置packs目錄下的目錄結(jié)構(gòu)
在packs目錄下建立這樣的結(jié)構(gòu)
packs/dists/edgy/main/binary-i386/
packs/packs/ #也就是在packs下再建立一個packs
以上這兩層的目錄用于放置不同類型的包,據(jù)我電腦上試驗過程中的提示,好像binary-386目錄下放的是各種軟件的安裝包,packs/packs/ 目錄下放的是各個依賴的包以及系統(tǒng)更新的包,基本上是以lib開頭的,最保險的辦法是把所有包都復(fù)制到這兩個文件夾下面。
六、設(shè)置完成
完成以上設(shè)置和文件復(fù)制之后,就可以開始正常使用本地的源了和使用網(wǎng)絡(luò)上的源一樣操作。
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install XXX
方法二:
一下更簡單的辦法,完第一個目錄結(jié)構(gòu)后,把Packages.gz那個包放在binary-i386文件夾下面,然后把所有的deb包復(fù)制到/var/cache/apt/archives/下就可以了。
估計apt-get install的工作原理是這樣的,先從Packages.gz包里讀取軟件列表和包依賴信息,安裝某個軟件時先掃描本地archieves目錄,如果可以找到對應(yīng)的包,就開始安裝,否則從源里下載該包。
其實(shí)我實(shí)現(xiàn)這些操作的思路很簡單啊
1、備份手上已有的軟件包
2、建立這些軟件列表和依賴信息 packages.gz
3、建立目錄結(jié)構(gòu),可隨意在本地源地址后加上 main、 restricted之類的關(guān)鍵字,然后apt-get update,系統(tǒng)會給出出錯提示,里面就包含了各個關(guān)鍵字對應(yīng)的目錄結(jié)構(gòu),
4、添加本地源 deb file:/// dir/dir/dir/……
建議大家在碰到系統(tǒng)錯誤時認(rèn)真看系統(tǒng)的提示,linux的系統(tǒng)出錯提示可不像比爾先生的那樣都是說廢話
方法三:
下載DVD版本,然后把它作為源. 有兩種方式:
1. 可以直接放在硬盤上,然后mount到某個目錄里,比如: sudo mount -t iso9660 -o loop xxx.iso /mnt
然后修改sources.list,改成 deb file:///mnt edgy main …… 后面和你的原來的格式一樣.
2. 刻盤.然后在新立得里面用將CD Rom設(shè)置為源
下次要是再sudo apt-get update時,有可能有新的包文件,是不是還要這樣添加呢,還有如果自己從別的站點(diǎn)下載的包,可否也加入到其中而用sudo apt-get install xxx來安裝呢?
它的原理是從Packages.gz里面讀取軟件包及依賴信息,如果你往里面加了新的包,就要重新執(zhí)行
dpkg-scanpackages packs /dev/null |gzip > packs/Packages.gz
來更新里面的文件信息了,然后再sudo apt-get udpate應(yīng)該就OK了,如果是你自己下載的包,那必須是deb的包,而且保證把它所依賴的包都 下到本地。最好是在那準(zhǔn)備重裝系統(tǒng)之前把/var/cache/apt/archives/下面的文件都保存下來,再建立這些文件的packages.gz把你下載的東西放一個地方,然后用sudo ln -s 到/var/cache/apt/archives一切OK!Ubuntu Linux系統(tǒng)三種方法添加本地軟件庫。