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的具体使用方法,读者可以自行查阅相关资料。

  基于deb的软件包管理方式的发行版:这种软件包管理方式主要用在Debian Linux上,目前国内的发行版如新华华镭Linux、Hiweed-Debian Linux也采用了这种方式。Debian Linux对于软件包的管理提供了多种工具,我所知道的有:

  l dselect -使用菜单界面的软件包管理工具(最上层的包管理工具)

  l dpkg -安装软件包(管理软件包中的文件)

  l apt-get - 安装软件包(管理软件包,CLI APT)

  l tasksel -安装任务套件(管理面向某方面任务的一套软件包)

  l aptitude -安装软件包(管理软件包和任务套件,ncurses APT)

  l deity -另一种ncurses APT

  l synaptic, gsynaptic -另一种GUI APT

  在自由软件里,以deb打包的软件数量是最多的。Debian Linux本身就是由世界各地的志愿者共同开发的,其理念也最接近Linux本质。它的软件包管理方式自诞生之日起就比RPM先进,可以说几乎没有所谓的依赖性问题,遇到缺少软件包的情况时会自动从网上下载或提示您需要哪一张光盘;也正因为如此,我们说Debian Linux对于网络的依赖性很大。

  在Debian Linux下,无论是对于开发者还是最终用户,deb软件包都是较好的选择。Debian Linux下的软件极其丰富,而且增长速度又逐年加快,最为重要的是,Debian下软件包的发布都要经过很严格的测试,所以Debian Linux的稳定性几乎是一流的。Debian Linux先进的软件包管理方式也造成了它的在线升级极其简单容易--只需一个命令!你不用担心自己的Linux过时而重新安装一个新版本的Linux,Debian Linux可以自动做好这一切。

  基于源代码的软件管理的发行版:这类Linux发行版较少,和其他发行版比起来有很大的不同。典型的有Gentoo Linux,LFS(严格地说LFS并不是一个Linux发行版)。以Gentoo Linux为例,它的灵活性很大。Gentoo Linux可以在一个一无所有的计算机上从源代码编译出一个完整的Linux操作系统,也可以像其他发行版那样安装已经编译好的软件包。

  在Gentoo Linux下安装源代码软件非常方便,只要一个emerge命令即可,系统会自动编译安装,如果需要其他软件的支持,Gentoo Linux会先从网上下载并安装。由于Gentoo Linux安装软件时通常要编译源代码,因此花的时间也就很多。

  比如你要从源代码安装OpenOffice,最好的办法是在晚上10点开始安装,第二天早上睡醒后一般就能安装上了^_^。但从源代码安装有不可比拟的好处,一个是能让你更加清楚Linux的原理,再就是由于是在自己的计算机上编译软件,编译后的二进制代码肯定更加适合自己的机器,运行速度往往比安装预先编译好的软件要快得多。所以有时候花点儿时间还是值得的。

  刚才还提到了LFS,LFS是Linux From Scratch的缩写,它是纯粹地从源代码编译出来的操作系统。安装它,你需要事先已经安装有一个Linux和一份安装手册。按照安装手册的说明在网上下载相应的源代码,在现有的Linux系统上编译另一个能够独立运行的Linux,听起来很富有挑战意义对吗?LFS的安装是最困难的,它根本就没有软件包的概念。

  LFS是完全由你来控制的,当你成功地安装了LFS后,你会对Linux有更加深入的认识。

  总结:如果你刚刚接触Linux,不妨选择第一类,RPM的软件包很多,在中国也很流行,遇到问题了也容易请教,笔者推荐以RedHat Linux、Fedora或Magic Linux来入门。如果你是一个Linux的使用者,看重方便和稳定,那么Debian Linux自然是你的首选。

  如果你认为对Linux有了一定的了解,想更好地“玩”Linux,或是想用Linux构建一个专门用途的高性能平台,那就选择Gentoo Linux或LFS吧!总之,一切的选择权在你自己!

