按安装大小,最小的Linux发行版是多少?[关闭]


13

我正在尝试在Linux上进行一些实验,以按安装大小寻找最小的发行版。(RAM,CPU并不重要)


您是否只考虑现成的可引导发行版,还是必须手动编译内核并选择文件系统的内容吗?
Mark Plotnick

4
您是否只需要当前发行版?20年前的那些可能更可能拥有“最小”的头衔?
Mark Plotnick

1
@MarkPlotnick:只要在我的硬盘/笔记本电脑上运行,一切都很好。如果需要手动完成所有操作,则需要本教程;)如果您可以给我链接到一个20岁的发行版,其发行版小于8Mb(ttylinux),我很高兴
Qohelet 2015年

您选择分销的标准是什么?Debian可能相对较小,但是它完全取决于您在安装中包含多少“填充”。您是否需要GUI?您要办公室/生产力应用程序吗?网络服务器或数据库呢?
roaima 2015年

@roaima:如前所述:安装大小应该很小。真的很小。GUI确实会很好,但是如果有必要,我会提到它。(其他)
Qohelet,2015年

Answers:


25

更新:ttylinux目前尚未维护!如果您仍然有兴趣,请从此处此处开始。

根据您的平台,ttylinux可能适合您:

这个最小的ttylinux系统具有8 MB的文件系统,可在28 MB RAM内的i486计算机上运行,​​但提供了完整的命令行环境并可以访问Internet。

2001年开始,最新版本从2015-03-05开始,因此仍保持不变。


我认为我们有赢家。谢谢,我认为不可能有比这更低的价格了。我很惊讶,谢谢您的回答
Qohelet 2015年

1
给定的链接不再有效。该发行版仍然可以在任何地方使用吗?似乎是一种可能性,但我尚未对其进行测试。(
至今

5

我想到的一个小型发行版是“ Damn Small Linux”,大小为50 MB(链接Wiki

但是,还有一个甚至更小的发行版“ Tiny Core Linux”,大约15 MB(linkwiki


1
DSL看起来已停产。
2015年


4

Buildroot

如果您愿意进行编译并减少功能,则可以尝试使用buildroot。我创建了一个非常基本的Linux安装(基本上只是内核,最少的Busybox实用程序和一个额外的应用程序),它们适合6MB ISO映像。

此处的关键是将内核和Busybox配置(“ make linux-nconfig”和“ make busybox-menuconfig”)减少到所需的最低限度,然后在初始内核ramdisk上启用XZ压缩。减少所有不必要的操作后,我可以将整个ISO映像减小到大约9MB,而在启用XZ压缩后进一步减小到6MB。

对于内核,除非我特别需要,否则我只是选中了配置菜单中的每个选项并将其禁用。您可以禁用所有没有相应网络适配器的网络驱动程序,禁用其他您不希望使用的不太常见的硬件(多端口串行卡,操纵杆,多功能设备...)等等。上。您还可以将许多子系统保留在基本实现上,而不是在更复杂的子系统上保留(例如,基本ACPI CPU空闲状态而不是Intel / AMD CPU空闲状态),这可能意味着您将在功率效率和对内核大小的完整硬件支持之间进行权衡。如果您不需要使用整个子系统,例如休眠/睡眠支持和声音系统,则可以禁用它们。

这样可以节省很多空间。例如,KVM(虚拟化)和btrfs支持模块(我决定将其作为可加载模块放置在内核之外,以防将来将来需要它们使用)自身占用1.1 MB。通过删除这些模块文件,您可以减少到大约4.9MB。可能是因为它们占用了集成到内核二进制文件中的空间较少,但是后来我看到其他较小的模块的大小为20-100 KB,因此您的里程可能会有所不同。

忙箱

Busybox是一个二进制文件,其行为类似于不同的二进制文件,具体取决于从命令行调用它的方式,从而可以节省空间。默认情况下,它包含在Buildroot中。它可以表现为ls,df,dd,cat,nc,bash等。除非您需要一些特定的实用程序扩展,而这些扩展只能在这些实用程序的更全功能/传统(例如GNU,BSD)版本中找到,否则它似乎可以很好地替代几乎整个* nix用户领域。在禁用功能方面,Busybox与内核类似-禁用除所需二进制文件(AKA小程序)之外的所有内容,并且大小会减小。动态编译的Busybox二进制文件在Buildroot中需要512 KB,在Ubuntu 14.10上则需要2.1 MB。较大的Ubuntu版本比我的Buildroot版本支持更多的功能,

减小系统尺寸的极端方法

您可以尝试以下一些措施来进一步减小大小,但是经常备份工作目录,因为您可能会破坏正在处理的Buildroot安装,并且可能必须重建一些二进制文件。

  • 使用UPX压缩器压缩所有可执行文件(包括内核)。由于UPX专为执行可执行文件压缩而设计,因此这使得生成的可执行文件要小得多。但是请确保您随后测试了所有可执行文件,并且它们可以正常工作。

  • 使用其他libc。我正在使用uClibc,但听说musl和Dietlib较小,并且产生的可执行文件较小。这次,我在使用musl时遇到了一些构建问题,但可能会更好。

  • asmutils替换一些或所有userland实用程序。这些实用程序以纯汇编语言(而不是C或其他语言)实现一些常用的* nix实用程序,从理论上讲,它们可以使代码更紧凑。它们中的一些可以很好地工作,但是某些只能以非常基本的方式使用(例如,“ mount”仅采用特定顺序的参数,并且未实现FS特定的安装选项)。另一方面,它们非常小(大多数小于1KB,小于139个字节左右)。您可以选择要使用的命令,因此只能将这些替换项用于要节省空间并保留更多功能丰富的版本作为Busybox applet的命令。


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.