当前位置:主页   - 电脑 - 操作系统 - 其它系统
并不神秘的Slackware
来源:网络   作者:来源:网络/责编:编程入门 windrose    更新时间:2010-09-26
收藏此页】    【字号    】    【打印】    【关闭

本文较为全面地介绍了Slackware设计思想及其显著特色,力图吸引更多人来了解和尝试这个优秀的发行版。

导言

已经有10年历史的Slackware是Linux历史上存活最久的发行版,在它的辉煌时期,曾经在所有发行版中拥有最多的用户数量。但是,随着Linux商业化的浪潮,Redhat、Mandrake 和Suse 这些产品通过大规模的商业推广,占据了广大的市场;Debian作为一个社区发行版,也拥有很大的用户群。相比之下,Slackware的不事声张,使得它从许多人(尤其是新近开始使用Linux的用户)的视野中消失了。

Slackware在中文支持方面的弱点也让它为中文用户所诟病,结果是Slackware的中文用户数量远远低于其他名气大的发行版。国内的用户数量少,使得Slackware被蒙上了一层神秘的面纱,一些传言,如难安装、中文支持不好等等,让很多用户不敢轻易尝试。

但实际上,Slackware一直以来是以简洁、安全和稳定所著称的,在世界范围内拥有广大的忠实用户,其地位在各大发行版中始终排在前5名之列。很多人认为Slackware比较怪,易用性不佳,偏离了Linux商业应用的主流。但在我看来,Slackware是最适于个人学习和使用的发行版。

Slackware的设计哲学──KISS

KISS(Keep it simple,stupid──保持简单)是Slackware一贯的原则,尽量保持系统的简洁,从而实现稳定、高效和安全。在Slackware的哲学里面,简单(Simple)意味着系统设计的简洁明了,而不是用户友好(User friendly),为了达到简单的目标,Slackware在一定程度上牺牲了易用性。

在KISS原则的指导下,即使在GUI得到大量应用的今天,即使是现在的许多用户已经对文本界面感到陌生甚至恐惧,Slackware始终如一地保持着文本界面的系统安装程序,保持着文本界面的系统设置工具。在Slackware看来,图形化的安装界面和系统管理工具虽然界面友好,但是过于复杂。

BSD方式的启动管理,是Slackware最为特立独行的地方。在绝大多数发行版都采用了System V的启动管理方式的今天,Slackware仍然坚持了BSD方式,其原因也是因为BSD方式更为简单直观。

Slackware在软件包管理上的独树一帜也是KISS原则的体现。它所采用的tgz格式的软件包,就是普通的tar.gz格式的压缩文件,包管理工具也只是一些shell脚本。

在软件包的选择上,Slackware不贪多求全,只安装一些常用的软件。软件版本不一定选最新的,而是对安全性和稳定性的考虑更多一些,目的也是减轻系统管理工作的负担。

正是一直以来对KISS原则的坚持,Slackware赢得了简洁、安全、稳定、高效的名声,也赢得了一大批的忠实用户。

以下,我将对Slackware的这几个特点进行详细的说明。

文本界面的安装和设置工具

10年来Slackware的安装程序都是文本界面的,理由在于文本界面对系统资源的占用低,另外,即使系统对机器的图形设备支持得不好,只要文本界面能够工作,就能够完成系统的安装。尽管文本界面的安装程序现在的许多用户会觉得陌生,但是只要克服最初的畏难情绪,认真仔细地根据屏幕的提示进行操作,安装Slackware系统绝对不是一桩难事,飞快的安装速度则是对使用文本界面的报偿。

Slackware几乎没有提供图形化(GUI)的系统配置程序,只有有限的几个文本界面的设置工具。相比之下,Redhat有名为redhat-xxx-config的配置工具,Mandrake有著名的Drake系列配置程序,Suse则提供了集成化的YaST配置中心。类似这样的东西,在Slackware里面一律欠奉。

在Slackware的设计者看来,文本界面的设置工具相对于图形界面更为简单,只要能进入系统,文本界面的命令就能发挥作用;图形化的工具则需要图形系统的支持才能正常工作。另一方面,虽然图形化的设置工具在一定程度上使得系统管理更为容易,但是也隐藏了系统设置的很多细节。而在Slackware中,你需要了解更多的细节,这样即使没有专门的配置程序,你往往可以直接用编辑器编辑系统的配置文件,给你充分控制系统的感觉。

需要指出的是,尽管Slackware在系统设置方面只使用文本界面的工具,但并不意味着它排斥图形系统。Slackware提供了标准的XFree86或Xorg(从Slackware 10.0开始)的X Window系统,所有基于X Window的软件都能够在Slackware中顺利安装和运行。

BSD方式的启动管理

在目前绝大多数的发行版选择了System V式的启动脚本的今天,Slackware仍然坚持使用BSD方式的启动脚本。在Slackware看来,System V式的脚本会给系统管理带来不必要的复杂性,其复杂的结构既难于理解又难于维护。当然,System V的支持者们认为System V的结构更灵活、功能更强大。使用BSD方式启动脚本的好处在于更加容易跟踪系统的启动过程,其结构更为直观易懂,修改起来也非常方便。然而,因为一些大型软件是针对System V式的Linux系统而设计的,在Slackware中安装会遇到不兼容的麻烦。为了提高Slackware系统的兼容性,从7.0版起,Slackware中也新增了对于System V启动脚本的支持。

简单灵活的软件包管理机制

Slackware对于软件包的管理方式,也是它区别于许多别的发行版的显著特点。

对Linux系统稍有了解的用户大都知道,不同的发行版对于软件包的管理提供了不同的机制,一则方便软件的安装和卸载,二则希望藉此解决软件安装中经常遇到的软件包之间互为依赖的问题。最常用的软件包格式是Redhat开发的rpm格式,几大主流发行版如Redhat、Mandrake、SuSE均采用了这种格式,而Debian使用的是它自己的deb格式,还有一些发行版采用了自己独有的一些格式。

Slackware采用的是普普通通的tgz格式。tgz格式实际上就是经过gzip压缩、用tar打包的文件格式,和常见的tar.gz在格式上完全一致,所不同的是在tgz包里面增加了供Slackware的包管理工具识别的描述文件,提供了软件的安装目的地等信息。安装软件时,Slackware的包管理工具在解压的同时就把各个文件依据描述文件的内容复制到相应的目的地。

需要特别指出的是,Slackware在安装tgz包时,不考虑依赖性,也就是说,它不会检查这个新安装的软件和系统原有的其他软件之间是否发生冲突,也不检查是否需要先安装别的软件包才能使当前这个软件正常工作。在用惯了rpm的用户看来,这样子岂不是太不保险?Slackware的理由则是:系统管理员应该知道自己系统里有什么东西,也应该知道要安装什么东西。既然各种软件包管理工具都不可能从根本上杜绝dependency hell的恶梦,不如干脆由用户自己来决定。

由于tgz格式的软件相对来说比较少,使用Slackware时经常需要从源代码自行编译软件。有趣的是,尽管在软件包管理上Slackware基本上采取的是“放任自流”的方式,但编译软件时很少遇到缺这个库、少那个库的问题,大多数情况下是非常顺利的。

为了方便Slackware的软件升级和安装,并在依赖性管理上作出改进,出现了Swaret、Slapt-get和SlackUpdate等项目。

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明