Slackware Linux
2011-03-23 10:53:03 阿炯

Slackware是Slackware Linux, Inc的Patrick Volkerding制作的Linux发行版本。它走了一条同其他的发行版本(RedHat、Debian、Gentoo、SuSE、Mandriva、Ubuntu等)不同的道路,它力图成为“UNIX风格”的Linux发行版本。它的方针是只吸收稳定版本的应用程序,并且缺少其他linux版本中那些为发行版本定制的配置工具。支持按需使用各种 Web、FTP 和 Email 服务器,正如可以在各种流行的桌面环境中作出选择。大量的开发工具和编辑器、库文件被包纳进来,以方便那些希望开发或编译额外软件的用户们。



The Official Release of Slackware Linux by Patrick Volkerding is an advanced Linux operating system, designed with the twin goals of ease of use and stability as top priorities. Including the latest popular software while retaining a sense of tradition, providing simplicity and ease of use alongside flexibility and power, Slackware brings the best of all worlds to the table.

Philosophy
Since its first beta release in April of 1993, the Slackware Linux Project has aimed at producing the most "UNIX-like" Linux distribution out there. Slackware complies with the published Linux standards, such as the Linux File System Standard. We have always considered simplicity and stability paramount, and as a result Slackware has become one of the most popular, stable, and friendly distributions available.

第一个 Slackware 的版本1.00 在1993年7月16日由创立者和开发领导者Patrick Volkerding发布,它是基于SLS Linux并以3.5寸软盘为镜像在匿名FTP上发行。Slackware是现存的最古老的发行版本,在2003年度过了它的十周年纪念。它是目前历史最悠久、且仍在维护的 Linux 发行版本。

“Slackware”这个名字借用自Church of the SubGenius中的术语“Slack”。在早期的发布版本中,发行版本带有三个用户帐号:"satan","gonzo" 和 "snake"。它们是作为示例被提供,但是后来的版本中去除了这些帐号,因为它们有潜在的安全漏洞。

在1999年,Slackware的发布版本号从 4 一下子跨越到了 7。Patrick Volkerding 作出解释:这是出于市场推广的考虑,为了告诉人们 Slackware 和别的 Linux 发行版本一样“新”(up-to-date),当时许多其他发行版本的版本号为 6。在2004年,Patrick Volkerding 得了严重的疾病,Slackware 未来的开发变得不可预测。在他痊愈后很快恢复了Slackware 的开发。在2005年,GNOME桌面环境被从待发布的版本中删除,移交给了社群进行支持。GNOME的删除被Linux社群中的一些人认为是一个警讯,因为GNOME在各种Linux发行版本中都可以找到,一些由社群建立的支援计画也因此诞生。贯穿Slackware的历史,出现一些在Slackware基础上制作的发行版本和LiveCD。一些流行的发行版本就起源于 Slackware,包括SUSE,College Linux 和 Slax。

其主要为x86 PC 开发。然而曾经存在一些官方的移植 ,像针对DEC Alpha 和 SPARC 架构的。从2005年起,开始出现针对System/390架构的官方移植。同时也存在一些非官方的移植,ARM,Alpha,SPARC,PowerPC 和 x86-64。它针对 x86 的最新稳定发布版本是 13.1(直到2010年5月24日),其中包括了2.6.33.4版本内核,以及KDE SC 4.4.3(内有 Amarok2.3.0 媒体播放器), XFCE 4.6.1,最新版本的 Firefox 和 Thunderbird,glibc-2.11.1,gcc-4.4.4 以及其它常用软件。

Slackware实际上是一个名符其实的现代Linux发行版,使用它的时候,不要因其过于简单的文本安装模式和、缺乏图形桌面等细节修饰而觉得自己仍活在上个世纪。无法确定Slackware的风格是否源于传统,亦或是有意为之(也许是为了吓跑烦人的新手),当然也可能两者兼有之。如今它比Alpine Linux或是Arch Linux等更年轻的发行版更容易安装,想起来就像BSD一样,它也是无systemd的(即system daemon,是linux下的一种init软件)。

Slackware的测试/开发版本称为 '-current' ,这是为了可以使用更多超前的配置。

设计理念

KISS


KISS, 代表“保持简洁,笨拙”(Keep it Simple, Stupid),是一个可以解释很多Slackware中设计选择的概念。在这个文本中,“简洁”('simple')指系统设计的观点,而不是指易用性。这也是为什么这个系统中只有极少数使用GUI的配置工具。GUI 工具(按照这理论所说)过于复杂,比起命令行工具来会引入更多的问题。这种原则导致的最终结果是 Slackware 以不友好的代价换取了系统非常快速、稳定和安全的特性。Slackware并不包含类似于service,chkconfig一类的用于代替用户修改系统配置的多余软件,它将系统“真实”的一面毫不隐藏的呈现给使用者,让人们看到“真正的”Linux。批评的观点一般集中于它让很多事做起来太费时而且难以学习。支持者回应到在这种灵活和透明的系统中操作得到的经验比起在那些遮掩内部细节的系统中要多得多。

