利用本地源解決在無網環境部署應用需要解決的問題:
- 應用需要哪些軟件包?
- 如何把應用依賴的軟件包制作成一個精簡的本地源?
- 如何使用本地源?
第一個問題使用yum-utils
解決,它帶的repotrack
命令可以把應用所依賴的軟件包全部下載到本地,安裝:
yum install -y yum-utils # repotrack 工具用來下載yum依賴
以要離線部署gcc為例來下載所有相關依賴:
mkdir -p /home/oaksharks/install/yumRepo/packages
repotrack gcc -p /home/oaksharks/install/yumRepo/packages
repotrack
下載的都是 rpm包,如果用rpm
安裝不容易解決依賴關系,可以給這些包生成索引作為一個本地的yum源,可以使用createrepo
完成
先安裝:
yum install -y createrepo # 使用createrepo 創建私有yum源
給rpm包創建索引:
createrepo /home/oaksharks/install/yumRepo/packages
索引會創建到createrepo /home/oaksharks/install/yumRepo/packages/repo
目錄。
配置使用本地源:
創建文件/etc/yum.repos.d/CentOS-Local.repo
內容為:
[Local]
name=Local Yum
baseurl=file:///home/oaksharks/install/yumRepo/packages
gpgcheck=0
enabled=1
軟件重建緩存:
yum clean all
yum makecache
可以使用yum利用本地源安裝軟件了:
yum install -y gcc
常見問題
怎么新加軟件包?
- 使用repotrack 下載新的包
- 刪除 repo目錄,然后重新創建索引
已經驗證此種方式切斷網卡后可以正常使用,可放心食用。