我越来越不满意配置我的linux桌面通常意味着消除臃肿而不是添加和调整功能。我得出的结论是,我宁愿从一些非常小的东西开始,然后添加我了解到的提供附加功能的包。
我也是寻找一个非常小的桌面发行版或者更好的工具来构建这样的发行版。或者换句话说我想要使用预运行构建工具替换包管理器。
包管理器不会有什么坏处,但我正在寻找一个专注于高级预先配置而不是庞大的包存储库的发行版
我看过各种最小的桌面发行版,但它们似乎都解决了不同的问题,例如设计为在较旧的硬件上运行或从 cd/stick/ramfs 运行。但我不想要最小的分布,因为我有旧的硬件,但因为我想知道各个部分的用途。从主内存运行也无济于事,我想要一些最小的东西和简单的。
由于似乎没有专为我心目中的极简主义而设计的发行版,因此一个明显的选择是构建Linux 从头开始。然而,虽然我希望构建过程是高度定制的,但它也必须是自动化的,因为我必须运行它很多次,直到我拥有一个令我满意的系统。
虽然 lfs 的工具可以自动化构建过程,但它并不是真正不可或缺的一部分。基本上,它从文档中提取构建系统所需的步骤,然后自动执行。我正在寻找更强大和更先进的东西,而且不想编辑 xml。
经过一番搜索后我发现构建根其目的是建立嵌入式发行版还允许安装 X11。在构建工具链和 rootfs 之前,可以make menuconfig
像 Linux 一样配置构建。这看起来与我的想法完全一样,只是它是用于嵌入式系统的交叉编译。
我目前想到的是使用 buildroot,但首先删除所有嵌入的特定部分,用 lfs 中的相应部分替换它们。很多工作。
此外,最重要的是,buildroot 还存在一些问题(从我的限制测试中可以看出),仅仅启用一个额外的包就会导致从头开始重建漏洞,但对于琐碎的更改,我想避免这种情况。
在我投入时间之前,我将继续寻找具有以下功能的桌面发行版:预安装像 buildroot 这样的构建工具是用于构建桌面发行版的 buildroot 的替代品。
编辑:到目前为止的答案让我想到了像 Gentoo 这样的发行版,这是我目前正在使用的。但我是寻找替代方案Gentoo、Arch、Debian 等发行版,因为这些发行版还不够小。安装后还必须自定义这些发行版。我想要一些可以在安装前定制的东西。
虽然所有提到的发行版都是精细发行版,但它们并不是我想要的。我正在寻找的是“桌面版的buildroot”。如果您不知道 buildroot 是什么,那么您可能无法提供令我满意的答案。
而且我不认为这个问题是主观的。我根本找不到任何接近我的需求的东西,因此请您为我指出至少可以提供我所需要的部分内容的项目。
答案1
你可以使用类似的东西启动,这是 Fedora、CentOS、RHEL 和派生发行版的安装程序的一项功能anaconda
,可让您根据自己的喜好完全自定义安装。您可以选择要安装的软件包、分区布局、网络配置、软件包存储库、root 密码等等。您还可以创建安装前和安装后脚本来执行您可能想要的任何其他操作。您可以全自动运行安装,或者选择您希望提示的内容。所有设置均在一个简单(非 XML)文本文件中定义,您可以手动或使用图形system-config-kickstart
工具创建该文件。
一旦你把这些放在一起,你就可以根据需要制作你自己的定制CD,或者在你的kickstart 文件中设置一个网络位置,它可以是本地或互联网镜像,通过FTP、HTTP 或NFS。您的 kickstart 文件也可以位于网络上,因此您只需刻录一张存根安装光盘即可引导安装(或使用普通安装介质),并让它使用您可以忍受的多种不同配置。您甚至可以通过网络启动它,从而完全消除可移动介质。
网络选项或自定义旋转媒体使您不再需要“巨大的包存储库”,但如果您决定要添加某些内容,它仍然会在那里。但是,如果你想全力以赴,你可以构建您自己的存储库,从上游挑选 RPMS,根据您的喜好定制 SRPMS,滚动你自己的,甚至侵入make && make install
或tar -jxf
进入安装后脚本。
许多发行版都有类似的功能,其中一些发行版也可以理解 Kickstart 文件,即使它们没有实现整个功能集(例如 Debian)。
答案2
好吧,如果您认为 Gentoo 的emerge 带来了太多依赖项,您可以尝试Slackware。或其衍生物之一。 Slackware 开箱即用,不会尝试解决依赖关系。完全没有。
您可能还想探索 Lunar Linux 或 CRUX。
答案3
我知道回复有点晚了,但是您尝试过使用http://susestudio.com/?您可以选择所有您喜欢的软件包,使其尽可能小而不会臃肿。您可以创建自己的存储库。您可以上传自己的包以在您的存储库中使用。你需要几个小时才能按照你想要的方式得到它,但它会帮你省去 buildroot 的麻烦。
答案4
Gentoo Linux让您完全构建您想要的内容。从几乎什么都没有到一个完整的桌面。它基本上是一个构建系统,还允许您自定义构建时功能。