寻找构建最小的Linux桌面的工具


13

我越来越不满意这个事实,即配置Linux 桌面通常意味着消除膨胀,而不是添加和调整功能。我得出的结论是,我宁愿以最小的东西开始,然后添加我所了解的提供附加功能的软件包。

因此,我正在寻找一种非常小的桌面发行版,或者寻找一种更好的构建这种发行版的工具。换句话说,我想用运行前构建工具替换软件包管理器

软件包管理器不会受到伤害,但我正在寻找一个专注于高级预配置​​的发行版,而不是一个庞大的软件包存储库

我看过各种最小的桌面发行版,但它们似乎都可以解决不同的问题,例如,设计用于在较旧的硬件上运行或从cd / stick / ramfs运行。但是我不希望有最低限度的分配,因为我的硬件比较旧,但是我想知道各个部分的用途。从主内存中运行没有帮助有两种,我想要的东西最少的简单的。

由于似乎没有针对这种极简主义设计的发行版,因此我想到一个明显的选择是构建Linux From Scratch。但是,尽管我希望构建过程具有高度的自定义性,但它也必须自动化,因为在拥有一个令我满意的系统之前,我将不得不多次运行它。

虽然存在用于lfs的工具,该工具可以自动化构建过程,但它并不是真正的组成部分。基本上,它从文档中提取构建系统所需的步骤,然后自动执行。我正在寻找更强大和高级的东西,并且也不想编辑xml。

经过一番搜索,我发现Buildroot旨在构建嵌入式发行版,但也允许安装X11。在构建工具链然后生成rootfs之前,可以make menuconfig像Linux一样配置构建。这看起来很像我的想法,只是它打算用于嵌入式系统的交叉编译。

我目前的想法是使用buildroot,但首先要删除所有嵌入式特定部分,并用lfs中的各个部分替换它们。很多工作。

另外,最重要的是buildroot存在一些问题(从我的极限测试中可以看出),仅启用附加软件包会导致从零开始重新构建漏洞,但是对于微不足道的更改,我想避免这种情况。

在进行此时间投资之前,我将继续使用预安装的构建工具(例如buildroot)来搜索桌面发行版,该工具是用于构建桌面发行版的buildroot的替代/分支。

编辑:到目前为止的答案将我指向诸如Gentoo之类的发行版,这是我当前正在使用的发行版。但是我正在寻找 Gentoo,Arch,Debian等发行版的替代方案,因为这些发行版还不够少。安装后,还必须自定义这些发行版。我想要可以在安装前定制的东西。

尽管上述所有发行版都是很好的发行版,但它们并不是我想要的。我正在寻找的是“ buildroot for desktop”。如果您不知道什么是buildroot,那么您可能将无法提供使我满意的答案。

而且我也不认为这个问题是主观的。我根本找不到满足我需求的任何东西,因此要求您将我指向可能至少提供我所需部分内容的项目。

Answers:


5

您可以使用Kickstart之类的东西,它是anacondaFedora,CentOS,RHEL和派生发行版的安装程序的功能,可让您根据自己的喜好完全自定义安装。您可以选择要安装的软件包,分区布局,网络配置,软件包存储库,root密码等等。您还可以创建安装前和安装后脚本,以执行您可能需要的其他任何操作。您可以完全自动运行安装,也可以选择要提示的内容。所有设置都在一个简单的(不是XML)文本文件中定义,您可以手动或使用图形system-config-kickstart工具进行设置。

将这些放在一起后,您可以根据需要滚动自己的自定义CD,也可以在kickstart文件中通过FTP,HTTP或NFS在网络启动文件中设置网络位置,该文​​件可以是本地或Internet镜像。您的kickstart文件也可以在网络上,因此您可以刻录一张存根安装光盘以引导安装(或使用原始安装媒体),并使其使用尽可能多的不同配置。您甚至可以通过网络启动它,从而完全消除了可移动媒体。

