如果你是一名 Linux 發行版的用戶或者系統管理員,你可能會遇到一個問題:當你需要安裝某個軟件時,你發現該軟件已經提供了 RPM 軟件包,但是你需要手動下載並安裝。更糟糕的是,當你需要安裝該軟件的依賴時,你會發現一系列依賴關係形成了,你需要手動下載並安裝它們。這將是一個浪費時間和精力的過程。為了解決這個問題,我們需要一個軟件倉庫來自動下載和管理軟件包及其依賴。
我們可以使用 yum
命令來下載和安裝 RPM 軟件包。如果我們有一個本地的軟件倉庫,那麼我們就可以像使用官方軟件倉庫一樣方便地使用 yum
命令。本文將介紹如何使用 yum
與 Apache 搭建一個本地的軟件倉庫。
一、安裝 Apache
sudo yum install httpd
這將安裝 Apache 服務器。安裝完成後,我們需要啟動 Apache 並設置其啟動時自動啟動。
sudo systemctl start httpd
sudo systemctl enable httpd
二、準備 Yum Repository 目錄
即將創建的軟件倉庫將在 /var/www/html/yumrepo 目錄下。我們需要創建該目錄及其子目錄。其中,/var/www/html/ 目錄是 Apache 的默認文檔根目錄。
sudo mkdir -p /var/www/html/yumrepo/{packages,metadata,repodata}
這將創建包含三個子目錄的 yumrepository 目錄,這些子目錄分別用於存儲 RPM 包,元數據和 repodata。
三、把 RPM 包複製到 yumrepository 目錄
我們需要把需要提供給軟件倉庫的軟件包複製到 yumrepository/packages 目錄中。在這裡,我們以 JDK 8 為例。
sudo cp jdk-8u202-linux-x64.rpm /var/www/html/yumrepo/packages/
四、生成 RPM 包的元數據
我們需要生成 RPM 包的元數據。在 yumrepository/metadata 目錄下使用以下命令生成元數據:
sudo cd /var/www/html/yumrepo/
sudo createrepo ./
這將生成元數據並存儲在 yumrepository/metadata 目錄中。
五、讓 Apache 服務器可以提供軟件包
我們需要修改 Apache 配置文件,以便使其可以提供軟件包。編輯 /etc/httpd/conf/httpd.conf 文件:
sudo vi /etc/httpd/conf/httpd.conf
找到以下行,去掉前面的注釋並把「None」改為「Indexes」:
#Options Indexes FollowSymLinks
Options Indexes FollowSymLinks
在 /etc/httpd/conf.d/ 目錄下創建一個新的文件 yumrepository.conf:
sudo vi /etc/httpd/conf.d/yumrepository.conf
在其中添加以下內容:
<VirtualHost *:80>
ServerName yumrepository.local
DocumentRoot /var/www/html/
Alias /yumrepo /var/www/html/yumrepo/
<Directory "/var/www/html/yumrepo">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
這會將 yumrepository.local 綁定到 /var/www/html 目錄,並用別名 /yumrepo 將軟件倉庫提供給訪問者。
最後,我們重啟 Apache 服務器以使配置生效:
sudo systemctl restart httpd
六、測試我們的軟件倉庫
我們可以使用以下命令(在另一台虛擬機上)測試我們的軟件倉庫是否可用:
sudo vi /etc/yum.repos.d/yumrepository.repo
將以下內容添加到文件中:
[yumrepository]
name=Local Yum Repository
baseurl=http://yumrepository.local/yumrepo
enabled=1
gpgcheck=0
這將創建一個文件 yumrepository.repo,指向我們的軟件倉庫。
現在我們可以使用 yum
命令從本地軟件倉庫安裝軟件包了。使用以下命令安裝 JDK 8(在另一台虛擬機上):
sudo yum install jdk-8u202-linux-x64
現在,你已經成功地搭建了一個本地的軟件倉庫。當你需要安裝軟件包時,你可以直接使用 yum
下載並安裝。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/311578.html