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?
Antworten:
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 .
quelle
Sie möchten unter anderem alles entfernen, was Sie nicht benötigen. Stellen Sie sicher, dass das Dateisystem
atime
vollständig aktiviert ist. Sie können dies einstellen/etc/fstab
. Die aktuelle Voreinstellung istrelatime
aber du willst nur benutzenatime
. 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 dennoatime
Wert 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.
quelle
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:
Die Spalten stehen für Uhrzeit , Uhrzeit , Paketname und aufgerufene Datei .
quelle
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.
quelle
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.
quelle