Linux各个发行版本的选择
Linux由于其“自由”和“开放”的特性,衍生出了数百种各具特色的发行版。所谓发行版,就是在Linux内核外包装一些软件,如我们常见的RedHat Linux、红旗Linux、Mandrake Linux等等,其本质??内核还是一致的。但由于各种发行版侧重的用户群体不同,往往在使用上差异很大。
由于在Linux上接触最多的还是它的外围软件,各种Linux的发行版对于软件的管理方式便成了权衡的一个重要因素。对于一个操作系统来说,不能没有一个像样的软件包管理器。
没有软件包管理器的帮助,操作系统发行版的制作者将面临这样或那样的难题,用户安装、升级、卸载与发布软件包也将是非常麻烦的,系统管理也容易出现问题;相反,有了专门的软件包管理器,软件制作者易于制作和发行自己的软件了,而对于普通用户来说,软件包的安装维护将变得非常方便了。这样,对于一个操作系统的推广也会起到良好的促进作用。
我将Linux的软件管理方式分成三类:
①基于RPM的软件包管理方式;
②基于deb的软件包管理方式;
③基于源代码的软件管理。下面分别就这三类谈谈我的认识和感受。
基于RPM的软件包管理方式的发行版:RPM是RedHat Package Manager的缩写,意即RedHat(红帽子)软件包管理器。此类发行版的数量最多,用户群体也最大。国外有知名的如RedHat Linux、Mandrake Linux、SuSE Linux,国内有红旗Linux,Magic Linux,中标普华Linux等等。
在这种Linux下安装软件,一般是选择已经编译好的RPM软件包,用rpm命令安装,系统会自动地把软件包解开,并复制到相应的目录中去,同时会在系统的数据库中加入软件包的相关信息。如果以后想要卸载某些软件,同样使用rpm命令加上参数-e,系统会去查询数据库,并删除相关的文件和目录。
安装、删除软件都还比较方便,再加上网上可以下载的RPM软件包数量非常之多,使用的人多从而容易交流,因此这类发行版作为用户入门的首选显得非常不错。笔者在这里首推RedHat Linux(以及后来的Fedora)和Magic Linux,一个是国外的发行版,一个是国内的。RPM毕竟是自家的产品,又有庞大的用户群,软件的兼容性做得比较好,而其他的发行版总要或多或少的改改以便体现各自的“特色”,这样一来就容易出现兼容性问题,也就是人们常说的“软件包依赖问题”。
国内的发行版之所以选择Magic Linux,主要是因为Magic Linux是一群爱好者们搞出来的Linux,没有多少商业化的驱使,对Linux本身改动很少,更容易让人体会到什么是“纯粹”的Linux,对于中文的支持也相当优秀。而红旗Linux和中标普华Linux太多地模仿Windows,对原本的Linux改动很大,正如前面所说,改动越大,日后越容易出现软件兼容性问题,笔者在这一点上是深有体会的。
当然,不可否认RPM的软件包管理方式也就其缺点,最主要的就是上面所提到的“软件包依赖性问题”。由于一些软件在运行是往往还需要其他软件的支持,而用rpm命令安装软件包时系统会先检查它需要的软件是否已经安装,如果发现有一个它所依赖的软件包没有安装,安装程序就会退出,并让你先安装上其他软件,而在安装其他软件时又有可能发生依赖性问题……可以想象有多么麻烦!虽然rpm命令提供了“强制安装”选项,但除非你有很大的把握,否则“强制安装”上去的软件很难正常工作。
为了解决这一恼人的问题,一些发行版使用了自己的解决方案,如Mandrake Linux在RPM的基础上加了一个前端界面,发现依赖性问题是它会自动到指定的网站上搜索并下载安装;Fedora提供了一个名为yum的前端程序,发现RPM依赖性问题时也会到指定的网站上下载并安装。
不过RedHat Linux 9及其以前的版本并未提供这样的功能。可喜的是,现在有一种APT软件包管理器正在从Debian Linux上向RedHat Linux上移植,大家可以在http://apt.freshrpms.net/上找到适合自己的APT软件包管理器,下载安装就可以了,它可以较好地解决依赖性问题。至于APT的具体使用方法,读者可以自行查阅相关资料。
- 相关文章
- Linux初学者:入门时的五个问题[01-28]
- Linux经典使用技巧8则[01-28]
- 深入浅出 分析Linux系统内核漏洞..[01-28]
- 系统管理员手册:Unix系统安全必读[01-28]
- 如何在Linux下使用ADSL上网[01-28]
- 让你的Linux用起来跟Windows无异..[01-28]
- 最新文章
- Linux初学者:入门时的五个问题[01-28]
- Linux经典使用技巧8则[01-28]
- 深入浅出 分析Linux系统内核漏洞..[01-28]
- 系统管理员手册:Unix系统安全必读[01-28]
- 如何在Linux下使用ADSL上网[01-28]
- 用Visual Basic实现对系统IO端口..[01-28]








