Centos7部署本地Yum源倉庫
環境
需要用到reposync和createrepo兩個命令,若沒有這樣安裝:
shell> yum install -y yum-utils
shell> yum install -y createrepo
場景
很多工具軟體的下載地址都在國外,大部分時間速度不敢恭維,而且有時候我們的某些機器並不能訪問外網;
這時候最好的解決方式就是搭建一個本地Yum源倉庫,只需要通過外網下載一次,區域網其他機器走內網即可完成安裝;
本文以Saltstack-3001.1為例,在一臺能通外網的機器上部署其本地倉庫。
建立
首先配置Saltstack的官方源:
shell> yum install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-3001-1.el7.noarch.rpm
shell> yum repolist
源標識 源名稱 狀態
salt-py3-3001/x86_64 SaltStack 3001 Release Channel for Python 3 RHEL/Centos 7 12
建立倉庫路徑,然後使用reposync將遠端倉庫salt-py3-repo-3001同步到本地:
shell> mkdir -p /mydata/yum-repo
shell> cd /mydata/yum-repo
shell> reposync -r salt-py3-3001 # 可以加上-u引數只檢視要下載的檔案列表,確認沒問題再執行下
下載完成後,本地儲存路徑是:/mydata/yum-repo/salt-py3-3001,在該處建立倉庫:
shell> cd /mydata/yum-repo/salt-py3-3001
shell> createrepo . # 倉庫的索引資料儲存在該目錄下的repodata資料夾中
這樣,一個本地的salt-py3-3001倉庫建立完畢。
本機測試
首先刪除官方源並清理快取:
shell> yum remove -y salt-py3-repo-3001
shell> yum clean all
建立一個檔案:/etc/yum.repos.d/local-salt-3001.repo,內容如下:
[local-salt-3001]
name=SaltStack 3001 Release Channel for Python 3 RHEL/Centos $releasever
baseurl=file:///mydata/yum-repo/salt-py3-3001
enabled=1
gpgcheck=0
建立快取,並檢視本地倉庫中的salt-minion資訊:
shell> yum makecache
shell> yum info salt-minion
可安裝的軟體包
名稱 :salt-minion
架構 :noarch
版本 :3001.1
釋出 :1.el7
大小 :39 k
源 :local-salt-3001
簡介 : Client component for Salt, a parallel remote execution system
網址 :http://saltstack.org/
協議 : ASL 2.0
描述 : The Salt minion is the agent component of Salt. It listens for instructions
: from the master, runs jobs, and returns results back to the master.
: Supports Python 3
測試通過,不過只是本機使用當然不夠,目標是區域網內使用。
提供服務
這裡選擇nginx提供服務,安裝:
shell> wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm
shell> yum install -y ./nginx-1.18.0-1.el7.ngx.x86_64.rp
修改配置檔案/etc/nginx/conf.d/default.conf:
location / {
autoindex on; # 顯示目錄
autoindex_exact_size on; # 顯示檔案大小
autoindex_localtime on; # 顯示檔案時間
root /mydata/yum-repo;
}
通過瀏覽器或curl命令訪問:http://[IP地址]:[埠]/salt-py3-3001/,內容如下:
至此配置nginx提供服務完成。
區域網使用
在區域網內找一臺未安裝saltstack的機器,建立一個檔案:/etc/yum.repos.d/local-salt-3001.repo,內容如下(與上文的區別只有baseurl):
[local-salt-3001]
name=SaltStack 3001 Release Channel for Python 3 RHEL/Centos $releasever
baseurl=http://[IP地址]:[埠]/salt-py3-3001/
enabled=1
gpgcheck=0
這樣就可以通過本地倉庫安裝saltstack了:
shell> yum install -y salt-master salt-minion
擴充套件
若需要增加其他工具軟體的本地源,在/mydata/yum-repo下新建並同步,然後配置/etc/yum.repos.d/local-[其他軟體].repo即可。
OVER