Jaka jest najmniejsza dystrybucja Linuksa pod względem wielkości instalacji? [Zamknięte]


13

Próbuję przeprowadzić eksperymenty z Linuksem i znaleźć najmniejszą dystrybucję według rozmiaru instalacji. (RAM, procesor tak naprawdę nie ma znaczenia)


Czy chcesz wziąć pod uwagę tylko gotowe dystrybucje rozruchowe, czy też jest OK, jeśli musisz ręcznie skompilować jądro i wybrać zawartość systemu plików?
Mark Plotnick

4
Czy chcesz tylko bieżące dystrybucje? Te z 20 lat temu prawdopodobnie są bardziej skłonne do posiadania tytułu „najmniejszego”?
Mark Plotnick

1
@MarkPlotnick: Wszystko jest w porządku, o ile działa na moim dysku twardym / laptopie. Jeśli muszę zrobić wszystko ręcznie, samouczek jest wymagany;) Jeśli możesz podać mi link do 20-letniej dystrybucji, która jest mniejsza niż 8 Mb (ttylinux), cieszę się
Qohelet

Jakie są twoje kryteria wyboru dystrybucji? Debian może być stosunkowo mały, ale zależy to całkowicie od tego, ile „rzeczy” zawierasz w instalacji. Chcesz GUI? Chcesz aplikacji biurowych / biurowych? Co z serwerem WWW lub bazą danych?
roaima

@roaima: Jak powiedziano: Rozmiar instalacji powinien być mały. Naprawdę bardzo mały. GUI byłoby naprawdę miłe, ale gdybym to konieczne, wspominałbym o tym. (Reszta)
Qohelet

Odpowiedzi:


25

Aktualizacja: ttylinux jest obecnie nieobsługiwany! Jeśli nadal jesteś zainteresowany, zacznij tutaj lub tutaj .

W zależności od platformy ttylinux może być dla Ciebie czymś:

Ten najmniejszy system ttylinux ma system plików 8 MB i działa na komputerach i486 w obrębie 28 MB pamięci RAM, ale zapewnia kompletne środowisko wiersza poleceń i jest gotowy do dostępu do Internetu.

Rozpoczęty w 2001 r., A najnowsze wydanie z 2015-03-05, więc nadal jest utrzymywane.


Zakładam, że mamy zwycięzcę. Dziękuję, nie sądzę, że można zejść znacznie niżej. Jestem zaskoczony, dziękuję za odpowiedź
Qohelet

1
Podany link nie jest już ważny. Czy ta dystrybucja jest nadal dostępna w dowolnym miejscu? To wygląda na możliwość, ale jej nie przetestowałem. (Jeszcze.)
LondonRob

5

Mała dystrybucja, która przychodzi mi na myśl, to „Damn Small Linux” o wielkości 50 MB ( link , wiki )

Ale jest też jeszcze mniejsza dystrybucja „Tiny Core Linux”, która ma około 15 MB ( link , wiki )


1
Wygląda na to, że DSL przestało działać.
Dubu


4

Konstruktor

Jeśli chcesz przejść proces kompilacji i ograniczyć funkcje, możesz spróbować buildroot . Stworzyłem bardzo podstawową instalację Linuksa (zasadniczo tylko jądro, minimalne narzędzia Busybox i jedną dodatkową aplikację), które pasują do obrazu ISO 6 MB.

Kluczem tutaj jest zmniejszenie konfiguracji jądra i Busyboksa („make linux-nconfig” i „make busybox-menuconfig”) do niezbędnego minimum, a następnie włączenie kompresji XZ na początkowym ramdysku jądra. Zmniejszenie wszystkiego, czego nie potrzebowałem, pozwoliło mi zmniejszyć cały obraz ISO do około 9 MB, a po włączeniu kompresji XZ do 6 MB.

W przypadku jądra po prostu sprawdziłem każdą opcję w menu konfiguracji i wyłączyłem ją, chyba że jej potrzebowałem. Możesz wyłączyć wszystkie sterowniki sieciowe, dla których nie masz odpowiedniej karty sieciowej, wyłączyć inny, mniej powszechny sprzęt, którego nie planujesz używać (karty szeregowe z wieloma portami, joysticki, urządzenia wielofunkcyjne ...) i tak dalej na. Możesz także pozostawić wiele podsystemów na podstawowych implementacjach zamiast bardziej zaawansowanych (np. Podstawowe stany bezczynności procesora ACPI zamiast stanów bezczynności procesora Intel / AMD), co może oznaczać, że zmniejszysz wydajność energetyczną i pełne wsparcie sprzętowe dla wielkości jądra. Możesz także wyłączyć całe podsystemy, takie jak hibernacja / obsługa snu i system dźwiękowy, jeśli nie musisz ich używać.

