Hallo zusammen, ich habe mehrere Linux-Systeme mit SuSE 7.3 in Betrieb, die ich seit Version 6.4 immer wieder upgedatet habe. Hier gibt es mutmaßlich natürlich etliche überflüssige Dateien, weil Programmpakete auf der Strecke geblieben und beim Deinstall nicht vollständig entfernt worden sind, so z. B. apsfilter (ersetzt durch das cups System) usw., oder es hat sich die Struktur der beinhalteten Dateien geändert. Mein Anliegen ist nun, diejenigen Dateien aufzufinden, die zu keinem Programmpaket mehr gehören. Eine solche Überprüfung läßt sich ja selektiv z. B. mit rpm -qf [Dateiname] machen. Wie könnte man einen solchen Aufruf auf das gesamte System ausdehnen, um sich einen Überblick zu verschaffen und aufzuräumen? Kann die locatedb hier helfen? Wer weiß Rat? Besten Dank vorab und Gruß Christoph Franke -- GnuPG Fingerprint: 8B41 898E 0A6F E219 5056 1BBE 5A9D 06A6 C80B 7B6F Registered Linux User: 250439 The Linux Counter http://counter.li.org The Bastard Operator from Hell Arch: http://bofh.ntk.net/Bastard.html
Hallo, Am 01.04.02 schrieb Christoph Franke:
mehr gehören. Eine solche Überprüfung läßt sich ja selektiv z. B. mit rpm -qf [Dateiname] machen. Wie könnte man einen solchen Aufruf auf das gesamte System ausdehnen, um sich einen Überblick zu verschaffen und
Du kannst »find« auf »/« loslassen und alle gefundenen Dateien einem Test per rpm unterziehen. Daniel
Daniel Seuthe schrieb am Dienstag, 02. April 2002 um 15:51:
Hallo,
Am 01.04.02 schrieb Christoph Franke:
mehr gehören. Eine solche Überprüfung läßt sich ja selektiv z. B. mit rpm -qf [Dateiname] machen. Wie könnte man einen solchen Aufruf auf das gesamte System ausdehnen, um sich einen Überblick zu verschaffen und
Du kannst »find« auf »/« loslassen und alle gefundenen Dateien einem Test per rpm unterziehen.
Wie könnte denn so ein Aufruf/Script aussehen? Gruß Christoph -- GnuPG Fingerprint: 8B41 898E 0A6F E219 5056 1BBE 5A9D 06A6 C80B 7B6F Registered Linux User: 250439 The Linux Counter http://counter.li.org The Bastard Operator from Hell Arch: http://bofh.ntk.net/Bastard.html
On Tue, 02 Apr 2002 at 16:49 (+0200), Christoph Franke wrote:
Daniel Seuthe schrieb am Dienstag, 02. April 2002 um 15:51:
Am 01.04.02 schrieb Christoph Franke:
mehr gehören. Eine solche Überprüfung läßt sich ja selektiv z. B. mit rpm -qf [Dateiname] machen. Wie könnte man einen solchen Aufruf auf das gesamte System ausdehnen, um sich einen Überblick zu verschaffen und
Du kannst »find« auf »/« loslassen und alle gefundenen Dateien einem Test per rpm unterziehen.
Wie könnte denn so ein Aufruf/Script aussehen?
#!/bin/sh ERGEBNIS=`find / -name '*' -exec rpm -qf \{\} \;` if ! $? ; then echo "$ERGEBNIS" fi In / zu suchen macht aber sowieso keinen Sinn. Zumindest /home/, /dev/, /etc/, /mnt/, /root/, /tmp und teilweise auch /var/ (ich denke z. B. an generierte LaTeX-Fonts) sollen von solchen Putzaktionen ausgeklammert werden. /bin/ und /lib/ machen auch nicht wirklich Sinn, da die Zahl der Dateien wahrscheinlich nicht gerade groß ist (bei mir in /bin/ gerade 102 Dateien) und es sich eigentlich ausnahmslos um Systemprogramme bzw. "wichtige" Programme handelt. Bleibt eigentlich noch /usr/, auf das man ein solches Kommando loslasen könnte. Und das dauert ... Gruß, Bernhard -- If you really want pure ASCII, save it as text... or browse it with your favorite browser... -- Alexandre Maret <amaret@infomaniak.ch>
Bernhard Walle schrieb am Dienstag, 02. April 2002 um 19:15:
On Tue, 02 Apr 2002 at 16:49 (+0200), Christoph Franke wrote:
Daniel Seuthe schrieb am Dienstag, 02. April 2002 um 15:51:
Am 01.04.02 schrieb Christoph Franke:
mehr gehören. Eine solche Überprüfung läßt sich ja selektiv z. B. mit rpm -qf [Dateiname] machen. Wie könnte man einen solchen Aufruf auf das gesamte System ausdehnen, um sich einen Überblick zu verschaffen und
Du kannst »find« auf »/« loslassen und alle gefundenen Dateien einem Test per rpm unterziehen.
Wie könnte denn so ein Aufruf/Script aussehen?
#!/bin/sh ERGEBNIS=`find / -name '*' -exec rpm -qf \{\} \;` if ! $? ; then echo "$ERGEBNIS" fi
In / zu suchen macht aber sowieso keinen Sinn. Zumindest /home/, /dev/, /etc/, /mnt/, /root/, /tmp und teilweise auch /var/ (ich denke z. B. an generierte LaTeX-Fonts) sollen von solchen Putzaktionen ausgeklammert werden. /bin/ und /lib/ machen auch nicht wirklich Sinn, da die Zahl der Dateien wahrscheinlich nicht gerade groß ist (bei mir in /bin/ gerade 102 Dateien) und es sich eigentlich ausnahmslos um Systemprogramme bzw. "wichtige" Programme handelt. Bleibt eigentlich noch /usr/, auf das man ein solches Kommando loslasen könnte. Und das dauert ...
Vielen Dank für dieses kurze Script, Bernhard. Es erfüllt seinen Zweck wunderbar. Nun stellt sich allerdings die Frage nach dem Umgang mit den Ergebnissen. Zunächst einmal muß man ja davon ausgehen, daß alle Software, die man selbst kompiliert hat (außer src.rpm), zu keinem Paket gehört. Ansonsten habe ich relativ viele Treffen unter /usr/include und /usr/lib. Gruß und besten Dank. Christoph -- GnuPG Fingerprint: 8B41 898E 0A6F E219 5056 1BBE 5A9D 06A6 C80B 7B6F Registered Linux User: 250439 The Linux Counter http://counter.li.org The Bastard Operator from Hell Arch: http://bofh.ntk.net/Bastard.html
On Wed, 3 Apr 2002, Christoph Franke wrote:
Bernhard Walle schrieb am Dienstag, 02. April 2002 um 19:15:
On Tue, 02 Apr 2002 at 16:49 (+0200), Christoph Franke wrote:
Daniel Seuthe schrieb am Dienstag, 02. April 2002 um 15:51:
Am 01.04.02 schrieb Christoph Franke:
mehr gehören. Eine solche Überprüfung läßt sich ja selektiv z. B. mit rpm -qf [Dateiname] machen. Wie könnte man einen solchen Aufruf auf das gesamte System ausdehnen, um sich einen Überblick zu verschaffen und
Du kannst »find« auf »/« loslassen und alle gefundenen Dateien einem Test per rpm unterziehen.
Wie könnte denn so ein Aufruf/Script aussehen?
#!/bin/sh ERGEBNIS=`find / -name '*' -exec rpm -qf \{\} \;` if ! $? ; then echo "$ERGEBNIS" fi
In / zu suchen macht aber sowieso keinen Sinn. Zumindest /home/, /dev/, /etc/, /mnt/, /root/, /tmp und teilweise auch /var/ (ich denke z. B. an generierte LaTeX-Fonts) sollen von solchen Putzaktionen ausgeklammert werden. /bin/ und /lib/ machen auch nicht wirklich Sinn, da die Zahl der Dateien wahrscheinlich nicht gerade groß ist (bei mir in /bin/ gerade 102 Dateien) und es sich eigentlich ausnahmslos um Systemprogramme bzw. "wichtige" Programme handelt. Bleibt eigentlich noch /usr/, auf das man ein solches Kommando loslasen könnte. Und das dauert ...
Nun stellt sich allerdings die Frage nach dem Umgang mit den Ergebnissen. Zunächst einmal muß man ja davon ausgehen, daß alle Software, die man selbst kompiliert hat (außer src.rpm), zu keinem Paket gehört.
Das war fuer mich einer der Hauptgruende, selbstkompilierte Software nur noch mit "checkinstall" zu installieren. Das baut mir gleichzeitig ein RPM (/usr/src/packages/RPM/i386/), das ich nicht nur elegant auf anderen gleichartigen Rechnern weiterverwenden kann, sondern wo ich auch eine sichere Deinstallation durchfuehren kann. Schau Dir die Software "checkinstall" einmal an. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Hallo, On Wed, 03 Apr 2002, Peter Blancke wrote:
Das war fuer mich einer der Hauptgruende, selbstkompilierte Software nur noch mit "checkinstall" zu installieren.
Aber bitte keine Systemsoftware mit checkinstall installieren (hatten wir letzte Woche), da checkinstall ins System installiert, und wenn das ne wichtige lib ist (glibc besonders!) und dann deswegen oder aus irgendeinem anderen Grund die Installation scheitert, dann hat man _grosse_ Probleme. Eine Moeglichkeit koennte sein, alles z.B. unterhalb von /usr/local/checkinstall zu installieren. $ ./configure --prefix=/usr/local/checkinstall && make && checkinstall -dnh -- Wußten Sie schon, daß eine Holzhammernarkose total ueberfluessig ist, weil ein Holzhammer gar nichts spuert, wenn man mit ihm zuschlaegt...?
participants (5)
-
Bernhard Walle
-
Christoph Franke
-
Daniel Seuthe
-
David Haller
-
Peter Blancke