使用 APT-mirror 四步配置 Ubuntu 本地軟體倉庫

大雄45發表於2023-05-06

今天,我們將向你展示如何在你的 Ubuntu 個人電腦或 Ubuntu 伺服器中,直接通過 Ubuntu 官方軟體倉庫來配置本地軟體倉庫。在你的電腦中建立一個本地軟體倉庫有著許多的好處。假如你有許多電腦需要安裝軟體 、安全升級和修復補丁,那麼配置一個本地軟體倉庫是一個做這些事情的高效方法。因為,所有需要安裝的軟體包都可以通過快速的區域網連線從你的本地伺服器中下載,這樣可以節省你的網路頻寬,降低網際網路接入的年度開支 ...

你可以使用多種工具在你的本地個人電腦或伺服器中配置一個 Ubuntu 的本地軟體倉庫,但在本教程中,我們將為你介紹 APT-Mirror。這裡,我們將把預設的映象包映象到我們本地的伺服器或個人電腦中,並且在你的本地或外接硬碟中,我們至少需要 120 GB 或更多的可用空間才行。 我們可以通過配置一個 HTTPFTP 伺服器來與本地系統客戶端共享這個軟體倉庫。

我們需要安裝 Apache 網路伺服器和 APT-Mirror 來使得我們的工作得以開始。下面是配置一個可工作的本地軟體倉庫的步驟:

1. 安裝需要的軟體包

我們需要從 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 的可用空間來使得所有的軟體包被映象或下載。

2. 配置 APT-Mirror

現在,在你的硬碟上建立一個目錄來儲存所有的軟體包。例如,我們建立一個名為 /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 Mirror Server來找到這些伺服器地址。假如你並不太在意映象完成的時間,你可以沿用預設的官方映象伺服器網址。

這裡,我們將要映象最新和最大的 Ubuntu LTS 發行版 --- 即 Ubuntu 14.04 LTS (Trusty Tahr) --- 的軟體包倉庫,所以在上面的配置中發行版本號為 trusty 。假如我們需要映象 Saucy 或其他的 Ubuntu 發行版本,請修改上面的 trusy 為相應的代號。

現在,我們必須執行 apt-mirror 來下載或映象官方倉庫中的所有軟體包。

sudo apt-mirror

從 Ubuntu 伺服器中下載所有的軟體包所花費的時間取決於你和映象伺服器之間的網路連線速率和效能。這裡我中斷了下載,因為我已經下載好了 ...

downloading-packages

3.配置網路伺服器

為了使得其他的電腦能夠訪問這個軟體倉庫,你需要一個Web伺服器。你也可以通過 ftp 來完成這件事,但我選擇使用一個Web伺服器因為在上面的步驟 1 中我提及到使用Web伺服器。因此,我們現在要對 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 是我們的伺服器電腦的區域網 IP 地址,你需要替換為你的伺服器電腦的區域網 IP 地址

$ sudo apt-get update

最終,我們完成了任務。現在,你可以使用sudo apt-get install packagename 命令來從你的本地 Ubuntu 軟體倉庫中安裝所需的軟體包,這將會是高速的且消耗很少的頻寬。


via: http://linoxide.com/ubuntu-how-to/setup-local-repository-ubuntu/

作者:Arun Pyasi 譯者:FSSlc 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章