在搭建本地yum倉庫并配置國內鏡像阿里云源中了解yum源
yum : Yellow dog Updater,Modified,是一種基于rpm包的自動升級和軟件包管理工具。yum能從指定的服務器自動下載rpm包并安裝,自動計算出程序之間的依賴關系和軟件安裝的步驟,自動一次安裝所有依賴的軟件包。yum便于管理大量軟件更新,采用客戶端/服務器工作機制。
yum源:yum旨在解決軟件依賴關系,yum源就是軟件安裝來源或軟件倉庫,用來存放軟件列表信息和軟件包。
詳解如何在云上搭建私有yum倉庫及定時同步阿里云yum源到本地文章中提到共享yum源的概念
其中yum源的基本工作機制:
1)服務器端:在服務器上面存放了所有的RPM軟件包,然后以相關的功能去分析每個RPM文件的依賴性關系,將這些數據記錄成文件存放在服務器的某特定目錄內。
2)客戶端:如果需要安裝某個軟件時,先下載服務器上面記錄的依賴性關系文件(可通過WWW或FTP方式),通過對服務器端下載的紀錄數據進行分析,然后取得所有相關的軟件,一次全部下載下來進行安裝。
共享yum源就是在局域網內(或本地)搭建一個yum源,然后局域網內(或本地)所有的計算機在離線的環境下可以使用yum命令安裝軟件。
原文鏈接:https://blog.csdn.net/qq_28721869/article/details/115036342
搭建私有yum倉庫(類阿里云)
- (一)配置本地yum源和阿里源
- (二)服務端
- 1.安裝nginx
- 2.將公網鏡像同步到本地私有yum倉庫
- 3.配置nginx
- 4.啟動nginx
- (三)客戶端
- 系統:centos7
(一)配置本地yum源和阿里源
[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/ repo/Centos-7.repo% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed
100 2523 100 2523 0 0 773 0 0:00:03 0:00:03 --:--:-- 773
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed
100 664 100 664 0 0 1183 0 --:--:-- --:--:-- --:--:-- 1185
//期間有報錯可以不理會
[root@localhost ~]# yum clean all && yum makecache
[root@localhost ~]# yum repolist
[root@localhost ~]# yum -y install yum-utils createrepo plugin-priorities
(二)服務端
1.安裝nginx
[root@localhost ~]# yum install -y nginx
2.將公網鏡像同步到本地私有yum倉庫
- reposync 是 yum-utils 軟件包中的一個工具,它允許用戶將遠程的 YUM 倉庫內容同步到本地目錄,從而創建一個本地的 YUM 倉庫鏡像。
//建立私有yum倉庫的存放目錄
[root@localhost ~]# mkdir -p /data/centos/7/{base,extras,updates,epel}
//使用nohup在后臺運行reposync,將遠程YUM倉庫的內容(只同步更新的包)同步到/data/centos/7目錄,并將所有輸出(包括正常輸出和錯誤消息)寫入/opt/yum.log文件。
[root@localhost ~]# nohup reposync -np /data/centos/7 > /opt/yum.log 2>&1&
[5] 11444
- 建本地私有庫:在/data/centos/7/目錄下的base、extras、updates和epel子目錄中分別創建YUM倉庫的元數據
[root@localhost ~]# cd /data/centos/7/
[root@localhost 7]# cd base && createrepo -p ./ && cd -
Spawning worker 0 with 192 pkgs
Spawning worker 1 with 192 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
/data/centos/7
[root@localhost 7]# cd extras && createrepo -p ./ && cd -
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
/data/centos/7
[root@localhost 7]# cd updates && createrepo -p ./ && cd -
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
/data/centos/7
[root@localhost 7]# cd epel && createrepo -p ./ && cd -
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
/data/centos/7
3.配置nginx
[root@localhost 7]# vim /etc/nginx/nginx.confuser root;
---server {listen 80;listen [::]:80;server_name mirrors.dfwlg.com; #設置服務名root /data/centos/7/;location / {autoindex on; #打開目錄瀏覽功能autoindex_exact_size off; # off:以可讀的方式顯示文件大小autoindex_localtime on; # on、off:是否以服務器的文件時間作為顯示的時>間charset utf-8,gbk; #展示中文文件名index index.html;}
4.啟動nginx
[root@localhost 7]# systemctl restart nginx
[root@localhost 7]# setenforce 0
輸入IP訪問
補充:出現403,問題是要禁用(selinux)
[root@localhost 7]# vim /etc/selinux/config
(三)客戶端
cat > /etc/yum.repos.d/mirrors-dfwlg.repo <<EOF
[base]
name=CentOS-$releasever - Base - mirror.dfwlg.com
baseurl=http://10.0.0.88/base/
path=/
enabled=1
gpgcheck=0 [updates]
name=CentOS-$releasever - Updates - mirror.dfwlg.com
baseurl=http://10.0.0.88/updates/
path=/
enabled=1
gpgcheck=0 [extras]
name=CentOS-$releasever - Extras - mirrors.dfwlg.com
baseurl=http://10.0.0.88/extras/
path=/
enabled=1
gpgcheck=0 [epel]
name=CentOS-$releasever - epel - mirrors.dfwlg.com
baseurl=http://10.0.0.88/epel/
failovermethod=priority
enabled=1
gpgcheck=0
EOF[root@localhost ~]# yum clean all && yum makecache
客戶端測試:
[root@localhost ~]# yum install -y yum-utils
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
mirrors-dfwlg.repo
[參考文章]
https://zhuanlan.zhihu.com/p/412791423
https://blog.csdn.net/qq_28721869/article/details/115036342