今天,我們将向你展示如何在你的 ubuntu 個人電腦或 ubuntu 伺服器中,直接通過 ubuntu 官方軟體倉庫來配置本地軟體倉庫。在你的電腦中建立一個本地軟體倉庫有着許多的好處。假如你有許多電腦需要安裝軟體 、安全更新和修複更新檔,那麼配置一個本地軟體倉庫是一個做這些事情的高效方法。因為,所有需要安裝的軟體包都可以通過快速的區域網路連接配接從你的本地伺服器中下載下傳,這樣可以節省你的網絡帶寬,降低網際網路接入的年度開支 ...
你可以使用多種工具在你的本地個人電腦或伺服器中配置一個 ubuntu 的本地軟體倉庫,但在本教程中,我們将為你介紹 apt-mirror。這裡,我們将把預設的鏡像包鏡像到我們本地的伺服器或個人電腦中,并且在你的本地或外置硬碟中,我們至少需要 120 gb 或更多的可用空間才行。 我們可以通過配置一個 http 或 ftp 伺服器來與本地系統用戶端共享這個軟體倉庫。
我們需要安裝 apache 網絡伺服器和 apt-mirror 來使得我們的工作得以開始。下面是配置一個可工作的本地軟體倉庫的步驟:
<a target="_blank"></a>
我們需要從 ubuntu 的公共軟體包倉庫中取得所有的軟體包,然後在我們本地的 ubuntu 伺服器硬碟中儲存它們。
首先我們安裝一個web 伺服器來承載我們的本地軟體倉庫。這裡我們将安裝 apache web 伺服器,但你可以安裝任何你中意的 web 伺服器。對于 http 協定,web 伺服器是必須的。假如你需要配置 ftp 協定 及 rsync 協定,你還可以再分别額外安裝 ftp 伺服器,如 proftpd, vsftpd 等等 和 rsync 。
$ sudo apt-get install apache2
然後我們需要安裝 apt-mirror:
$ sudo apt-get install apt-mirror
apt-mirror-installation
注: 正如我先前提到的,我們需要至少 120 gb 的可用空間來使得所有的軟體包被鏡像或下載下傳。
現在,在你的硬碟上建立一個目錄來儲存所有的軟體包。例如,我們建立一個名為 /linoxide的目錄,我們将在這個目錄中儲存所有的軟體包:
$ sudo mkdir /linoxide
現在,打開檔案 /etc/apt/mirror.list :
$ sudo nano /etc/apt/mirror.list
複制下面的指令行配置到 mirror.list檔案中并按照你的需求進行修改:
############# config ##################
#
set base_path /linoxide
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
############# end config ##############
deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu
這裡,我們将要鏡像最新和最大的 ubuntu lts 發行版 --- 即 ubuntu 14.04 lts (trusty tahr) --- 的軟體包倉庫,是以在上面的配置中發行版本号為 trusty 。假如我們需要鏡像 saucy 或其他的 ubuntu 發行版本,請修改上面的 trusy 為相應的代号。
現在,我們必須運作 apt-mirror 來下載下傳或鏡像官方倉庫中的所有軟體包。
sudo apt-mirror
從 ubuntu 伺服器中下載下傳所有的軟體包所花費的時間取決于你和鏡像伺服器之間的網絡連接配接速率和性能。這裡我中斷了下載下傳,因為我已經下載下傳好了 ...
downloading-packages
為了使得其他的電腦能夠通路這個軟體倉庫,你需要一個web伺服器。你也可以通過 ftp 來完成這件事,但我選擇使用一個web伺服器因為在上面的步驟 1 中我提及到使用web伺服器。是以,我們現在要對 apache 伺服器進行配置:
我們将為我們本地的軟體倉庫目錄 建立一個到 apache 托管目錄 --- 即 /var/www/ubuntu --- 的符号連結。
$ sudo ln -s /linoxide /var/www/ubuntu
$ sudo service apache2 start
最後,我們需要在其他的電腦中添加軟體源,來使得它們可以從我們的電腦中取得軟體包或軟體倉庫。為達到此目的,我們需要編輯 /etc/apt/sources.list 檔案并添加下面的指令:
$ sudo nano /etc/apt/sources.list
添加下面的一行到/etc/apt/sources.list中并儲存。
deb http://192.168.0.100/ubuntu/ trusty main restricted universe
注: 這裡的 192.168.0.100 是我們的伺服器電腦的區域網路 ip 位址,你需要替換為你的伺服器電腦的區域網路 ip 位址
$ sudo apt-get update
最終,我們完成了任務。現在,你可以使用sudo apt-get install packagename 指令來從你的本地 ubuntu 軟體倉庫中安裝所需的軟體包,這将會是高速的且消耗很少的帶寬。
----------------------------------------------------------------------------------------------------------------------------
原文釋出時間:2015-02-23
本文來自雲栖合作夥伴“linux中國”