[Linux]-搭建基於內部網絡yum倉庫


YUM是什么?

YUM 主要用於自動安裝、升級 rpm 軟件包,它能自動查找並解決 rpm 包之間的依賴關系。要功的使用 YUM 工具安裝更新軟件或系統,就需要有一個包含各種 rpm 軟件包的 repository(件倉庫),這個軟件倉庫我們習慣稱為 yum 源。網絡上有大量的 yum 源,但由於受到網絡環的限制,導致軟件安裝耗時過長甚至失敗。特別是當有大量服務器大量軟件包需要安裝時,慢的進度條令人難以忍受。因此我們在優化系統時,都會更換國內的源。相比較而言,本地 YUM 源服務器最大優點是局域網的快速網絡連接和穩定性。有了局域網中YUM 源服務器,即便在 Internet 連接中斷的情況下,也不會影響其他 YUM 客戶端的軟件安裝升級。

 YUM源?

 (1)要成功的使用 YUM 工具安裝更新軟件或系統,就需要有一個包含各種 rpm 軟件包的repository(軟件倉庫),這個軟件倉庫我們習慣稱為 yum 源,
(2)網絡上有大量的 yum 源,但由於受到網絡環境的限制,導致軟件安裝耗時過長甚至失敗,特別是當有大量服務器大量軟件包需要安裝時,緩慢的進度條令人難以忍受,因此我們在優化系統時,都會更換國內的源
(3)相比較而言,本地 YUM 源服務器最大優點是局域網的快速網絡連接和穩定性,有了局域網中的 YUM 源服務器,即便在 Internel 連接中斷的情況下,也不會影響其他 YUM 客戶端的軟件安裝和升級。

 YUM配置

 yum的配置文件信息在/etc/yum.repos.d/下,我們配置的是自己的網絡yum源,所以這些文件我們都把它移(mv)到別的地方。

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Base.repo.bak
CentOS-Media.repo CentOS-Debuginfo.repo 
CentOS-Vault.repo

 服務端的配置

1、在 / 下創建一個文件夾放置我們的安裝包

[root@localhost ~]# mkdir /yum_source_pck
[root@localhost ~]# cd /yum_source_pck/
[root@localhost yum_source_pck]# 
  # 上傳 rpm 包到此目錄,此目錄下面還可以包括文件夾
  獲取 rpm 軟件包的幾種方法
   (1) 開啟 YUM 緩存
   (2) yumdownloader pcre-devel openssl-devel # 只下載軟件不安裝

 2、本地系統掛載光盤

mount /dev/cdrom /mnt/
[root@localhost yum_source_pck]# cp /mnt/Packages/* /yum_source_pck/          #4G左右文件,時間可能較長
[root@localhost yum_source_pck]# du -sh            #查看文件大小

3、安裝createrepo軟件,用於生成yum倉庫的軟件

[root@localhost ~]# createrepo -pdo /yum_source_pck/ /yum_source_pck/        //初始化
Spawning worker 0 with 3995 pkgs
......        //部分內容省略
Sqlite DBs complete
[root@localhost ~]# createrepo --update /yum_source_pck/                //每加入一個rpm包就要更新一次

 

 4、使用python命令把80端口打開,這個地方需要在包的路徑下面,通過網頁把內容發布出去

[root@localhost ~]# cd /yum_source_pck/
[root@localhost yum_source_pck]# python -m SimpleHTTPServer 80 &> /dev/null &

 

 用這個&意思是放在后台一直運行,要不然就訪問不到

我們也可以訪問測試一下是否可以連接

lsof -i :80

 

客戶端

[root@aery ~]# cd /etc/yum.repos.d/               
[root@aery yum.repos.d]# vim yum.repo             //編輯 YUM 配置文件
 [yum] 
 name=yum install
 baseurl=http://192.168.111.129
 enabled=1
 gpgcheck=0

[root@aery yum.repos.d]# yum clean all                //清除 yum 緩存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: inside
Cleaning up Everything
[root@aery yum.repos.d]# yum makecache                //更新 YUM 緩存

 使用yum安裝測試

yum -y install dhcp

 

錯誤信息排查

如果出現這樣的錯誤,進行下面的操作,刪除rpm緩存,就是我們的清除yum緩存后有新的部分緩存

rm -rf /var/lib/rpm/__db.*

 

出現這樣的執行,殺死這個yum程序,不能多線程

killall -9 yum

 


免責聲明!

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



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