不要再一個個配置了,教你配置內(nèi)部統(tǒng)一可訪問的 YUM 源
今天分享一下YUM源配置。
一、構(gòu)建內(nèi)部YUM源必要性
YUM光盤源默認只能本機使用,局域網(wǎng)其他服務(wù)器無法使用 YUM光盤源,所以需要通過HTTP構(gòu)建整個局域網(wǎng)都可以訪問的內(nèi)部YUM源。
通過搭建內(nèi)部YUM源,可以自動處理軟件包之間的依賴關(guān)系,確保在安裝或更新軟件包時,所有必需的依賴項都能被正確處理
二、搭建內(nèi)部yum源步驟
1. 準備實驗環(huán)境
角色 | 操作系統(tǒng) | IP地址 |
服務(wù)器端 | Rocky Linux release 9.1 | 10.10.10.200 |
客戶端 | Rocky Linux release 9.1 | 10.10.10.201 |
2. 基于光盤構(gòu)建本地yum源
無網(wǎng)環(huán)境需要做本地yum源,首先需要在虛擬機上掛載iso鏡像。
(1)掛載光盤
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
(2)備份原有repo文件
[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
(3)創(chuàng)建新repo文件
[root@localhost ~]# cat >> /etc/yum.repos.d/local.repo << EOF
[Base]
name=Base
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
EOF
(4)安裝軟件測試
[root@localhost ~]# yum install -y telnet
順利安裝軟件包就說明基于光盤做的yum源已經(jīng)做好了。可以繼續(xù)做下面的步驟了
3. 安裝HTTP服務(wù)器
在YUM服務(wù)器上創(chuàng)建一個簡單的HTTP服務(wù),可以使用Apache或Nginx,我這里使用Apache。
[root@localhost ~]# yum install httpd -y
4. 創(chuàng)建repodata目錄
# 放置整個rockyLinux鏡像的軟件包
[root@localhost ~]# mkdir /var/www/html/rockylinux
5. 將需要發(fā)布軟件包復(fù)制到repodata目錄
將光盤掛載后的文件拷貝到repodata目錄下:
[root@localhost ~]# cp -r /mnt/* /var/www/html/rockylinux
整個鏡像文件拷貝需要時間較長一點。
6. 安裝createrepo包
[root@localhost ~]# yum install -y createrepo
7. 運行createrepo來創(chuàng)建倉庫元數(shù)據(jù)
[root@localhost ~]# createrepo /var/www/html/rockylinux
Directory walk started
Directory walk done - 6615 packages
Temporary output repo path: /var/www/html/rockylinux/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
做成repo文件:
[root@localhost ~]# mkdir /var/www/html/repos/rockylinx
[root@localhost ~]# cat >> /var/www/html/repos/rockylinx/rockylinux.repo << EOF
[Base]
name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF
8. 啟動HTTP服務(wù)
# 啟動HTTP并設(shè)置開機自啟動
[root@localhost ~]# systemctl enable --now httpd
# 查看httpd狀態(tài)
[root@localhost ~]# systemctl status httpd
三、客戶端使用yum源
1. 備份原有的repo
[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
2. 獲取yum源的兩種方法
方法一:直接wget已經(jīng)在服務(wù)器端做好的repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# wget http://10.10.10.200/repos/rockylinx/rockylinux.repo
方法二:在客戶端創(chuàng)建新的repo文件
[root@localhost ~]# cat >> /etc/yum.repos.d/rockylinux.repo << EOF
[Base]
name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF
3. 測試yum源
# 先清一下原有yum源數(shù)據(jù)
[root@localhost ~]# yum clean all
# 安裝telnet測試一下
[root@localhost ~]# yum install -y telnet
成功安裝就代表內(nèi)部yum源已經(jīng)做成功了。
局域網(wǎng)內(nèi)其他服務(wù)器也可以通過wget直接獲取或配置repo文件來構(gòu)建可用的yum源。
4. httpd作為共享服務(wù)器使用
可以在httpd的發(fā)布目錄下創(chuàng)建一個software目錄,將一些常用的軟件包放置到里面,局域網(wǎng)內(nèi)的客戶端可以直接通過wget來直接獲取軟件包。
服務(wù)器端創(chuàng)建發(fā)布目錄并將軟件包上傳:
# 創(chuàng)建software目錄
[root@localhost ~]# mkdir /var/www/html/software
# 此處上傳Tomcat包到software為例
[root@localhost ~]# cp /root/apache-tomcat-8.5.97.tar.gz /var/www/html/software
客戶端獲取軟件包:
[root@localhost ~]# wget http://10.10.10.200/software/apache-tomcat-8.5.97.tar.gz
【溫馨提示】:本次操作的服務(wù)器端是RockyLinux操作系統(tǒng),不只是可以做rockylinux操作系統(tǒng)的YUM源,也可以在服務(wù)器端配置多種操作系統(tǒng)的yum源,方法相同,如RedHat/CentOS,openEuler,麒麟V10等。