openSUSE中YaST包管理器的更新實戰(zhàn)
對于openSUSE的用戶來說YaST是一個強大的RPM包管理器和系統(tǒng)設(shè)置軟件,YaST可以幫助用戶管理系統(tǒng)中的瑣碎問題。包管理功能協(xié)調(diào)解決依賴性問題,從而提供了大規(guī)模軟件升級的便利。YaST中這個功能叫做“系統(tǒng)更新”。用戶簡單的增加一個安裝源,就可以升級含有多個包的大程序(比如KDE)。
但由于安裝源大部分都在國外,網(wǎng)絡(luò)條件不好的話,源更新的成功率較低。因此,把相關(guān)文件下載到本地,再把本地目錄設(shè)為安裝源,這樣可以提高升級成功率,而且穩(wěn)定,不易出錯。
51CTO編輯推薦:openSUSE——一個沉默中的王者
這里以SUSE 10.0 64bit更新到KDE 3.5.1為例說明:
1.找到安裝源地址
這里只是舉例,升級用到了openSUSE服務(wù)器上提供的Yast源--KDE supplementary 3.5 update。這里并沒有用官方的地址,而是用了ftp.jaist.ac.jp服務(wù)器上作的鏡像,因為這個服務(wù)器在日本,速度相對快些。
你并不一定要使用這個地址,如果你知道更快的suse服務(wù)器的鏡像:把[1]作為你找到的官方鏡像,32位把x86_64換成i386或者i586,只要適合你的情況就行:
http://www.xxx.com/A/B/suse/x86_64/supplementary/KDE/update_for_10.0/yast-source/
2.分析根目錄下的content文件
一個真YaST源不僅包含RPM包,也包含描述那些包的文件。在下載到本地時,這些文件都要下載。一般來說,描述包的文件有如下幾個
- media.1/
- `- media
- content
- directory.yast
- setup/descr/
- `- packages
- `- packages.DU
- `- packages.en
一般來說media.1目錄下的media文件是固定的,根目錄下directory.yast和content文件是位置固定的。如果其它不是默認情況,content文件中會明示各路徑。文件中關(guān)鍵詞DESCRDIR對應(yīng)安裝包描述信息的位置,DATADIR對應(yīng)rpm包的存放目錄。
RPM包在目錄 DATADIR/架構(gòu)名稱 下面存放。比如DATADIR是 suse/rpm,那64位的包就應(yīng)該在 根目錄/suse/rpm/x86_64,其它架構(gòu)的包就是 根目錄/suse/rpm/i386或者i586、i686。
描述包信息的文件,一般是三個文件packages、packages.DU、packages.xx。.xx是語言簡寫代碼,一般是英語,packages.en。德語就是packages.de。
- PRODUCT supplementary KDE 3.5.x
- VERSION 3.5
- DISTPRODUCT KDE-3.5-supplementary
- DISTVERSION 3.5-0
- BASEPRODUCT SuSE Linux
- BASEVERSION 10.0-0
- VENDOR SuSE Linux AG
- ARCH.x86_64 x86_64 i686 i586 i486 i386 noarch
- DEFAULTBASE x86_64
- REQUIRES distribution-release
- LABEL supplementary KDE 3.5 update
- LABEL.de inoffizielles KDE 3.5 update
- DESCRDIR suse/setup/descr
- DATADIR suse
- FLAGS update
- TIMEZONE Europe/Berlin
其中DESCRDIR suse/setup/descr 這行是說對包的描述文件在 根目錄/suse/setup/descr 里面,這里是文件packages、packages.DU、packages.en、packages.de。
DATADIR suse這行則是說我們需要的rpm包存在 根目錄/suse/架構(gòu)名稱 下面。
3.建立本地目錄 /home/xxx/kde-up/
4.按照原來目錄結(jié)構(gòu)下載下面文件到 /home/xxx/kde-up/
- media.1/
- `- media
- content
- directory.yast
- suse/setup/descr/
- `- packages
- `- packages.DU
- `- packages.en
當(dāng)然如果你希望那個看到德語的包信息簡介,請下載packages.de文件,而不是packages.en。
下載我們需要的包,先是下載整個suse/x86_64/ 下面的文件到 /home/xxx/kde-up/suse/x86_64/ 。當(dāng)然如果您很明確知道自己不需要什么就不要下那個包。比如說我就不用amarok用xmms,那么amarok.rpm就沒有必要下載。
然后在 /home/xxx/kde-up/suse/noarch/ 下面下載 kdelibs3-devel-doc.rpm,kde3-i18n-zh_CN.rpm。如果你用Koffice,繼續(xù)下koffice-i18n-zh_CN.rpm。之所以只下有zh_CN的rpm是因為這些kde3-i18n-*.rpm/koffice-i18n-*.rpm明顯是語言包,下一大堆根本不用的語言沒有意義。自然如果您使用繁體中文請下載相應(yīng)的zh_TW的RPM。
5.YaST-安裝源-把目錄/home/xxx/kde-up/加入安裝源。只打開剛加的源和初始安裝盤的源。
6.YaST-系統(tǒng)更新,如果還顯示少什么包,去搜索引擎查找,手動解決。
【編輯推薦】