今天,我們將向你展示如何在你的 Ubuntu 個人電腦或 Ubuntu 服務器中,直接通過 Ubuntu 官方軟件倉庫來配置本地軟件倉庫。在你的電腦中創(chuàng)建一個本地軟件倉庫有著許多的好處。假如你有許多電腦需要安裝軟件 、安全升級和修復補丁,那么配置一個本地軟件倉庫是一個做這些事情的高效方法。因為,所有需要安裝的軟件包都可以通過快速的局域網(wǎng)連接從你的本地服務器中下載,這樣可以節(jié)省你的網(wǎng)絡帶寬,降低互聯(lián)網(wǎng)接入的年度開支 ...
你可以使用多種工具在你的本地個人電腦或服務器中配置一個 Ubuntu 的本地軟件倉庫,但在本教程中,我們將為你介紹 APT-Mirror。這里,我們將把默認的鏡像包鏡像到我們本地的服務器或個人電腦中,并且在你的本地或外置硬盤中,我們至少需要 120 GB 或更多的可用空間才行。 我們可以通過配置一個 HTTP 或 FTP 服務器來與本地系統(tǒng)客戶端共享這個軟件倉庫。
我們需要安裝 Apache 網(wǎng)絡服務器和 APT-Mirror 來使得我們的工作得以開始。下面是配置一個可工作的本地軟件倉庫的步驟:
1. 安裝需要的軟件包
我們需要從 Ubuntu 的公共軟件包倉庫中取得所有的軟件包,然后在我們本地的 Ubuntu 服務器硬盤中保存它們。
首先我們安裝一個Web 服務器來承載我們的本地軟件倉庫。這里我們將安裝 Apache Web 服務器,但你可以安裝任何你中意的 Web 服務器。對于 http 協(xié)議,Web 服務器是必須的。假如你需要配置 ftp 協(xié)議 及 rsync 協(xié)議,你還可以再分別額外安裝 FTP 服務器,如 proftpd, vsftpd 等等 和 Rsync 。
$ sudo apt-get install apache2
然后我們需要安裝 apt-mirror:
$ sudo apt-get install apt-mirror
注: 正如我先前提到的,我們需要至少 120 GB 的可用空間來使得所有的軟件包被鏡像或下載。
2. 配置 APT-Mirror
現(xiàn)在,在你的硬盤上創(chuàng)建一個目錄來保存所有的軟件包。例如,我們創(chuàng)建一個名為 /linoxide的目錄,我們將在這個目錄中保存所有的軟件包:
$ sudo mkdir /linoxide
現(xiàn)在,打開文件 /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
注: 你可以將上面的官方鏡像服務器網(wǎng)址更改為離你最近的服務器的網(wǎng)址,可以通過訪問 Ubuntu Mirror Server來找到這些服務器地址。假如你并不太在意鏡像完成的時間,你可以沿用默認的官方鏡像服務器網(wǎng)址。
這里,我們將要鏡像最新和最大的 Ubuntu LTS 發(fā)行版 --- 即 Ubuntu 14.04 LTS (Trusty Tahr) --- 的軟件包倉庫,所以在上面的配置中發(fā)行版本號為 trusty 。假如我們需要鏡像 Saucy 或其他的 Ubuntu 發(fā)行版本,請修改上面的 trusy 為相應的代號。
現(xiàn)在,我們必須運行 apt-mirror 來下載或鏡像官方倉庫中的所有軟件包。
sudo apt-mirror
從 Ubuntu 服務器中下載所有的軟件包所花費的時間取決于你和鏡像服務器之間的網(wǎng)絡連接速率和性能。這里我中斷了下載,因為我已經(jīng)下載好了 ...
3.配置網(wǎng)絡服務器
為了使得其他的電腦能夠訪問這個軟件倉庫,你需要一個Web服務器。你也可以通過 ftp 來完成這件事,但我選擇使用一個Web服務器因為在上面的步驟 1 中我提及到使用Web服務器。因此,我們現(xiàn)在要對 Apache 服務器進行配置:
我們將為我們本地的軟件倉庫目錄 建立一個到 Apache 托管目錄 --- 即 /var/www/ubuntu --- 的符號鏈接。
$ sudo ln -s /linoxide /var/www/ubuntu
$ sudo service apache2 start
上面的命令將允許我們從本地主機(localhost) --- 即 http://127.0.0.1(默認情況下) --- 瀏覽我們的鏡像軟件倉庫。
4. 配置客戶端
最后,我們需要在其他的電腦中添加軟件源,來使得它們可以從我們的電腦中取得軟件包或軟件倉庫。為達到此目的,我們需要編輯 /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 是我們的服務器電腦的局域網(wǎng) IP 地址,你需要替換為你的服務器電腦的局域網(wǎng) IP 地址
$ sudo apt-get update
最終,我們完成了任務。現(xiàn)在,你可以使用sudo apt-get install packagename 命令來從你的本地 Ubuntu 軟件倉庫中安裝所需的軟件包,這將會是高速的且消耗很少的帶寬。