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