Linux Stampede

创建 Stampede Linux 是因为我们对其他发行版感到不满意。我们发现,尽管其他发行版有很多有用的功能,但没有一个完全满足我们的需求。虽然开发团队认识到完美是一个无法实现的目标,但推动 Stampede Linux 开发的动力是创建一个完美的发行版。
Stampede Linux 项目由 Matt Wood 创立,他领导开发团队,是 Stampede 相关一切事物的支柱。他最初的 Stampede 意图是将其作为 Slackware 的 Pentium 编译重建版本——一个供他和几个朋友使用的私人发行版。然而,Stampede 已经发展得远不止如此;它在开发过程的早期就放弃了与 Slackware 的联系。
也许在这个开发期间我们被问到最频繁的问题是:“为什么又一个发行版?” 以下几个原因可以解答这个问题:
当前的发行版都没有针对较新的机器进行优化。我们不认为 Pentium/Pentium Pro/Pentium II/K6 机器应该运行为 386 或 486 机器编写和优化的代码。Stampede 的所有二进制文件和软件包都是使用 Pentium GCC 编译器编译的。
目前还没有一个主要围绕最新和最新的软件包以及安全性的发行版。我们认为,拥有一个安全的系统(结合更新的软件包)是创建发行版的唯一正确方式。Stampede 将尽可能安全,而不是让用户选择安装软件包来提高安全性,而是让用户可以选择安装软件包来降低安全性。
虽然大多数发行版都相当容易安装,但我们发现对于新用户来说,它们还不够容易。如果 Linux 革命要发生,就必须开发更简单、更直观的安装和配置程序。
这些原因促成了几个关键功能的实现。首先,所有软件包都使用 Pentium GCC 编译器编译,这是 GCC 编译器的一个变体,针对 Pentium 级芯片进行了优化。这很重要,因为 PGCC 可以提高 Pentium 兼容系统的性能,通常可以使系统速度提高 10-30%。Pentium GCC 编译器也完全兼容 i386+ 处理器和克隆产品。(有关 PGCC 的信息,请访问 http://www.goof.com/pcg/)。
所有 Stampede 稳定版二进制文件在编译时也不包含调试(-g)信息,从而提供更小、更快的二进制文件。我们正在考虑发布一个单独的软件包,其中包含调试信息,供需要的人使用。
Stampede Linux 还使用了 gnulibc2 (libc6),这是标准 C 库的一个更快版本。此版本包括更稳定的接口、线程安全函数、改进的数学库、来自 POSIX 和 XPG4.2 的新函数,并且是 64 位干净的。然而,它仍在开发中,仅适用于基于 GNU 的(Hurd 和 Linux)系统。有关 GNU libc 的更多信息,请访问 https://gnu.ac.cn/software/libc/libc.html。
Stampede Linux 软件包 (SLP) 管理系统也进展顺利。与其他一些发行版不同,使用此软件包是完全可选的。如果您愿意,您可以坚持使用 gzipped tar(或 bz2)文件,而不使用 SLP 文件。但是,我们相信大多数用户都会希望使用软件包格式,因为它具有可移植性。开发团队计划在 Stampede 1.0 版本中实现软件包的自动升级。
Stampede 计划使用类似 BSD 的 init 脚本来配置所有系统运行级别维护,但开发这些脚本目前还没有很高的优先级。即使这些脚本很容易配置,我们仍然计划创建一套配置工具,以便以简单、直接的方式设置和更改 init 脚本。
另一个值得一提的功能是启动/根磁盘。对于 Slackware,找到并下载正确的启动磁盘似乎让开发团队的每个人都很恼火。因此,我们决定创建第三张磁盘,即模块磁盘。任何可以编译为模块而不是构建到内核中的内容都将放在模块磁盘上。这将包括 CD-ROM、以太网和硬盘驱动器驱动程序。这样做应该使 Linux 新手更容易找到正确的启动磁盘。
安装程序也值得关注。我们的设计方式是,它可以自动检测源媒体上的软件包,然后询问您要安装哪些软件包。这种方法使我们更容易添加和更新软件包和软件包集,也使用户更容易创建或安装自己的软件包。还将有一个选项可以从许多不同的自动安装中进行选择。对于 Linux 新手以及那些不喜欢在安装过程中回答问题的人来说,这将是一个很大的优势。
Stampede 的开发过程非常独特。Stampede Linux 开发团队由世界各地的人员组成,他们通过电子邮件和 IRC 在互联网上协作。虽然有时会向某些个人分配任务,但在大多数情况下,我们中的一个人会提出一个想法,或者从用户或邮件列表中获得一个想法,然后着手处理它。如果它得到 Matt 的正式批准,它就会进入发行版。个人偏好是决定我们选择在发行版中包含哪些工具和程序的一个因素,但我们努力创建和包含对新用户来说易于使用,但对更高级用户来说功能强大的程序。
在这个开发阶段,我们努力在功能和稳定性之间保持良好的平衡。我们认为,只要程序不是太有缺陷或用户使用起来太笨拙,就值得包含。我们不会仅仅因为软件在其他发行版中就坚持使用它。我们意识到,通过使用 gnulibc2 和 PGCC 等程序以及我们的新软件包格式,我们正在承担潜在的风险,即已经习惯旧软件的用户此时可能会遇到麻烦。但是,我们相信优点远远大于缺点。由于我们为 SLP 制定的计划,我们对我们的方法也充满信心。有了前面提到的自动软件包更新,应该不会有问题。
与其他计算机编程项目一样,我们也有我们正在努力克服的障碍。我们在开发中面临的主要障碍之一是所有测试都必须在我们自己的个人计算机上完成。由于目前我们没有资金购买设备,因此我们很难在不同的计算机上测试 Stampede。我们需要拥有不同设备的测试人员。但是,我们仍然计划成为一个非营利组织,依靠用户的努力和捐款来帮助我们进一步发展。
奇怪的错误似乎在这个时候给我们带来了很多麻烦。由于我们无法总是判断出问题是因为我们把它放在了错误的位置、编译错误还是编码错误,因此我们很难找到实际软件中的错误。值得庆幸的是,随着开发的进行,这种情况似乎越来越少,并且整个系统也变得更加稳定。
我们都会考虑收到的任何和所有想法。如果用户认为在发行版中包含某些内容是有价值的,那么我们也会认为包含它是有价值的。很难说我们为未来的版本计划了什么,因为我们拥有的任何新想法,我们都试图将其挤进 1.0 版本。
但是,以下是我们希望在 Stampede 的未来中看到的一些内容:
移植到不同的架构:我们最近找到有人帮助移植到 SPARC,我们还有开发团队的成员计划开始 Power PC 的移植。
中央系统配置实用程序:这很可能用于 X Window 系统,用 GTK 编写(我们所有的 X 实用程序都使用 GTK)。它将包括用于添加/删除用户和组、配置 init 脚本以及更多内容的章节。
更自动化的软件包更新过程:如前所述,自动化是我们努力追求的目标,因为我们相信这不仅可以帮助新用户,还可以让经验丰富的用户减少担忧。我们正在开始开发 Stampede Linux 软件包守护程序 (slpd),它将有选择地定期查询中央服务器并检查软件包更新,然后下载并安装它们。
Stampede Linux 的开发正在以令人难以置信的速度向前发展。我们拥有一支非常有才华的开发团队,所有人都致力于使 Stampede Linux 成为最好的发行版。Stampede 的创建只有 50% 是编码,因为将所有内容组合在一起并确保其平稳运行已被证明是一项同样艰巨的任务。但是,我们每天处理一件事情,并处理随之而来的每个障碍。我们这样做不是为了钱或为了超越任何人。我们完全支持开源事业。我们只是想要您想要的——一个快速、稳定、安全和强大的发行版。我们的目标是证明总有改进的空间。
David Haraburda (gerwain@beer.stampede.org) 是一位 Linux 狂热爱好者,目前居住在德克萨斯州沃斯堡。有关他和其他开发人员的信息,请访问 http://www.stampede.org/people.html