如何設置網路軟體庫以安裝或更新套件 – 第 11 部分

安裝、更新和移除(必要時)已安裝的程式是系統管理員日常工作的重要職責。當一台機器連接到互聯網時,這些任務可以通過使用套件管理系統輕鬆執行,例如 aptitude(或 apt-get)、yumzypper,具體取決於您選擇的發行版,如在 LFCELinux Foundation Certified Engineer)系列的 第9部分 – Linux 套件管理 中所解釋的。您也可以下載獨立的 .deb.rpm 檔案,並分別使用 dpkgrpm 安裝它們。

Linux Foundation Certified Engineer – Part 11
介紹 Linux Foundation 認證計劃

然而,當一台機器無法訪問全球資訊網時,需要另一種方法。為什麼會有人想要這樣做呢?原因各不相同,從節省互聯網帶寬(因此避免與外部的幾個同時連接)到保護本地編譯的套件,再到提供因法律原因(例如,某些國家中限制的軟件)而無法包含在官方存儲庫中的套件,都有可能。

這正是網絡存儲庫的作用所在,這是本文的中心話題。

我們的測試環境
Network Repository Server:	CentOS 7 [enp0s3: 192.168.0.17] - dev1
Client Machine:			CentOS 6.6 [eth0: 192.168.0.18] - dev2

在 CentOS 7 上設置網絡存儲庫伺服器

作為第一步,我們將處理將 CentOS 7 作為儲存庫伺服器 [IP 地址 192.168.0.17] 以及將一台 CentOS 6.6 機器作為客戶端的安裝和配置。openSUSE 的設置幾乎相同。

對於 CentOS 7,請參照以下文章,該文章解釋了 CentOS 7 安裝的逐步說明以及如何設置靜態 IP 地址。

  1. CentOS 7.0 安裝與截圖
  2. 在 CentOS 7 上配置網絡靜態 IP 地址的方法

至於 Ubuntu,這個網站有一篇很棒的文章,逐步解釋了如何設置自己的私有儲存庫。

  1. 在 Ubuntu 中使用 ‘apt-mirror’ 設置本地儲存庫

我們的首選是客戶端訪問儲存庫伺服器的方式 – FTPHTTP 是最常用的。我們將選擇後者,因為在這 LFCE 系列的 第 1 部分 – 安裝 Apache 中已經涵蓋了 Apache 的安裝。這還將允許我們使用網絡瀏覽器顯示套件列表。

接下來,我們需要建立目錄來存儲 .rpm 套件。我們將相應地在 /var/www/html/repos 內創建子目錄。為了方便起見,我們還可以創建其他子目錄來存放每個發行版的不同版本的套件(當然,我們還可以隨時添加所需的任意多個目錄),甚至不同的架構。

設置存儲庫

在設置您自己的存儲庫時需要考慮的一個重要因素是,您將需要相當多的可用磁盤空間(約20 GB)。如果沒有,調整您計劃存儲存儲庫內容的文件系統的大小,或者更好地添加一個額外的專用存儲設備來托管存儲庫。

話雖如此,我們將從創建我們需要托管存儲庫的目錄開始:

# mkdir -p /var/www/html/repos/centos/6/6

在我們為存儲庫服務器創建目錄結構之後,我們將在 /var/www/html/repos/centos/6/6 內初始化使用 createrepo 來跟踪套件及其相應依賴的數據庫。

如果還沒有安裝 createrepo,請先安裝:

# yum update && yum install createrepo

然後初始化數據庫,

# createrepo /var/www/html/repos/centos/6/6
Createrepo Repository Initialization

更新存儲庫

假設存儲庫服務器可以訪問互聯網,我們將拉取在線存儲庫以獲取套件的最新更新。如果不是這種情況,您仍然可以從 CentOS 6.6 安裝 DVD 的 Packages 目錄中複製整個內容。

在本教程中,我們將假設第一種情況。為了優化我們的下載速度,我們將從我們附近的位置選擇一個 CentOS 6.6 鏡像。前往 CentOS 下載鏡像,並選擇距離您位置更近的一個(在我的情況下是阿根廷):

Select CentOS Download Mirror

然後,進入突出顯示的鏈接內的 os 目錄,然後選擇合適的架構。一旦進入,複製地址欄中的鏈接並將內容下載到儲存庫服務器的專用目錄中:

Download CentOS Mirror
# rsync -avz rsync://centos.ar.host-engine.com/6.6/os/x86_64/ /var/www/html/repos/centos/6/6/ 

如果所選擇的儲存庫出現離線的情況,返回並選擇另一個。沒有什麼大不了的。

現在是您可能想放鬆一下,也許看一集您最喜歡的電視節目的時候,因為鏡像在線儲存庫可能需要相當長的時間。

下載完成後,您可以使用以下命令來驗證磁盤空間的使用情況:

# du -sch /var/www/html/repos/centos/6/6/*
Check CentOS Mirror Size

最後,更新儲存庫的數據庫。

# createrepo --update /var/www/html/repos/centos/6/6

您可能還想啟動您的網絡瀏覽器,並導航到 repos/centos/6/6 目錄,以便驗證您是否可以看到內容:

Verify CentOS Packages

然後,您就可以開始了 – 現在是時候配置客戶端了。

Source:
https://www.tecmint.com/setup-yum-repository-in-centos-7/