Qual è la più piccola distribuzione Linux in base alle dimensioni dell'installazione? [chiuso]


13

Sto cercando di eseguire alcuni esperimenti con Linux e cercare la più piccola distribuzione in base alle dimensioni dell'installazione. (RAM, CPU non importa davvero)


Vuoi prendere in considerazione solo distribuzioni avviabili già pronte, o è OK se devi compilare manualmente un kernel e scegliere il contenuto del filesystem?
Mark Plotnick,

4
Vuoi solo distribuzioni attuali? Quelli di 20 anni fa sono probabilmente più propensi a detenere il titolo di "più piccolo"?
Mark Plotnick,

1
@MarkPlotnick: va tutto bene purché funzioni sul mio hard disk / laptop. Se devo fare tutto manualmente, il tutorial è il requisito;) Se puoi darmi il link a una distro di 20 anni che è più piccola di 8 Mb (ttylinux), sono felice
Qohelet,

Quali sono i tuoi criteri per selezionare una distribuzione? Debian potrebbe essere relativamente piccolo, ma dipende interamente da quanta "roba" includi nell'installazione. Vuoi una GUI? Vuoi applicazioni per ufficio / produttività? Che dire di un server web o di un database?
roaima,

@roaima: come detto: la dimensione dell'installazione dovrebbe essere piccola. Davvero molto piccolo. La GUI sarebbe davvero bella, ma se fosse necessario l'avrei menzionato. (Come il resto)
Qohelet,

Risposte:


26

Aggiornamento: ttylinux non è mantenuto al momento! Se sei ancora interessato, inizia qui o qui .

A seconda della tua piattaforma, ttylinux è forse qualcosa per te:

Questo più piccolo sistema ttylinux ha un file system di 8 MB e funziona su computer i486 entro 28 MB di RAM, ma fornisce un ambiente completo da riga di comando ed è pronto per l'accesso a Internet.

Iniziato nel 2001 e l'ultima versione è del 05-03-2015, quindi è ancora mantenuto.


Presumo che abbiamo un vincitore. Grazie, non credo sia possibile scendere molto più in basso. Sono sorpreso, grazie per la risposta
Qohelet,

1
Il link indicato non è più valido. Questa distro è ancora disponibile ovunque? Questo si presenta come una possibilità, ma non l'ho testato. (Ancora.)
Londra,

5

La piccola distro che mi viene in mente è "Damn Small Linux", con una dimensione di 50 MB ( link , wiki )

Ma c'è anche una distribuzione più piccola "Tiny Core Linux" che è di circa 15 MB ( link , wiki )


1
DSL sembra fuori produzione.
Dubu,


4

buildroot

Se sei disposto a passare attraverso un processo di compilazione e ridurre le funzionalità, potresti provare buildroot . Ho creato un'installazione Linux di base (essenzialmente solo il kernel, le utility minime Busybox e un'applicazione aggiuntiva) che si adatta a un'immagine ISO da 6 MB.

La chiave qui è di ridurre la configurazione del kernel e di Busybox ("make linux-nconfig" e "make busybox-menuconfig") al minimo indispensabile, e quindi abilitare la compressione XZ sul ramdisk del kernel iniziale. Ridurre tutto ciò di cui non avevo bisogno mi ha permesso di ridurre l'intera immagine ISO fino a circa 9 MB e dopo aver abilitato la compressione XZ fino a 6 MB.

Per il kernel, ho appena controllato ciascuna opzione nel menu di configurazione e l'ho disabilitata a meno che non ne avessi specificamente bisogno. È possibile disabilitare tutti i driver di rete per i quali non si dispone di una scheda di rete corrispondente, disabilitare altro hardware meno comune che non si prevede di utilizzare (schede seriali multi-porta, joystick, dispositivi multifunzione ...) e così su. Puoi anche lasciare molti sottosistemi sulle implementazioni di base piuttosto che su quelle più sofisticate (ad esempio gli stati di inattività della CPU ACPI di base piuttosto che gli stati di inattività della CPU Intel / AMD), il che potrebbe significare che comprometterai l'efficienza energetica e il supporto hardware completo per le dimensioni del kernel. È inoltre possibile disabilitare interi sottosistemi come l'ibernazione / il supporto del sonno e il sistema audio se non è necessario utilizzarli.