网络选项或自定义旋转媒体使您无需使用“巨大的软件包存储库”,但是如果您决定添加某些内容,它将仍然存在。但是,如果你想要去整猪,你可以建立自己的仓库,樱桃采摘从上游RPMS,SRPMS定制根据自己的喜好,滚动你自己的,甚至是一个黑客make && make installtar -jxf到安装后脚本。

许多发行版具有相似的功能,即使其中的某些发行版未实现其全部功能集(例如Debian),它们中的一些也了解Kickstart文件。


感谢您提供启动指南的指针。我只是快速浏览了一下它的文档,所以我还不知道它是否可以满足我的需求,但是看起来确实很有趣。恭喜您,您明白我在寻找什么,-:)我还不会“接受”您的答案,因为我仍然想鼓励更多答案。我仍在寻找一种源自极简主义发行版而非主流发行版的构建器。后者也许也做对了,但我仍然对前者有更多的信心。再次感谢。
tarsius

1

好吧,如果您认为Gentoo的出现拉动了太多的依赖关系,则可以尝试Slackware。或其衍生物之一。开箱即用,Slackware不会尝试解决依赖关系。完全没有

您可能还想探索Lunar Linux或CRUX。


这并不是说我以前从未听说过这些分布,而是我过去已将它们排除在外。但是我会重新考虑。从新的外观看,他们似乎至少值得这样做。谢谢。
tarsius

1

我知道这有点迟了,但是您尝试使用http://susestudio.com/吗?您可以选择所有想要使它尽可能小的包装,而不会膨胀。您可以创建自己的存储库。您可以上传自己的软件包以在您的仓库中使用。您将需要几个小时才能以所需的方式获得它,但是它将为您省去buildroot的麻烦。


1

您是否也遇到过LFScript

Linux From Script(或“ LFScript”)是“ From Scratch自动化Linux”的非正式替代。LFScript包含从LFS和BLFS书籍生成的经过全面测试的脚本,您可以使用它们从头开始构建完整的Linux操作系统。

一些其他准系统Linux发行版(通过Wikipedia签出)包括:

  • Tiny Core Linux
  • Salix作业系统
  • SliTaz和Tiny SliTaz
  • 该死的小Linux
  • ...

0

Gentoo Linux使您可以完全构建所需的内容。从几乎一无所有到功能强大的台式机。它基本上是一个构建系统,还可以让您自定义构建时功能。


我已经使用Gentoo很多年了。我还使用了催化剂,Metro和最近使用的自己的构建脚本来在安装之前构建自己的自定义阶段。当我仍然安装了一些多媒体应用程序时,大约安装了700个软件包,现在除去这些软件包后,我的工作量减少到了约400个。而且,在删除了许多useflags带来了无用的依赖关系之后,并删除了一些有用的软件包,这些包对许多依赖关系都是有用的。不小。
tarsius

那么,您还期望对它有所帮助吗?;-)
Keith

1
我宁愿花时间安装仍然缺少的东西,而不是调查已经安装的东西只是为了知道我不需要它,但由于将其硬连接到发行版而无法删除它。
tarsius 2011年

0

实际上,有很多选择,这将进入主观领域。

我个人使用PLD-Linux,这使我可以用大约十二个命令构建有效的linux系统(格式化文件系统,安装,安装软件包集,配置引导加载程序,设置主机名等)。当涉及到软件包时,我可以选择一个需要的软件包,而我的系统仅带有该应用程序的依赖项。如果我需要apache,请安装它,系统只需要基本知识即可运行。如果我需要firefox,我会安装它并获得一组基本的X依赖项,基本上什么也没有。我有几个脚本可以将其自动化为仅一个或两个命令,以创建具有特定用途的有效虚拟系统。

其他一些Linux发行版(例如ArchLinux和Gentoo)专门致力于轻量级或根据您的需求量身定制。如果您需要其中之一的更具体的帮助...。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.