Wie entferne ich ein Linux-System?

24

Ich habe eine Linux-Distribution erstellt und die Binärdateien usw. entfernt. Das System verwendet keine GCC- oder Entwicklungstools, da es sich um einen Chrome-Kiosk handelt. Daher wäre es sehr hilfreich, wenn ich das System entfernen könnte ...

Ich habe mich gefragt, ob es eine Möglichkeit gibt, alle nicht verwendeten Systemdateien (wie Binärdateien usw.) zu löschen, indem ich beobachte, welche Dateien / Bibliotheken zur Laufzeit verwendet werden. Vielleicht wird eine andere Methode bevorzugt, aber gibt es eine Möglichkeit, so etwas zu erreichen?

Mixer
quelle
3
In der Tat sind Sie diesmal an DER richtigen Stelle :)
phunehehe
2
Nun möchte ich fragen, warum es eine separate Ubuntu-basierte Stack Exchange-Site gibt. Ich denke , sie mit dieser Seite verschmelzen sollten, weil AFAICT, Ubuntu sollte Linux / Unix in Betracht gezogen werden, aber ich bin mir nicht sicher;) Wenn nicht, machen Sie sich bereit für GentooOverflow und FedoraOverflow!
Blender
3
@Blender: Diese Zusammenführung wurde berücksichtigt und abgelehnt. Suchen Sie in der Meta der beiden Sites nach der Historie.
Gilles 'SO- hör auf böse zu sein'
3
Ich habe festgestellt, dass die Ubuntu-Site viel mehr über Gnome-Programme und User-Interface-Sachen handelt. Hier wird Ihre Antwort mit ziemlicher Sicherheit ein Terminalbefehl sein.
Falmarri
2
Ich verstehe, dass AskUbuntu für Unix und Linux wie für Unix und Linux für SuperUser ist: Wenn es sich um eine Ubuntu-spezifische Frage handelt, geht sie an AU. wenn es sonst n x-ish ist, geht es hier; ansonsten geht es zu SU oder zu ServerFault.
Intuited

Antworten:

11

Es gibt Programme wie Bootchart , mit denen Sie anzeigen können, welche Programme Sie während des Startvorgangs ausgeführt haben. Sie können sie wahrscheinlich nach dem Start fortsetzen , um festzustellen , was während einer Sitzung aufgerufen wurde.

Eine bessere Lösung könnte darin bestehen, Remastering-Tools zu verwenden.

Es gibt Remastering-Tools für Fedora , Ubuntu und andere; Mit diesen können Sie eine Distribution anpassen.

Vielleicht möchten Sie sich Tiny Core Linux ansehen . Auch dafür arbeitet ein Typ an einem Remaster-Skript .

Shawn J. Goff
quelle
Wenn ich nach Hause komme, werde ich auf jeden Fall Bootchart ausprobieren. Ich habe jedoch gelogen, als das System erst letzte Nacht fertig kompiliert wurde, sodass ich es in den nächsten Tagen erst richtig zum Laufen bringen muss. Ich habe TinyX gefunden (wonach ich gesucht habe, da ich nicht herausfinden kann, welche XOrg-Module ich wirklich brauche), aber die Website war ausgefallen ... Na ja, aber vielen Dank!
Blender
Bootchart ist es! Ich habe es kompiliert, ausgeführt und es hat mir äußerst ausführliche und nützliche Ergebnisse gebracht. Ich werde das System noch nicht entfernen, da ich einen Source-basierten Paket-Manager (Gentoo?) Implementieren werde, aber ich werde dies definitiv verwenden. Vielen Dank!
Blender
6

Sie möchten unter anderem alles entfernen, was Sie nicht benötigen. Stellen Sie sicher, dass das Dateisystem atimevollständig aktiviert ist. Sie können dies einstellen /etc/fstab. Die aktuelle Voreinstellung ist relatimeaber du willst nur benutzen atime. Bei jedem Zugriff auf eine Datei wird der Zeitstempel aktualisiert. Verwenden Sie dann einige Tage lang, um festzustellen, welche Dateien noch nie aktualisiert wurden. All dies würde ich in einer VM und sehr vorsichtig tun, da ich mir vorstelle, dass einige Dateien gelesen werden, wenn sich das System im schreibgeschützten Modus befindet. Hinweis: Stellen Sie den noatimeWert auf " Sobald Sie für die Produktion bereit sind" ein. Andernfalls schreiben Sie jedes Mal, wenn Sie lesen. das ist ineffizient.

Um ehrlich zu sein, würde ich mir Damn Small Linux ansehen . Müssen Sie wirklich kleiner sein? Erstellen Sie Ihre basierend auf ihrer Distribution und entfernen Sie einfach den Fenstermanager und ein paar zusätzliche Programme. Lassen Sie alle Befehlszeilentools so, dass Sie die Shell haben, wenn Sie jemals reparieren oder neu laden müssen.

Xenoterracid
quelle
Vielen Dank! Ich versuche es selbst zu tun, da ich noch nie ein voll funktionsfähiges LFS-System zum Laufen gebracht habe, aber ich habe vorher mit DLS gespielt. Ich versuche gerade, einen ChromeOS-Klon zu erstellen, der nicht mit SuSEStudio erstellt wurde (der von chromium.org ist) und etwas kleiner als 600 MB ist. Mein Ziel ist> 50 MB, da DSL eine Menge anderer Software enthält. Aber ich installiere nur OpenBox, Chrome und ein spezielles Thunar (und natürlich einige andere Extras). Vielen Dank!
Blender
5

vorausgesetzt, Sie verwenden Debian oder dessen Derivate

Nach einigen Tagen (starker) Beanspruchung ausführen popularity-contest. Unten werden die ältesten nicht verwendeten Pakete angezeigt. Deinstallieren Sie diese, aber mit einem wachsamen Auge darauf, ob es etwas gibt, das von ihnen abhängt.

Hier ist ein Ausschnitt der Ausgabe:

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

Die Spalten stehen für Uhrzeit , Uhrzeit , Paketname und aufgerufene Datei .

Tshepang
quelle
1

Verwenden Sie Ihr System für eine Weile aktiv, wenn die Dateizugriffszeiten aktiviert sind. Sehen Sie, für welche Dateien die Zugriffszeit niemals geändert wurde. Dies sind Kandidaten zum Löschen (stellen Sie jedoch sicher, dass es keinen Grund gibt, sie beizubehalten, z. B. weil es sich um Hardwaretreiber für Hardware handelt, die Sie nicht haben, oder weil sie zu Beginn des Startvorgangs benötigt werden, wenn sich die Root-Partition noch befindet schreibgeschützt gemountet).

Da Sie nur wenige große Anwendungen haben, überprüfen Sie, welche Bibliotheken von einer einzelnen ausführbaren Datei verwendet werden. Erwägen Sie, sie statisch zu verknüpfen.

ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$/\1/p' |sort |uniq -c
Gilles 'SO - hör auf böse zu sein'
quelle
0

Wo genau fängst du an? Ziehen Sie eine vorhandene Distribution aus? Gibt es einen Grund, warum Sie mit einer Distribution beginnen müssen?

Vielleicht möchten Sie ein Embedded-System von Grund auf neu erstellen und nur das laden, von dem Sie wissen, dass Sie es benötigen.

Falmarri
quelle
Ich baue aus einer LFS-Installation + Xorg, Python und Google Chrome. Nichts Außergewöhnliches.
Blender
Es wurden GCC, Python usw. zum Erstellen verwendet, aber sie sind jetzt für meine Zwecke veraltet.
Blender