启动脚本

Slackware 使用BSD 风格的 初始化脚本,其他的Linux发行版本大多使用 System V 风格的初始化脚本。基本上 System V 风格的每个运行级都是存放初始化脚本的子目录,而BSD 风格仅为每个运行级提供一个脚本。BSD 风格的拥护者认为这样更佳,因为系统可以更容易找到,读取,编辑和维护脚本。System V的拥护者认为System V 的结构强大和灵活。但这些都无关紧要,System V初始化兼容在7.0版本之后被引入了 Slackware 中。

软体套件管理

Slackware的软体套件管理系统很独特。它的软体套件管理系统和别的发行版本一样可以很容易的安装、升级、移除包。但是它不会试着去追踪或者管理涉及哪些依赖关系(也就是保证系统拥有所有的安装包内的程序需要的系统库)。如果所需要的先决条件不能满足,在程序执行之前不会有提醒和指示。包都经过gzip压缩和tarball打包,但文件扩展名是.tgz,而不是.tar.gz。他们的结构是这样的:当在根目录下解压缩和释放,其中的文件会放置于它们的安装位置。因此可以不使用 Slackware的包工具来安装包,而仅仅使用 tar 和 gzip命令,如果包中有doinst.sh脚本,一定要运行它。

相对于Red Hat的RPM是CPIO档案,Debian的.deb文件是ar档案。它们都包括一些依赖关系的信息,包管理器工具可以使用这些信息来寻找和安装先决条件。他们在先决条件满足前是不会安装新包的(虽然可以强制进行)。关于追踪或者无视依赖关系孰优孰劣的争论并不很热闹,这多少让人想起了持续甚久的"vi 对 Emacs" 的“宗教战争”。 Slackware解决问题的方法被技巧熟练的用户群很好的接受了。

自动依赖的解决方案

由于Slackware本身不引进解决依赖关系并自动下载安装的工具,一些业已存在的第三方软件工具可以为它提供这方面的功能,就像APT为Debian所作的那样。 一些工具分析已安装的包以决定依赖关系,决定需要什么库文件,然后寻找什么包提供这些库文件。这些自动处理很费时,比起 APT 的手动调整方法原始的多。然而它提供了一个令人满意的解决。
* Swaret
* slapt-get
* SlackUpdate
* Emerde
* slackpkg

Slackware 9.1 在第二张CD上提供了作为补充的Swaret,但是并不默认安装它。自Slackware 10.0之后,Swaret被从发行版本中删除但作为第三方的包仍然可用。slackpkg 自Slackware 9.1开始包含在extra 中。slapt-get 并不提供依赖关系的解决。它只是提供解决依赖关系的框架,用以处理一些流行的类似APT的Slackware兼容包。一些 Slackware 衍生版本利用了这些功能的优点。

创始人Patrick Volkerding

他出生于1966年10月20日,是一位软件工程师,于1993年毕业于美国明尼苏达州的 Moorhead 大学计算机专业,也是在这一年,他在学生年代开发的 Slackware 获得了巨大成功,当时他只有 27 岁。Slackware 的诞生最早可以追溯到 1992 年末,Volkerding 从一个朋友那里听说了 Linux,但他当时还没有展现对其的兴趣;直到一个学校项目需要 LISP 解释器时,他才想起有人在 Linux 上提到过类似的东西,于是他下载了一个当时流行的发行版 SLS Linux,随着对其理解的加深,Patrick Volkerding 愈发感觉到 Linux 操作系统还有很多修改的空间,当他在修改 SLS 的一些基础设置的时候,他的老师提醒了他:“为什么不从最开始的地方修改它呢?这样就不需要每次安装都从头改一遍了。”Volkerding 恍然大悟,于是有了亲自造一个 Linux 发行版的念头。

当时的 SLS 版本使用了 0.98 PL4 的 Linux 内核,Volkerding 将改进的版本与 0.99 PL9 内核集成在一起。此时他已经改进了发布版中将近一半的包,并重新验证了剩下的一半。Volkerding 还编写了一些代码来解决长期存在的问题,因此Slackware并不只是 SLS 的改良版。Slackware 完成后,迅速在网上传播并大获成功,并且在 1994 年得到了商业化,从此步入正轨。Slackware 的鼎盛时期是 1996 年到 1999 年;在计算机软件竞争最激烈的那个年代,Linux 发行版开始逐渐增多,Slackware 的更新经常不太稳定,版本号也日益膨胀。和 Linux Kernel 几乎同年的 Slackware 系统,在2023年7月也就 30 岁了。仍一直固守着 “KISS” 原则,是一个非常干净稳定健壮的操作系统。30 年来一直深受用户喜爱和追捧,创始人是 Patrick J. Volkerding,被称为 Linux 的英雄。


