搭建yum倉(cāng)庫(kù)

https://blog.51cto.com/life2death/1708417

3.搭建yum倉(cāng)庫(kù),準(zhǔn)備需要的軟件
mlocate lrzsz tree vim nc nmap lrzsz wget bash-completion bash-completion-extras cowsay sl htop iotop iftop lsof net-tools sysstat unzip bc psmisc ntpdate wc telnet-server bind-utils createrepo

gcc gcc-c++ autoconf pcre pcre-devel make automake httpd-tools
還有架構(gòu)中要用到的軟件與依賴環(huán)境也要下載放到倉(cāng)庫(kù)中

服務(wù)端—m01管理機(jī)

提前下載好nginx

yum install nginx -y

把rpm包及其相關(guān)依賴全部都下載到本地,保存好。
手動(dòng)在/etc/yum.repos.d/目錄下配置本地倉(cāng)庫(kù)信息。
使用createrepo命令生成repodata信息。
使用yum repoinfo檢查確認(rèn)。

yum倉(cāng)庫(kù)本地存放rpm包的路徑:/yum/

創(chuàng)建一個(gè)本地倉(cāng)庫(kù)的目錄
mkdir /yum/

yum install  --downloadonly --downloaddir=/yum/ mlocate lrzsz tree vim nc nmap lrzsz wget bash-completion bash-completion-extras cowsay sl htop iotop iftop lsof net-tools sysstat unzip bc psmisc ntpdate wc telnet-server bind-utils gcc gcc-c++ autoconf pcre pcre-devel make automake httpd-tools 

只下載不安裝的命令:

--downloadonly 只下載不安裝
--downloaddir 指定rpm包的下載路徑

1.修改yum配置文件,打開本地緩存,1為開啟,0為不開啟

這里要把keepcache打開
從外網(wǎng)下載的rpm包可以到緩存目錄/var/cache/yum/下查找,可以將本地緩存下面需要的包都移動(dòng)到y(tǒng)um倉(cāng)庫(kù)中。

[root@m01 /etc/yum.repos.d]# cat /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
...

2.安裝createrepo

#創(chuàng)建一個(gè)本地倉(cāng)庫(kù)的目錄
mkdir /yum/

#安裝
yum install createrepo -y

#生成索引文件
createrepo /yum/

3.每次下載了新的rpm包需要執(zhí)行此命令

createrepo --update /yum/

--update 如果元數(shù)據(jù)已經(jīng)存在,且軟件倉(cāng)庫(kù)中只有部分軟件發(fā)生了改變或增減,則可用update參數(shù)直接對(duì)原有元數(shù)據(jù)進(jìn)行升級(jí),效率比重新分析rpm包依賴并生成新的元數(shù)據(jù)要高很多。

4.通過(guò)http協(xié)議訪問(wèn)

創(chuàng)建一個(gè)本地源

[root@m01]# vim /etc/yum.repos.d/yum-Media.repo
[yum_ck] #本地倉(cāng)庫(kù)名
name=CentOS- - 倉(cāng)庫(kù) #注釋信息
baseurl=http://10.0.0.61:8888/  #http協(xié)議,rpm包存放路徑
gpgcheck=0  #關(guān)閉安全驗(yàn)證
enabled=1   #啟用本倉(cāng)庫(kù)
priority=1  #優(yōu)先級(jí)為1,最高

通過(guò)http協(xié)議訪問(wèn)

配置.conf文件
不要與ngin.conf文件沖突

vim /etc/nginx/conf.d/yum_ck.conf

server {
    listen 8888;
    server_name 10.0.0.61;
    root /yum;
    index index.html;
    location / {
      root /yum;
      autoindex on;
    }
}

重啟nginx

nginx -t

systemctl start nginx

5.清除yum緩存

yum clean all

6.下載一款軟件放到/yum/下測(cè)試

yum install  --downloadonly --downloaddir=/yum nfs-utils

# 執(zhí)行此命令檢查是否是從本地源找的包
yum provides nfs-utils

#顯示結(jié)果為本地倉(cāng)庫(kù)名代表成功
Repo        : @yum_ck

7.優(yōu)先級(jí)設(shè)置

1.下載第三方插件

yum install yum-plugin-priorities.noarch

2.檢查是否啟動(dòng)服務(wù)(默認(rèn)是開啟的)

cat /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1

3.修改源的優(yōu)先級(jí)(新建的本地源在創(chuàng)建時(shí)已添加優(yōu)先級(jí)為1)
vim /etc/yum.repos.d/CentOS-Base.repo
代碼中已注釋“#添加優(yōu)先級(jí)為2”

[root@m01 /etc/yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加優(yōu)先級(jí)為2
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加優(yōu)先級(jí)為2
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加優(yōu)先級(jí)為2
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加優(yōu)先級(jí)為2
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
priority=2  #添加優(yōu)先級(jí)為2

8.對(duì)本地倉(cāng)庫(kù)進(jìn)行更新

下載一個(gè)新的rpm軟件包到本地倉(cāng)庫(kù),此時(shí)我們使用’yum repoinfo yum_ck ‘查看會(huì)發(fā)現(xiàn)軟件包的數(shù)量并沒(méi)有增加,我們安裝新增的軟件包也會(huì)提示,找不到此軟件包的現(xiàn)象,可以按照下述步驟,更新倉(cāng)庫(kù)信息。

yum_ck === 本地倉(cāng)庫(kù)的名稱


查看舊的軟件包總數(shù) yum repoinfo yum_ck | grep pkgs
更新本地倉(cāng)庫(kù) createrepo --update /yum/
清除所有緩存 yum clean all
查看新的軟件包總數(shù) yum repoinfo yum_ck | grep pkgs
如果軟件包的數(shù)量增加,說(shuō)明倉(cāng)庫(kù)更新成功。

9.將配置推送到所有的客戶端

yum -y install yum-plugin-priorities.noarch

/etc/yum.repos/yum-Media.repo

/etc/yum.repos.d/CentOS-Base.repo

用ansible劇本實(shí)現(xiàn),在本地配置好

這里的/etc/ansible/file路徑是根據(jù)自己的環(huán)境創(chuàng)建的,只是為了推送這個(gè)本地源的配置文件,推送到客戶端的路徑不要寫錯(cuò)就好。

[root@m01 /etc/ansible]# cat /etc/ansible/yum_ck.yml 
#本地yum倉(cāng)庫(kù)搭建
---
  - hosts: all
    tasks:

    - name: cp yum-Media.repo
      copy: 
        src: /etc/ansible/file/yum-Media.repo
        dest: /etc/yum.repos.d/
        force: yes

    - name: copy .repo
      copy:
        src: /etc/ansible/file/CentOS-Base.repo
        dest: /etc/yum.repos.d/CentOS-Base.repo
        force: yes

    - name: yum-plugin-priorities.noarch
      yum:
        name: yum-plugin-priorities.noarch
        state: present  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容