Dateien außerhalb von Paketen finden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
michas
Beiträge: 380
Registriert: 12.08.2002 20:35:09
Wohnort: München

Dateien außerhalb von Paketen finden

Beitrag von michas » 09.05.2004 14:08:10

Hallo,

Gibt es eigentlich eine einfache Möglichkeit herrauszufinden, welche Dateien sich momentan im System befinden, die zu keinem Paket gehören?

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 09.05.2004 15:09:37

Ich wuerde das mal so in Perl machen, ist aber ungetestet:

Code: Alles auswählen

my @files= `find /`;
my @pkgs = `COLUMNS=120 dpkg -l | grep ^ii | awk '{print $2}`;
my @pkg_files;
foreach(@pkgs) {
        push(@pkg_files, `dpkg -L $_`);
}
my %pkg_files = map { $_ => 1 } @pkg_files;
print join("\n", grep { ! defined pkg_files{$_} } @files);
Vielleicht gehts, vielleicht auch nicht, keine Garantie ;-)

Florian

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 09.05.2004 17:55:20

Code: Alles auswählen

cat /var/lib/dpkg/info/*.list
gibt die alle Dateien aus, die mit DPKG verwaltet werden. So brauchst du nicht den Umweg über dpkg -l/dpkg -L zu machen.Wenn du ein paar Stunden (;)) Zeit hast, müsste dieses Skript auch gehen:

Code: Alles auswählen

#!/bin/sh
cat /var/lib/dpkg/info/*.list | sort > /tmp/dpkg-files
find / | sort >/tmp/all-files
diff -C0 /tmp/all-files /tmp/dpkg-files

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 09.05.2004 18:09:38

Code: Alles auswählen

dreker@wintermute:Desktop$ apt-cache show cruft
Package: cruft
Priority: optional
Section: admin
Installed-Size: 636
Maintainer: Anthony Towns <ajt@debian.org>
Architecture: i386
Version: 0.9.6-0.4
Depends: libc6 (>= 2.3.1-1), file
Filename: pool/main/c/cruft/cruft_0.9.6-0.4_i386.deb
Size: 26690
MD5sum: a1dfa3e1828f92cbf9e03223f498f07c
Description: Find any cruft built up on your system
 cruft is a program to look over your system for anything that shouldn't
 be there, but is; or for anything that should be there, but isn't.
 .
 It bases most of its results on dpkg's database, as well as a list of
 `extra files' that can appear during the lifetime of various packages.
 .
 cruft is still in pre-release; your assistance in improving its accuracy
 and performance is appreciated.
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 09.05.2004 18:13:29

Ne, das klappt nicht ganz. In der Liste von dpg ist ganz oft /. und /bin drin...

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 09.05.2004 23:18:34

blackm hat geschrieben:Ne, das klappt nicht ganz. In der Liste von dpg ist ganz oft /. und /bin drin...

by, Martin
Nagut, dann eben

Code: Alles auswählen

cat /var/lib/dpkg/info/*.list|sort|uniq>/tmp/dpkg_files

beda22
Beiträge: 10
Registriert: 02.06.2004 08:17:21

Beitrag von beda22 » 02.06.2004 08:24:23

Habe unter diesem Link folgendes gefunden:

Auf vielen Linux-Systemen sind einige ungenutzte Bibliotheken installiert. Diese können mit deborphan gefunden werden. Deborphan kann wie gewohnt mit apt-get installiert werden und liefert beim Aufruf eine Liste überflüssiger Bibliotheks-Pakete. Man kann also ganz nett mit

apt-get remove $(deborphan)

diese Pakete deinstallieren.

An schen
da Beda

Antworten