yum 私有倉庫


參考地址:https://blog.oldboyedu.com/autodeploy-yum

YUM主要用於自動安裝、升級rpm軟件包,它能自動查找並解決rpm包之間的依賴關系。要成功的使用YUM工具安裝更新軟件或系統,就需要有一個包含各種rpm軟件包的repository(軟件倉庫),這個軟件倉庫我們習慣稱為yum源。網絡上有大量的yum源,但由於受到網絡環境的限制,導致軟件安裝耗時過長甚至失敗。特別是當有大量服務器大量軟件包需要安裝時,緩慢的進度條令人難以忍受。因此我們在優化系統時,都會更換國內的源。

相比較而言,本地YUM源服務器最大優點是局域網的快速網絡連接和穩定性。有了局域網中的YUM源服務器,即便在Internet連接中斷的情況下,也不會影響其他YUM客戶端的軟件安裝和升級。

1、創建yum庫目錄

mkdir -p /application/yum/centos6.6/x86_64/
cd /application/yum/centos6.6/x86_64/
#rz  上傳rpm包到此目錄,此目錄下面還可以包括文件夾

2、安裝createrepo軟件

yum -y install createrepo

3、初始化repodata索引文件

createrepo -pdo /application/yum/centos6.6/x86_64/ /application/yum/centos6.6/x86_64/

4、添加新的rpm包

以后每加入一個rpm包就要更新下索引
createrepo --update /application/yum/centos6/x86_64/

5、提供web下載服務

安裝nginx服務,再配置虛擬主機具體更改如下
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
server {
        listen       80;
        server_name  localhost;      #也可以綁定域名
        location / {
            root   /application/yum;    #指定文件絕對路徑
            autoindex on;    #開啟目錄瀏覽功能
            autoindex_exact_size off;   #關閉詳細文件大小統計,讓文件大小顯示MB,GB
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

 

 

6、客戶端修改

[root@test yum.repos.d]# mkdir yum_bak && mv *.repo yum_bak
[root@test yum.repos.d]# cat >/etc/yum.repos.d/gosun.repo<<EOF
[gosun]
name=yanqi
baseurl=http://10.155.0.74/centos7/x86_64/
enabled=1
gpgcheck=0
EOF

*********************************************************************************************
不是必須的
yum --enablerepo=oldboy --disablerepo=base,extras,updates,epel list 
# 指定使用oldboy庫

7、清除yum緩存文件,重新新建

yum clean all && yum makecache
yum list

8、不是必須的

# cat /etc/yum.conf 
keepcache=1
# 安裝包存儲目錄
cachedir=/var/cache/yum/$basearch/$releasever
# /var/cache/yum/x86_64/6/base/packages

上面是臨時使用內網yum源,想永久並簡單使用yum -y install lrzsz命令,就需要修改配置文件將默認的repo文件關閉。
[root@oldboy ~]# cd /etc/yum.repos.d/
[root@oldboy yum.repos.d]# vim CentOS-Base.repo
# 在每一個啟動的源加上
# enabled=0   #改為1就啟用,沒有此參數也是啟用。
[base]
…………
enabled=0
[updates]
…………
enabled=0
[extras]
…………
enabled=0
# 還有其他開啟的倉庫就使用這個辦法關閉。

9、鏡像yum源

鏡像同步公網yum源
上游yum源必須要支持rsync協議,否則不能使用rsync進行同步。 http:
//mirrors.ustc.edu.cn/status/ CentOS官方標准源:rsync://mirrors.ustc.edu.cn/centos/ epel源:rsync://mirrors.ustc.edu.cn/epel/

同步命令: # 使用rsync同步yum源,為了節省帶寬、磁盤和下載時間,我只同步了CentOS6的rpm包,這樣所有的rpm包只占用了21G,全部同步需要300G左右。 # 同步base源,小技巧,我們安裝系統的光盤鏡像含有部分rpm包,大概3G,這些就不用重新下載。 /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/ /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/centos/6/extras/x86_64/ /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/centos/6/updates/x86_64/ # epel源 /usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/

學生使用內網yum源方法 # 可以自建一個內網dns,如果沒有,可使用hosts解析。 echo '192.168.0.200 mirrors.aliyun.com' >>/etc/hosts 結果展示 [root@KVM data]# du -sh yum_data 21G yum_data [root@KVM data]# tree -L 3 yum_data/ yum_data/ ├── centos │ ├── 6 │ │ ├── extras │ │ ├── os │ │ └── updates │ └── RPM-GPG-KEY-CentOS-6 ├── epel │ └── 6 │ └── x86_64

 

10、結果

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM