Come rimuovere un sistema Linux?


24

Ho creato una distro Linux e ho eliminato i binari, ecc. Il sistema non utilizzerà GCC o strumenti di sviluppo, poiché sarà un chiosco Chrome, quindi sarebbe di grande aiuto se potessi ridurre il sistema ...

Mi chiedevo, c'è un modo per eliminare tutti i file di sistema inutilizzati (come i binari, ecc.) Guardando quali file / librerie vengono utilizzati durante il runtime? Forse è preferito un altro metodo, ma c'è un modo per realizzare qualcosa del genere?


3
In effetti, questa volta sei nel posto giusto :)
phunehehe,

2
Ora, potrei chiedere, perché esiste un sito Stack Exchange separato basato su Ubuntu? Penso che dovrebbero fondersi con questo sito, perché AFAICT, Ubuntu dovrebbe essere considerato Linux / Unix, ma non sono troppo sicuro;) In caso contrario, preparati per GentooOverflow e FedoraOverflow!
Blender il

3
@Blender: questa unione è stata considerata e respinta. Cerca nella cronologia dei due siti.
Gilles 'SO- smetti di essere malvagio' il

3
Ho scoperto che il sito di Ubuntu è molto più sui programmi di GNOME e sui contenuti dell'interfaccia utente. Qui la tua risposta sarà quasi sicuramente un comando terminale.
Falmarri,

2
La mia comprensione è che AskUbuntu sta per Unix e Linux come Unix e Linux è per SuperUser: se si tratta di una domanda specifica per Ubuntu, va ad AU; se è altrimenti n x-ish, va qui; altrimenti passa a SU o a ServerFault.
intuito il

Risposte:


11

Esistono programmi come Bootchart che possono essere utilizzati per mostrare quali programmi sono stati eseguiti durante l'avvio: probabilmente è possibile continuare dopo l'avvio per vedere cosa è stato invocato durante una sessione.

Una soluzione migliore potrebbe essere quella di utilizzare strumenti di rimasterizzazione.

Esistono strumenti di rimasterizzazione per Fedora , Ubuntu e altri; puoi usarli per personalizzare una distribuzione.

Potresti voler guardare Tiny Core Linux . C'è anche un ragazzo che sta lavorando a uno script remaster .


Quando torno a casa, proverò sicuramente Bootchart. Ho mentito, anche se, come il sistema appena finito di compilare la notte scorsa, quindi dovrò davvero farlo funzionare nei prossimi giorni. Ho trovato TinyX (che è quello che stavo cercando, dato che non riesco a capire quali moduli XOrg ho davvero bisogno), ma il sito Web non funzionava ... Oh bene, ma grazie mille!
Blender il

Bootchart lo è! L'ho compilato, eseguito, e mi ha dato risultati estremamente dettagliati e utili. Io non ho intenzione di togliere il sistema appena ancora, come ho intenzione di implementare un source-based gestore di pacchetti (Gentoo?), Ma sarò sicuramente in questo. Grazie!
Blender,

6

Tra le altre cose, vuoi rimuovere tutto ciò che non ti serve. Assicurati che il filesystem sia atimecompletamente abilitato; puoi impostare questo /etc/fstab. L'impostazione predefinita corrente è relatimema si desidera utilizzare solo atime. Ogni volta che si accede a un file, il timestamp verrà aggiornato. Quindi fai un po 'di utilizzo per alcuni giorni per vedere quali file non hanno mai avuto il loro tempo di aggiornamento aggiornato. Vorrei fare tutto questo in una VM, e con molta attenzione, perché immagino ci siano alcuni file che vengono letti quando il sistema è in modalità di sola lettura. Nota: impostalo su noatimequando sei pronto per la produzione, altrimenti scriverai ogni volta che leggi; questo è inefficiente.

Per essere onesto, darei un'occhiata a Damn Small Linux ; hai davvero bisogno di essere più piccolo di così? Costruisci i tuoi in base alla loro distribuzione e rimuovi semplicemente il gestore delle finestre e alcuni programmi extra. Lascia tutti gli strumenti da riga di comando, in questo modo se hai bisogno di riparare o ricaricare hai la shell.


Grazie! Sto provando a farlo da solo, dato che non ho mai avuto un sistema LFS completamente utilizzabile, ma ho già giocato con DLS. In realtà sto cercando di creare un clone di ChromeOS che non è stato creato con SuSEStudio (quello di chromium.org), ed è un po 'più piccolo di 600 MB;) Il mio obiettivo è> 50 MB, poiché DSL include un sacco di altri software, ma sto solo installando OpenBox, Chrome e un Thunar personalizzato (e alcune altre chicche, ovviamente). Grazie!
Blender il

5

supponendo che tu stia usando Debian o suoi derivati

Dopo alcuni giorni di utilizzo (pesante), eseguire popularity-contest. In fondo verranno visualizzati i pacchetti più vecchi non utilizzati. Disinstallare quelli, ma con un occhio vigile se ci sono o meno cose a seconda che siano installate.

Ecco uno snippet dell'output:

1294222606 1292570417 vlc /usr/lib/vlc/plugins/gui/libqt4_plugin.so
1294222606 1292570109 xulrunner-1.9.2 /usr/share/xulrunner-1.9.2/chrome/classic.jar
1294222606 1292507839 ttf-dejavu-extra /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
1294222606 1292507459 x11-utils /usr/bin/xprop

Le colonne indicano atime , ctime , nome del pacchetto e file a cui si accede .


1

Usa attivamente il tuo sistema per un po 'con i tempi di accesso ai file abilitati. Scopri quali file non hanno mai modificato il loro tempo di accesso. Questi sono candidati per l'eliminazione (ma assicurati che non vi sia motivo di conservarli, ad esempio perché sono driver hardware per l'hardware che non hai o sono necessari all'inizio del processo di avvio quando la partizione root è ancora montato in sola lettura).

Dato che avrai poche applicazioni di grandi dimensioni, controlla quali librerie sono utilizzate da un singolo eseguibile. Valuta di collegarli staticamente.

ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$/\1/p' |sort |uniq -c

0

Da dove inizi esattamente? Stai togliendo una distribuzione esistente? C'è un motivo per cui devi iniziare con una distro?

Potresti prendere in considerazione la creazione di un sistema incorporato da zero e caricare solo ciò che sai di aver bisogno.


Sto realizzando un'installazione LFS + Xorg, Python e Google Chrome. Nulla di bello.
Blender l'

Ha usato GCC, Python, ecc. Per costruire, ma ora sono obsoleti per i miei scopi.
Blender
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.