openSUSE中YaST包管理器的更新实战
2010-08-05 07:58:06 来源:WEB开发网对于openSUSE的用户来说YaST是一个强大的RPM包管理器和系统设置软件,YaST可以帮助用户管理系统中的琐碎问题。包管理功能协调解决依赖性问题,从而提供了大规模软件升级的便利。YaST中这个功能叫做“系统更新”。用户简单的增加一个安装源,就可以升级含有多个包的大程序(比如KDE)。
但由于安装源大部分都在国外,网络条件不好的话,源更新的成功率较低。因此,把相关文件下载到本地,再把本地目录设为安装源,这样可以提高升级成功率,而且稳定,不易出错。
这里以SUSE 10.0 64bit更新到KDE 3.5.1为例说明:
1.找到安装源地址
这里只是举例,升级用到了openSUSE服务器上提供的Yast源--KDE supplementary 3.5 update。这里并没有用官方的地址,而是用了ftp.jaist.ac.jp服务器上作的镜像,因为这个服务器在日本,速度相对快些。
你并不一定要使用这个地址,如果你知道更快的suse服务器的镜像:把[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文件中会明示各路径。文件中关键词DESCRDIR对应安装包描述信息的位置,DATADIR对应rpm包的存放目录。
RPM包在目录 DATADIR/架构名称 下面存放。比如DATADIR是 suse/rpm,那64位的包就应该在 根目录/suse/rpm/x86_64,其它架构的包就是 根目录/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/架构名称 下面。
3.建立本地目录 /home/xxx/kde-up/
4.按照原来目录结构下载下面文件到 /home/xxx/kde-up/
- media.1/
- `- media
- content
- directory.yast
- suse/setup/descr/
- `- packages
- `- packages.DU
- `- packages.en
当然如果你希望那个看到德语的包信息简介,请下载packages.de文件,而不是packages.en。
下载我们需要的包,先是下载整个suse/x86_64/ 下面的文件到 /home/xxx/kde-up/suse/x86_64/ 。当然如果您很明确知道自己不需要什么就不要下那个包。比如说我就不用amarok用xmms,那么amarok.rpm就没有必要下载。
然后在 /home/xxx/kde-up/suse/noarch/ 下面下载 kdelibs3-devel-doc.rpm,kde3-i18n-zh_CN.rpm。如果你用Koffice,继续下koffice-i18n-zh_CN.rpm。之所以只下有zh_CN的rpm是因为这些kde3-i18n-*.rpm/koffice-i18n-*.rpm明显是语言包,下一大堆根本不用的语言没有意义。自然如果您使用繁体中文请下载相应的zh_TW的RPM。
5.YaST-安装源-把目录/home/xxx/kde-up/加入安装源。只打开刚加的源和初始安装盘的源。
6.YaST-系统更新,如果还显示少什么包,去搜索引擎查找,手动解决。
更多精彩
赞助商链接