歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用yum來更新紅旗Linux

用yum來更新紅旗Linux

日期:2017/2/28 17:24:50   编辑:Linux教程
最近找到幾個新的軟件包,覺得挺好用,也剛編譯成rpm包,希望在所有使用到的機器上部署。後來發現,需要每一台機器去安裝一遍,即使可以遠程安裝,這也是挺麻煩的。決定參考RedHat的升級機制,把yum也遷移到紅旗上來。說做就做,效果還是不錯的。

一、原理
yum是一個用於管理rpm包的後台程序,用python寫成,可以非常方便的解決rpm的依賴關系。在建立好yum服務器後,yum客戶端可以通過http、ftp方式獲得軟件包,並使用方便的命令直接管理、更新所有的rpm包,甚至包括kernel的更新。它也可以理解為紅旗環境下的apt管理工具。

要在紅旗上部署yum服務,首先需要的就是規劃軟件包的目錄次序:

引用
1、我准備要對紅旗服務器DC和桌面DT提供服務;
2、涉及的平台,服務器對i386、x86_64平台,桌面只有i386平台;
3、提供系統本身的升級程序包,官方提供的升級包,自己編譯的軟件包,以及從其他途徑獲得、經過測試的軟件包四大部分提供更新升級。

目錄架構如下:

二、部署yum服務器
系統平台:
服務端:紅旗DC Server 5.0 for x86
客戶端:紅旗DC Server 5.0 for x86和DT 5.0 for x86

1、准備
需要為yum提供python環境,可以從系統光盤獲得:

引用
libxml2-2.6.16-6.i386.rpm
libxml2-python-2.6.16-6.i386.rpm
elfutils-0.97-5.i386.rpm
rpm-python-4.3.3-9_nonptl.1AX.i386.rpm
python-urlgrabber-2.9.6-2.noarch.rpm

使用rpm -ivh把上述的包都安裝到系統中。
新版的yum使用xml格式的數據文件來分析和獲得rpm信息,可以使用createrepo工具實現

安裝:
rpm -ivh createrepo-0.4.4-1.noarch.rpm

2、拷貝
os目錄是用於存放系統原來帶的所有軟件包的,則我們這樣做:

mount -t iso9660 -o loop /iso/redflag-dc5.0-release-disc1.iso /mnt/cdrom
cp /mnt/cdrom/* ./os/i386/
umount /mnt/cdrom
mount -t iso9660 -o loop /iso/redflag-dc5.0-release-disc2.iso /mnt/cdrom
cp /mnt/cdrom/* ./os/i386/

3、生成yum用的repodata目錄
運行:
createrepo /yum/dc/5.0/os/i386

運行後,會自動在i386目錄下生成repodata目錄,裡面存放有對應RPM的依賴信息供後續yum使用。

這裡只是演示了os目錄,同樣的,其他目錄也存放上對應的文件,並用上述命令生成repodata目錄。今後若有更新,需重新運行createrepo命令,以更新數據庫

4、准備ftp服務
yum是通過http或ftp獲得rpm包的,所以我們需要設置http或ftp服務,並把上述的yum目錄的根目錄作為ftp的根目錄即可。類似提供這樣的關系:

引用
ftp://ip/dc/5.0/os/i386
Copyright © Linux教程網 All Rights Reserved