最新版本:14.0
于2012年正式发布,主要新特性包括:轻量级桌面环境Xfce 4.10.0、KDE 4.8.5,3.2.29 kernel。Slackware提供了两种内核,一种包含所有驱动,另一种是 generic kernel,所有驱动以模块构建。

最新版本:14.2
Slackware Linux 14.2 稳定版正式于2016年发布了,与上一次稳定版发布已经时隔三年,本次发布带来了许多更新和增强功能,采用Xfce 4.12.1和KDE 4.14.21,提供非常美观易用的桌面环境,无论是视觉体验,还是使用上,都将是全新感受。同时该版本也新增将近100个新的软件包。更多详细信息,可以查看完整发行说明

最新版本:15.0
2022年2月上旬消息,Slackware 14.0 于 2012 年发布,在经过了数年的开发整合之后 Slackware 15.0 发行版本于今天正式发布。Slackware 15.0 在2021年进入测试阶段,在发布几个候选版本之后终于在今天发布了稳定版本。考虑到和 Slackware 14.0 相隔如此长时间,因此 Slackware 15.0 引入了大量的变化。上一个稳定版本是 2016 年发布的 14.2。


Slackware 创始人 Pat Volkerding 在发布公告中称,在 Slackware Linux 15 正式发布前,他们构建了 400 多个不同的 Linux 内核版本。相比之下,Slackware 14.2 只测试了 34 个版本。在得到内核稳定版维护者 Greg Kroah-Hartman 确认之后,最终选择了 Linux 5.15.19,这是一个长期支持版本,将至少支持到 2023 年 10 月(可能会持续更长时间)。和往常一样,内核以两种形式提供,精简的 generic 和包含大量内置驱动的 huge,Pat Volkerding 推荐用户选择 generic 以减少启动加载时间。此外 15.0 的 x86_64 版本支持运行 UEFI 固件,帮助支持 UEFI 的软件包包括 elilo、GRUB 2 和 efibootmgr,所有安装介质都支持在 UEFI 下启动。主要变化包括升级内核、桌面环境,以及常用软件包:
内核版本升级为 Linux Kernel 5.13
KDE Plasma 5.21
Xfce 4.16
GNOME 3.36/3.38
Python 3.9
Mozilla Firefox 91.0.1
Thunderbird 91.0.1

Slackware 15.0 的开发工作继续由项目创始人 Patrick Volkerding 领导,他将 v15.0 总结为:
需要放弃对纯影子密码的支持,经过多方考量之后最终选择了 PAM。从 ConsoleKit2 迁移到 elogind,使其更容易支持以其他初始系统为目标的软件,并使之与 XDG 标准保持同步。

增加了对 PipeWire 的支持,以替代 PulseAudio,并添加了对 X11 之外的 Wayland 会话的支持。

新版本抛弃了 Qt4,完全转移到 Qt5。带来了 Rust 和 Python 3。在系统中添加了许多新的库,以帮助支持所有不同的新增功能。

已经升级到当今最好的两个桌面环境。Xfce 4.16,一个快速、轻量级但视觉上吸引人且易于使用的桌面环境,以及KDE Plasma 5图形工作区环境,版本5.23.5(Plasma 25周年纪念版)。这也支持在Wayland或X11下运行"。 Slackware 的 pkgtools(软件包管理工具)也得到了大幅改进。

实施了文件锁定,以防止并行安装或升级发生冲突,并尽量减少写入存储的数据量,以避免对 SSD 设备的额外写入。

另外第一次包含了一个“make_world.sh”脚本,允许从源代码自动重建整个操作系统。在整个开发周期中始终将其作为优先事项推进,从而确保创建过程中不会出现故障。所有的源代码都经过了测试,并发现可以正常构建。特别感谢 nobodino 带头进行这项工作。

Pat Volkerding 还悼念了两位在开发 Slackware 15 期间去世的资深开发者:Erik "alphageek" Jan Tromp 和 Brett Person。alphageek 因久病在 2020 年去世,曾是核心团队的资深成员。Brett 是 Volkerding 的密友,鼓励他在 1993 年将 Slackware 的最早版本发布到 FTP 并负责测试工作,也是在 2020 年去世。一直以来,Brett 被认为是该项目的联合创始人。



官方主页:http://www.slackware.com/

该文章最后由 阿炯 于 2023-09-30 11:27:01 更新,目前是第 2 版。