Kann ich alle Manpages deaktivieren?

Kann ich alle Manpages deaktivieren?

Kann ich insbesondere auf einem Raspberry Pi (mit Raspbian Wheezy), aber auch allgemein alle Manpages deaktivieren?

Dies würde bedeuten, dass keine Manpages gespeichert werden, keine „Verarbeitungstrigger für man-db“ und so weiter und so fort. Da die Manpages immer im Internet verfügbar sind, muss ich sie eigentlich nicht installieren und ihre Generierung und Speicherung erscheint mir unnötig.

Antwort1

Ich hatte das gegenteilige Problem mit einem Debian-8-Image, das jemand für ein Wandboard zusammengestellt hatte. Ich versuchte, die Handbuchseiten für einige Pakete zu finden, die bereits installiert waren, und bemerkte, dass nach der Installation einiger neuer Pakete die Handbuchseiten fehlten, obwohl sie in der Deb-Datei vorhanden waren.

Dann habe ich diese Datei 01_nodoc in /etc/dpkg/dpkg.conf.d gefunden, die eine einfache Lösung für die ursprüngliche Frage darstellt, wie man durch Löschen von Manualpages, Gebietsschemas und Copyright-Dateien bei Platzmangel (z. B. eingebetteten Systemen) Platz sparen kann.

# /etc/dpkg/dpkg.conf.d/01_nodoc

# Delete locales
path-exclude=/usr/share/locale/*

# Delete man pages
path-exclude=/usr/share/man/*

# Delete docs
path-exclude=/usr/share/doc/*
path-include=/usr/share/doc/*/copyright

Antwort2

Das Problem besteht darin, dass das Paketverwaltungssystem erwartet, dass die von ihm installierten Dateien (einschließlich Manpages) dort verbleiben. Jeder Mechanismus, den Sie also zum Entfernen dieser Dateien verwenden (außer dem Neuerstellen aller Pakete, wie von HalosGhost vorgeschlagen), wird es verwirren.

Wenn Sie ein Gerät für einen einzigen Zweck erstellen möchten, können Sie separate Build- und Bereitstellungsschritte für das Gerät verwenden. Das heißt, Sie installieren alle gewünschten Pakete in einer separaten Build-Umgebung (einer anderen SD-Karte oder einem emulierten RPi) und kopieren dann nur das, was Sie in der Produktion haben möchten, aus der Build-Umgebung in die Produktionsumgebung. In dieser Phase können Sie Manpages und alles andere, was in der Produktion nicht benötigt wird, weglassen.

Um aktualisierte Betriebssystem- oder Sicherheitsfixes zu erhalten, aktualisieren Sie die Build-Umgebung oder erstellen sie neu und kopieren sie (oder verwenden rsync) erneut in die Produktion.

Das bedeutet zwar etwas mehr Arbeit, Sie erhalten jedoch ein sehr kontrolliertes Produktionsgerät, verglichen damit, sich anzumelden und Upgrades direkt darauf auszuführen.

Antwort3

Nun, da ich nicht weiß, welche Distribution auf Ihrem RPi läuft, kann ich Ihnen nicht mit den genauen Befehlen helfen, aber Sie können wahrscheinlich das man-dbPaket entfernen, das sowohl das manDienstprogramm als auch eine Reihe von Manpages bereitstellt. Das Entfernen aller Manpages würde jedoch erfordern, jede Manpage aus jedem Paket zu entfernen – ich kann mir nicht vorstellen, dass sich das nur lohnt, um KiBs an Speicherplatz zu sparen.

Wenn Sie das wirklich wollten, müssten Sie jedes Paket neu erstellen. Bei einer Distribution wie Archlinux oder Gentoo ist das zwar nicht unbedingt unmöglich, aber dennoch recht mühsam. Bei anderen, weniger „praktischen“ Distributionen kann diese Aufgabe unglaublich schwierig sein.

Antwort4

$ cat /etc/apt/apt.conf.d/90debsums 
DPkg::Post-Invoke { "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums --generate=nocheck -sp /var/cache/apt/archives; fi"; };

Das Paket debsumsinstalliert eine Aktion zum automatischen Generieren von MD5sum-Listen für Pakete, nachdem ein Paket installiert wurde, ohne dass bereits eine eigene MD5sums-Datei vorhanden ist.

Sie könnten eine ähnliche Aktion nach der Installation hinzufügen, bei der nach jeder Installationsaktion nach den Manpages (und Infodokumenten) gesucht und diese entfernt werden.

/var/lib/dpkg/info/PACKAGENAME.listUm die Manpages und die zugehörigen Pakete zu erhalten, müssen Sie alle Dateien durchsuchen .

Sie sollten die Dateien aktualisieren, *.listganz zu schweigen davon, dass auch die entfernten Manpages nicht mehr vorhanden sind.

localepurgetut dies teilweise auch. Zitat aus apt-cache show localepurge:

Dies ist ein Skript, um den für nicht benötigte Lokalisierungen, Gnome/KDE-Lokalisierungen und lokalisierte Manpages verschwendeten Speicherplatz freizugeben. Je nach Installation können 200, 300 oder sogar noch mehr Megabyte an Speicherplatz gespart werden, der für Lokalisierungen reserviert ist, die Sie höchstwahrscheinlich nie brauchen werden. Das Skript wird automatisch nach Abschluss aller APT-Installationsaktionen ausgeführt.

Das wichtigste Zitat:

Bitte unterlassen Sie es auf jeden Fall, solche Fehler zu melden und localepurge die Schuld zu geben, wenn Sie Ihr System dadurch beschädigen. Wenn Sie nicht wissen, was Sie tun, und die daraus resultierenden Schäden nicht selbst beheben können, verwenden Sie dieses Paket bitte einfach nicht.

;-D

Erstellen Sie also einfach eine vollständige Sicherung und versuchen Sie, Ihre manpagekiller... zu schreiben.

verwandte Informationen