Какой самый маленький дистрибутив Linux по размеру установки? [закрыто]

13

Я пытаюсь провести несколько экспериментов с Linux и найти самый маленький дистрибутив по размеру установки. (RAM, CPU на самом деле не имеет значения)

Qohelet
источник
Вы хотите рассмотреть только готовые загрузочные дистрибутивы, или это нормально, если вам нужно вручную скомпилировать ядро ​​и выбрать содержимое файловой системы?
Марк Плотник
4
Вы хотите только текущие дистрибутивы? Те, которые были 20 лет назад, вероятно, вероятно, имеют звание «самых маленьких»?
Марк Плотник
1
@MarkPlotnick: Все хорошо, пока он работает на моем жестком диске / ноутбуке. Если мне придется делать все вручную, учебник является обязательным требованием;) Если вы можете дать мне ссылку на 20-летний дистрибутив, размер которого меньше 8 МБ (ttylinux), я счастлив
Qohelet
Каковы ваши критерии выбора рассылки? Debian может быть относительно небольшим, но он полностью зависит от того, сколько «вещей» вы включаете в установку. Вы хотите графический интерфейс? Вы хотите офис / производительность приложений? Как насчет веб-сервера или базы данных?
roaima
@roaima: Как сказано: размер установки должен быть небольшим. Действительно очень маленький. GUI был бы действительно хорош, но если бы это было необходимо, я бы упомянул об этом. (Как и остальные)
Кохелет

Ответы:

26

Обновление: ttylinux на данный момент не поддерживается! Если вы все еще заинтересованы, начните здесь или здесь .

В зависимости от вашей платформы, ttylinux может быть чем-то для вас:

Эта наименьшая система ttylinux имеет файловую систему 8 МБ и работает на компьютерах i486 в пределах 28 МБ ОЗУ, но предоставляет полную среду командной строки и готова к доступу в Интернет.

Начиная с 2001 года, последняя версия выпущена в 2015-03-05, поэтому она все еще поддерживается.

FloHimself
источник
Я предполагаю, что у нас есть победитель. Спасибо, я не думаю, что можно пойти намного ниже этого. Я удивлен, спасибо за ответ
Кохелет
1
Данная ссылка больше не действительна. Этот дистрибутив еще где-нибудь доступен? Это выглядит как возможность, но я не проверял это. (Пока.)
LondonRob
5

Небольшой дистрибутив, который приходит на ум, - «Черт, маленький Linux», размером 50 МБ ( ссылка , вики )

Но есть еще меньший дистрибутив "Tiny Core Linux", который составляет около 15 МБ ( ссылка , вики ).

кирилл-а
источник
1
DSL выглядит прекращенным.
Дабу
4

OpenWrt также является одним из самых маленьких.

Бора М. Альпер
источник
4

Buildroot

Если вы хотите пройти процесс компиляции и сократить возможности, вы можете попробовать buildroot . Я создал очень простую установку Linux (по сути, только ядро, минимальные утилиты Busybox и одно дополнительное приложение), которые вписываются в образ ISO размером 6 МБ.

Ключевым моментом здесь является сокращение конфигурации ядра и Busybox («make linux-nconfig» и «make busybox-menuconfig») до необходимого минимума, а затем включение сжатия XZ на начальном виртуальном диске ядра. Сокращение всего, в чем я не нуждался, позволило мне уменьшить весь ISO-образ примерно до 9 МБ, а после включения сжатия XZ - до 6 МБ.

Что касается ядра, я просто проверил каждую опцию в меню конфигурации и отключил ее, если она мне конкретно не нужна. Вы можете отключить все сетевые драйверы, для которых у вас нет соответствующего сетевого адаптера, отключить другое, менее распространенное оборудование, которое вы не планируете использовать (многопортовые последовательные карты, джойстики, многофункциональные устройства ...) и т. Д. на. Вы также можете оставить многие подсистемы в базовых реализациях, а не в более сложных (например, базовые состояния простоя ЦП ACPI, а не состояния простоя ЦП Intel / AMD), что может означать, что вы будете экономить на энергопотреблении и полной аппаратной поддержке размера ядра. Вы также можете отключить целые подсистемы, такие как гибернация / поддержка сна и звуковая система, если вам не нужно их использовать.

