一,獲取yum軟件源
生產環境中一般是不讓上網的,而且有時候機房不在本地,插光盤要聯繫別人幫忙,很不方便,這種情況下把下載好的軟件源傳到服務器上是最方便的做法。
1,軟件源下載
先在一臺可以聯網並且版本和目標主機相似的服務器上下載軟件源:
先安裝下載軟件源所需工具:
yum install yum-utils -y
之後用命令查看軟件源列表:
yum repolist
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,911
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 313
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 695
一般來說只用下載base庫就夠了,運行命令:
reposync -r base
base庫的所有軟件包就會下載到當前目錄,目錄結構一般像這樣
–base
|—03d0a660e33174331aee3e077e11d4c0412d761b7f2eaa8555e7898e701e0-primary.sqlite.bz2
|—29b154c359eaf129e35d0d5c649ebd6ce333f302f33ed7b08c3b927e20-c7-x86_64-comps.xml.gz
|—cachecooki
|—gen
|—Packages
|—repomd.xml
我們需要用到的軟件包就在Packages目錄下面,只需把Packages目錄打包發到目標主機上就可以了
2,軟件源配置
上一步已經把軟件包傳到目標主機上,這一步需要先給這些軟件包建立“索引”,這需要一個工具createrepo,如果目標主機沒有安裝這個工具,解決方法很簡單,因爲我們上一步下載的軟件包裏,就有createrepo的安裝包,cd到Packages目錄下面,運行:yum localinstall createrepo-0.9.9-28.el7.noarch.rpm --nogpgcheck
,這裏createrepo的安裝包名根據自己的版本修改。
裝好createrepo後,在Packages目錄下面運行命令 createrepo -v
,這裏一定要注意,createrepo是在安裝包所在目錄下運行的!
運行createrepo時可能會遇到報錯無法讀取包信息,這一般是上一步時軟件包下載不全,可以直接移除這個軟件包,一般沒什麼影響。
二,配置yum.repos.d
先有rename命令把當前的.repo文件都備份掉:
rename .repo .repo.bak CentOS*
CentOS*
根據系統情況替換
然後新建文件 local.repo
,寫入下面內容
[local]
name=CentOS-$releasever - Local
baseurl=file:///your-path-to-packages
gpgcheck=0
enabled=1
your-path-to-packages就是之前Packages所在目錄,保存文件後運行命令:
yum clean all
yum update
之後就可以愉快地玩耍了。