Dzięki temu możesz zaoszczędzić dużo miejsca. Na przykład moduły obsługujące KVM (wirtualizacja) i btrfs (które postanowiłem umieścić poza jądrem jako moduły ładowalne na wypadek, gdyby były potrzebne w przyszłości) same zajmują 1,1 MB. Usuwając te pliki modułów, możesz dostać się do około 4,9 MB. Możliwe, że zajmują mniej miejsca zintegrowanego z plikiem binarnym jądra, ale zauważyłem, że inne, mniejsze moduły mają rozmiar 20-100 kilobajtów, więc przebieg może się różnić.

Busybox

Busybox to pojedynczy plik binarny, który zachowuje się jak różne pliki binarne w zależności od tego, jak jest wywoływany z wiersza poleceń, co pozwala zaoszczędzić miejsce. Domyślnie jest on zawarty w Buildroot. Może zachowywać się jak ls, df, dd, cat, nc, bash i wiele innych. Wygląda to na dobry zamiennik dla prawie całej przestrzeni użytkownika * nix, chyba że potrzebujesz konkretnych rozszerzeń narzędzi, które można znaleźć tylko w bardziej funkcjonalnych / tradycyjnych wersjach (np. GNU, BSD) tych narzędzi. Busybox jest podobny do jądra pod względem wyłączania funkcji - wyłącz wszystko oprócz potrzebnych plików binarnych (apletów AKA), a rozmiar zostanie zmniejszony. Dynamicznie kompilowana wersja binarna Busybox zajmuje 512 kilobajtów w Buildroot i około 2,1 MB w Ubuntu 14.10. Większa wersja Ubuntu obsługuje o wiele więcej niż moja wersja Buildroot i „

Ekstremalne metody zmniejszania rozmiaru systemu

Możesz wypróbować niektóre z poniższych rzeczy, aby jeszcze bardziej zmniejszyć rozmiar, ale często wykonuj kopie zapasowe katalogu roboczego, ponieważ możesz przerwać instalację Buildroot, nad którą pracujesz i być może będziesz musiał odbudować niektóre pliki binarne.

  • Kompresuj wszystkie pliki wykonywalne (w tym jądro) za pomocą kompresora UPX. Ponieważ UPX został zaprojektowany specjalnie do wykonywania kompresji wykonywalnej, powoduje to, że powstałe pliki wykonywalne są znacznie mniejsze. Ale upewnij się, że później przetestujesz wszystkie pliki wykonywalne i że działają one poprawnie.

  • Użyj innej biblioteki libc. Używam uClibc, ale słyszałem, że musl i dietlib są znacznie mniejsze i dają mniejsze pliki wykonywalne. Tym razem miałem problemy z budowaniem musla, ale może działać lepiej.

  • Zamień niektóre lub wszystkie narzędzia użytkowe na asmutils . Te narzędzia implementują niektóre typowe narzędzia * nix w czystym asemblerze (zamiast w C lub innych językach), co teoretycznie pozwala na znacznie bardziej kompaktowy kod. Niektóre z nich działają dobrze, ale niektórych można używać tylko w bardzo podstawowy sposób (np. „Mount” pobiera parametry tylko w określonej kolejności i nie są zaimplementowane żadne opcje montowania specyficzne dla FS). Z drugiej strony są bardzo małe (większość z nich jest skompilowana poniżej 1 KB, a małe około 139 bajtów). Możesz wybrać, z których chcesz korzystać, dzięki czemu możesz używać tych zamienników tylko dla poleceń, na których chcesz zaoszczędzić miejsce i zachować bardziej bogate w funkcje wersje jako aplety Busybox.


3

Tomsrtbt to kilka megabajtów; mieści się na dyskietce.


To była świetna dystrybucja 13 lat temu. Przynajmniej jest to najświeższy dostępny na iBiblio. A może wiesz o nowszych wersjach?
manatwork

Nie wiem nic nowego.
Mark Plotnick

Spróbuj ... Trudno znaleźć wersję. Większość z nich znajduje się w martwych archiwach. Jeden działa ( ibiblio.org/pub/Linux/system/recovery ) Ale testy, które przeprowadziłem, nie zakończyły się powodzeniem. Szkoda, 2,9 Mb są niesamowite
Qohelet
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.