目前发行的Linux版本无论是RedHat还是SuSE、Debian,大部份的功能和命令都是一样的,但在软件包的安装管理方面却各有千秋,如:SUSE用YaST软件包管理器,Red hat和Fedora两个版本用yum,Gentoo Linux使用Portage, Linspire用CNR等等,虽然这些不同的软件安装管理器都是各自发行版的特色,但对我们用户来讲是件比较麻烦的工作,使用这些系统时不得不学习新的软件包安装方式。所以为了有一个安装软件的统一标准,我们可以使用Smart软件包管理器替换原有的安装工具。
Smart是一款基于Linux平台的包管理器,它不仅支持不同版本的linux软件包格式,如:RPM,DEB,而且它还能够快速解决包之间的依赖关系,通过手动安装RPM包的朋友都知道,要想按照包之间的依赖关系安装软件将是一件非常痛苦而又漫长的工作,之所以使用smart,是因为smart采用了更高级的算法,能够快速解决数据包之间的依赖关系,而且还可在Smart中添加多个安装源,极大的方便了安装、更新软件,我们还可以在一些网络安装源中找到很多当前发行版都没有的工具,如:mplayer、cacti,这些软件都可以通过网络安装源进行安装,极大的丰富了linux系统的可用性和快捷性。Smart还支持多种网络协议:FTP, FTPS, HTTP, HTTPS, SCP, Telnet, LDAP,正因为支持这么多的协议,所以smart支持多线程下载,这项功能是smart的一个亮点,可以大大缩短网络安装时的软件下载时间。
 我用的是Opensuse 10.3平台,之所以选择opensuse Linux,不仅是因为它易用,而且opensuse的网络安装源很多,可以在这个网址添加官方推荐的网络安装源。http://cn.opensuse.org/%E5%AE%89%E8%A3%85%E6%BA%90%E5%88%97%E8%A1%A8
 其中有一个packman的安装源包含了mplayer播放器的包,这个播放器类似windows暴风影音,支持众多的媒体格式,还有一个速度超快的网络安装源:http://ftp.novell.co.jp/
也许上面的内容有些地方比较模糊,我们就来实践安装、配置一下smart吧,等操作完再来温习一下,相信大家都应该能够理解。下载最新的smart软件包:
http://labix.org/download/smart/smart-0.52.tar.bz2
# tar jxvf smart*
# cd smart*
# ./setup.py build
# ./setup.py install
安装很简单,就用上面的命令参数即可,如果报错,则可能是一些python的包没有安装,用yast命令安装即可。Smart有三种操作方法:命令行、shell和图形界面。可以根据不同的环境来选择,图形界面是用Python语言写的,直接运行命令smart或smart –gui即可安装软件。在smart中有一个“频道”的概念,它实际上就是本文前面提到的安装源,目前smart支持以下格式的安装源:
apt-deb APT-DEB repositories
apt-rpm APT-RPM repositories
deb-dir DEB repositories (Debian, of course, and also Ubuntu)
red-carpet Red Carpet channel
rpm-dir RPM directory (Fedora)
rpm-hdl RPM header list
rpm-md RPM metadata
slack-site Slackware repositories (Slackware, obviously)
urpmi urpmi repositories (Mandriva)
yast2 YaST repositories (openSUSE)
 
其中rpm-md格式是最常用的,也是最方便的,我只测试了opensuse和fedora两个发行版,Debian的安装源我没有测试,但是原理都是一样的。本文以rpm-md为主,只要添加合适的路径,就可以在smart中添加多个安装源。在这里注意一下,因为smart自身存在一个bug,如果当前是中文环境,使用smart下载完软件包后无法正常安装,将会报python相关的错误,需要先将环境变量设置为英文:
# export LC_ALL=en
安装完成后,启动图形安装界面:(以下是演示环境,使用中文)
# smart --gui
 
启动主界面后,添加网络安装源,也就是“频道”,依次选择“编辑”“频道”“新建”“提供频道信息”“RPM MetaData”
 
输入安装源地址,注意:添加的网络地址目录中要存在repodata/repomd.xml软件包描述文件,点击确定后,在界面菜单“文件”中选择“更新选中频道”,勾中刚才添加的安装源,点击“确定”,smart将会下载安装源目录中的几个特定文件,这一步主要是让smart知道安装源中存在哪些数据包,以便搜索安装,如果在添加安装源时报错,则说明目录指定的不正确,可通过浏览器确认一下。
 
安装源添加完成后,就可以进行软件包的搜索、安装了,键入Ctrl+F或点击图标进入搜索界面并输入软件包关键字,smart将会搜索所有安装源中匹配的数据包,勾中要安装的软件包,这时将会提示包依赖关系和需要用到的其它数据包,点击“确定”即可,最后点击菜单下面的图标“应用标出的更改”使前面的操作生效。
 
因为是多线程下载,所以smart的效率非常高,为我们在安装软件时节约了大量等待时间,如果smart在安装软件包的过程中有报错,也可以在/var/lib/smart/package目录中找到刚才下载的软件包,手动进行安装。没有什么问题的话,就可以添加本文前面提到的几个安装源了,相信会给大家的日常办工和网络管理带来一定的便利。
除了smart包管理器,还有YaST, Zen, zypper, apt-get和Synaptic几款工具,虽然各有所长,但smart在解决包依赖关系和多线程下载上要有优势,所以推荐大家使用smart来安装、管理软件包。

文章如转载,请注明转载自:http://www.5iadmin.com/post/279.html