Вы можете сэкономить много места, делая это. Например, модули поддержки KVM (виртуализация) и btrfs (которые я решил разместить вне ядра в качестве загружаемых модулей на тот случай, если они понадобятся мне в будущем) сами по себе занимают 1,1 МБ. Удалив эти файлы модулей, вы можете получить около 4,9 МБ. Возможно, они занимают меньше места, встроенного в двоичный файл ядра, но потом я увидел, что другие, более мелкие модули имеют размер 20-100 килобайт, поэтому ваш пробег может варьироваться.

Busybox

Busybox - это отдельный двоичный файл, который ведет себя как разные двоичные файлы в зависимости от того, как он вызывается из командной строки, что позволяет сэкономить место. Он включен в Buildroot по умолчанию. Он может вести себя как ls, df, dd, cat, nc, bash и многие другие. Это похоже на хорошую замену почти всей пользовательской среды * nix, если только вам не нужны какие-то особые расширения утилит, которые вы можете найти только в более полнофункциональных / традиционных (например, GNU, BSD) версиях этих утилит. Busybox аналогичен ядру с точки зрения отключения функций - отключите все, кроме бинарных файлов (AKA-апплетов), которые вам нужны, и размер будет уменьшен. Динамически скомпилированный двоичный файл Busybox занимает 512 килобайт в Buildroot и около 2,1 МБ в Ubuntu 14.10. Большая версия Ubuntu поддерживает намного больше, чем моя версия Buildroot, и

Экстремальные методы уменьшения размера системы

Вы можете попробовать кое-что из нижеприведенного, чтобы еще больше уменьшить размер, но часто делайте резервные копии рабочего каталога, так как вы можете нарушить установку Buildroot, над которой вы работаете, и, возможно, придется пересобрать некоторые из двоичных файлов.

  • Сжатие всех исполняемых файлов (включая ядро) с помощью компрессора UPX. Поскольку UPX специально разработан для выполнения исполняемого сжатия, это делает получаемые исполняемые файлы намного меньше. Но, пожалуйста, убедитесь, что вы тестируете все исполняемые файлы впоследствии и что они работают правильно.

  • Используйте другой libc. Я использую uClibc, но я слышал, что musl и dietlib намного меньше и производят меньшие исполняемые файлы. На этот раз у меня были проблемы со сборкой, но это может работать лучше.

  • Замените некоторые или все пользовательские утилиты asmutils . Эти утилиты реализуют некоторые обычные * nix утилиты на чистом ассемблере (а не на языке Си или других языках), что теоретически допускает гораздо более компактный код. Некоторые из них работают хорошо, но некоторые могут использоваться только очень простыми способами (например, «mount» принимает параметры только в определенной последовательности, и никакие опции монтирования для FS не реализованы). С другой стороны, они очень маленькие (большинство скомпилировано менее 1 КБ, а маленькие - около 139 байт или около того). Вы можете выбрать, какие из них вы хотите использовать, поэтому вы можете использовать эти замены только для тех команд, на которых вы хотите сэкономить место и оставить больше многофункциональных версий в качестве апплетов Busybox.

Pabru
источник
3

Tomsrtbt - это пара мегабайт; он помещается на дискету.

Марк Плотник
источник
Это было отличное распространение 13 лет назад. По крайней мере, это самое свежее из доступных на iBiblio. Или вы знаете о более свежих версиях?
manatwork
Я не знаю ничего более недавнего.
Марк Плотник
Попробовал ... Сложно найти версию. Большинство из них находятся в мертвых архивах. Один из них работает ( ibiblio.org/pub/Linux/system/recovery ), но тесты, которые я выполнял, не были успешными. Жаль, 2,9Mb потрясающие
Qohelet