In questo modo potresti risparmiare molto spazio. Ad esempio, i moduli di supporto KVM (virtualizzazione) e btrfs (che ho deciso di mettere fuori dal kernel come moduli caricabili nel caso ne avessi bisogno in futuro) occupano da soli 1,1 MB. Eliminando quei file del modulo si potrebbe arrivare a circa 4,9 MB. Potrebbe essere che occupino meno spazio integrato nel file binario del kernel, ma poi ho visto che altri moduli più piccoli hanno dimensioni di 20-100 kilobyte, quindi il tuo chilometraggio può variare.

busybox

Busybox è un singolo binario che si comporta come binari diversi a seconda di come viene chiamato dalla riga di comando, che consente di risparmiare spazio. È incluso in Buildroot per impostazione predefinita. Può comportarsi come ls, df, dd, cat, nc, bash e molti altri. Sembra un buon sostituto per quasi l'intera area utente * nix, a meno che tu non abbia bisogno di alcune estensioni di utilità specifiche che puoi trovare solo nelle versioni più complete / tradizionali (ad esempio GNU, BSD) di queste utility. Busybox è simile al kernel in termini di disabilitazione delle funzionalità: disabilita tutto tranne i binari (applet AKA) necessari e le dimensioni verranno ridotte. Il binario Busybox compilato dinamicamente occupa 512 kilobyte in Buildroot e circa 2,1 MB su Ubuntu 14.10. La versione più grande di Ubuntu supporta molto più della mia versione Buildroot, ed è "

Metodi estremi per ridurre le dimensioni del sistema

Puoi provare alcune delle cose seguenti per ridurne ulteriormente le dimensioni, ma esegui spesso backup della directory di lavoro poiché potresti interrompere l'installazione Buildroot su cui stai lavorando e potrebbe essere necessario ricostruire alcuni dei file binari.

  • Comprimi tutti gli eseguibili (incluso il kernel) con il compressore UPX. Poiché UPX è progettato specificamente per eseguire la compressione eseguibile, ciò rende gli eseguibili risultanti molto più piccoli. Ma assicurati di testare tutti gli eseguibili in seguito e che funzionino correttamente.

  • Usa una libc diversa. Sto usando uClibc, ma ho sentito che musl e dietlib sono molto più piccoli e producono eseguibili più piccoli. Questa volta ho avuto dei problemi con il musl, ma potrebbe funzionare meglio.

  • Sostituisci alcune o tutte le utility di userland con asmutils . Queste utility implementano alcune delle comuni * nix utility in Assembly puro (anziché in C o altri linguaggi), che teoricamente consente un codice molto più compatto. Alcuni funzionano bene, ma alcuni possono essere utilizzati solo in modi molto basilari (ad es. "Mount" accetta parametri solo in una sequenza specifica e non sono implementate opzioni di mount specifiche per FS). D'altra parte, sono molto piccoli (la maggior parte sono compilati meno di 1 KB, quelli piccoli circa 139 byte circa). Puoi scegliere quelli che vuoi usare, quindi puoi usare questi rimpiazzi solo per i comandi su cui vuoi risparmiare spazio e mantenere versioni più ricche di funzionalità come applet Busybox.


3

Tomsrtbt è un paio di megabyte; si adatta a un floppy.


È stata una grande distribuzione 13 anni fa. Almeno questo è il più recente disponibile su iBiblio. O conosci versioni più recenti?
arte

Non so niente di più recente.
Mark Plotnick,

Ci ho provato ... Difficile trovarne una versione. Molti di loro sono in archivi morti. Uno funziona ( ibiblio.org/pub/Linux/system/recovery ) Ma i test che stavo eseguendo non hanno avuto successo. Un vero peccato, 2,9 Mb sono fantastici
Qohelet,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.