转载于:https://blog.51cto.com/yuanzi/490612

Linux各个发行版本的选择相关推荐

  1. Linux各发行版本之间的比较

            Linux最早由LinusBenedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FS ...

  2. 计算机的组成和Linux的发行版本介绍

    计算机的组成和 Linux的发行版本介绍 计算机的组成及功能 计算机的五大组成,如下; 各部分的作用; 控制单元和算数逻辑单元是CPU的两个主要组成部分  控制单元主要协调各组件与各单元间的工作  算 ...

  3. Linux各发行版本简介

    Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表. 1.Redhat,应该称为Re ...

  4. Linux各发行版本 优缺点 简介

    2008.01.21 13:43 Linux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Fou ...

  5. Redhat 与 Debian 系介绍(Linux各种发行版本概述)

    Linux,最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及 ...

  6. Linux各种发行版本概述(Redhat系 | Debian系)

    Linux,最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及 ...

  7. Redhat与Debian系介绍(Linux各种发行版本概述)

    Linux,最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及 ...

  8. linux perl模块检测,Linux有问必答:如何用Perl检测Linux的发行版本

    提问:我需要写一个Perl程序,它会包含Linux发行版相关的代码.为此,Perl程序需要能够自动检测运行中的Linux的发行版(如Ubuntu.CentOS.Debian.Fedora等等),以及它 ...

  9. linux操作系统版本_史上最全的Linux 各个发行版本的优点、缺点、发展史介绍

    概述 今天主要学习一下Linux 各个发行版本,看一下各个发现版本的发展史. 什么是Linux? 也许很多人会认为Linux不就是个操作系统么.其实严格来讲,Linux只是一个操作系统中的内核.内核是 ...

最新文章

  1. Leetcode 146. LRU缓存机制 解题思路及C++实现
  2. 第07课:【实战】调试Redis准备工作
  3. spring事务管理-注解配置aop事务(重点)
  4. leetcode-search-in-rotated-sorted-array
  5. PyTorch实战福利从入门到精通之九——数据处理
  6. ym——物联网入口之中的一个Android蓝牙4.0
  7. html 自动关机程序,Windows 自动关机/定时关机 命令 shuntdown
  8. 泰山游记:厕所竟然没水,可想而知
  9. 反向跟单讲解4:用什么跟单软件
  10. sharp计算机按钮配置,将Sharp TV HDMI接口连接到计算机并设置教程
  11. 转载 一堂价值39万元的课,把她看完,你一定会有所获!
  12. 我要悄悄学习,做一个浪漫的程序员
  13. 联想G40-30进win10PE触摸板、键盘无反应
  14. Python 中 __dict__的用法
  15. 不做不明真相的开发者 之驱动与中断
  16. 【Arc GIS 零基础教学】这些常见的GIS数据格式你知道几个
  17. shell编程时,引用相对路径的shell文件
  18. Windows搜索文件技巧:Listary和Everything各有千秋(比较、对比)
  19. wordpress后台管理(八)外观-DUX主题设置:设置网站Logo/布局/主题风格/页面/列表设置/文章/广告/热门排行/特别推荐等等
  20. slf4j-log4j error级别日志发送邮件配置

热门文章

  1. 业界丨AI公司魅力榜:谷歌最慷慨排第二,最抠门的你应该能想到
  2. pycharm如何执行高级撤销操作回到历史
  3. 通用AI——未来真正强健的人工智能?
  4. “万维网之父”发文阐述其下一个网络时代:将数据与应用分离,互联网去中心化正在路上...
  5. 邬贺铨:工业物联网的技术与前景
  6. 计算机视觉大规模爆发,6大细分领域将撑起725亿元市场
  7. 周志华:深度学习理论探讨比应用滞后太多
  8. 漫画:如何辨别二逼互联网公司!?
  9. 从互联网大厂裸辞 500 天后,我发生哪些变化?
  10. ​10.24,华为鲲鹏要为程序员发福利!