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

介紹 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 地址。
至於 Ubuntu,這個網站有一篇很棒的文章,逐步解釋了如何設置自己的私有儲存庫。
我們的首選是客戶端訪問儲存庫伺服器的方式 – FTP 和 HTTP 是最常用的。我們將選擇後者,因為在這 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

更新存儲庫
假設存儲庫服務器可以訪問互聯網,我們將拉取在線存儲庫以獲取套件的最新更新。如果不是這種情況,您仍然可以從 CentOS 6.6 安裝 DVD 的 Packages 目錄中複製整個內容。
在本教程中,我們將假設第一種情況。為了優化我們的下載速度,我們將從我們附近的位置選擇一個 CentOS 6.6 鏡像。前往 CentOS 下載鏡像,並選擇距離您位置更近的一個(在我的情況下是阿根廷):

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

# 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/*

最後,更新儲存庫的數據庫。
# createrepo --update /var/www/html/repos/centos/6/6
您可能還想啟動您的網絡瀏覽器,並導航到 repos/centos/6/6 目錄,以便驗證您是否可以看到內容:

然後,您就可以開始了 – 現在是時候配置客戶端了。
Source:
https://www.tecmint.com/setup-yum-repository-in-centos-7/