為什麼要使用rpm來管理軟件包?相比使用shell腳本,從源碼編譯安裝的方式,排除規模引出的效率因素不講,腳本的可維護性比起rpm要糟糕一些,當然使用rpm就需要深入了解rpmbuild以及spec文檔,似乎也並不簡單。但從長遠來看,rpm、yum源的可維護性,要比“腳本”可靠一些。在本文中,花開分享了創建yum源的操作步驟,用於管理系統上“定制”的軟件包。以下為正文。
創建yum源需要一個ftp或者http服務,鑒於ftp煩人的防火牆策略(防火牆配制不當,ftp的模式——主動/初動使用不當,服務會變得不可用),建議使用http服務。
管理yum源需要一個工具createrepo,使用yum安裝:
yum -y install createrepo
然後就可以開始了:
1. 規劃、創建yum源目錄。
比如在http://www.bsdmap.com的根目錄下創建一個yum目錄,來保存 yum 源數據。
觀察官方yum源的目錄規劃,像是yum並不能自己維護arch,即並不能自己區分i386還是x86_64,所以是單獨放在不同的目錄下。
我維護的是基於CentOS Linux 5的包,規劃目錄如下:
$mkdir -p yum/centos/5/{i386,x86_64}
2. 初始化repodata信息:
$createrepo -p -d -o yum/centos/5/i386 yum/centos/5/i386$createrepo -p -d -o yum/centos/5/x86_64 yum/centos/5/x86_64
這個時候,會在yum/centos/5/i386和yum/centos/5/x86_64目錄下,分別看到一個repodata目錄,這個就是yum源的Meta數據,有了這個,yum就可以和這個“源”進行“數據信息”了。