Logging von hinzugefügten/entfernten Paketen

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Logging von hinzugefügten/entfernten Paketen

Beitrag von aquadraht » 03.01.2005 16:13:21

Hallo,

ich fühle mich in dieser Rubrik etwas OT, habe aber keine bessere gefunden...

Mein Problem:
Ich möchte gerne, dass De-/Installationen (z.b. apt-get install irgendwas) in einem Logfile (z.b. /var/log/apt.log) mitgeschnitten werden.
Momentan tauchen diese Aktionen in keinem Log auf.

Grüße,

Benutzeravatar
HardHat
Beiträge: 296
Registriert: 09.11.2003 00:29:19
Kontaktdaten:

Beitrag von HardHat » 03.01.2005 16:23:43

hmm.. wie wäre es z.B. mit tee?

Code: Alles auswählen

$ man tee
Dann installierst du z.B. so:

Code: Alles auswählen

# apt-get install a-new-package | tee /var/log/apt-get.log
Hab's aber nicht getestet, also vorsicht!

Benutzeravatar
aquadraht
Beiträge: 33
Registriert: 10.05.2002 21:39:54

Beitrag von aquadraht » 03.01.2005 16:27:08

gibt es keine Konfigurationsmöglichkeit, so dass das Logging automatisch vonstatten geht?
Ist IMO ein wichtiges Feature (heute habe ich geflucht, weil ich es gebraucht hätte!).


Grüße,

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

Beitrag von Joghurt » 03.01.2005 19:35:57

Benutze einfach statt apt-get aptitude. Die Syntax ist die selbe (aptitude install foobar, z.B.), als Bonus hast du auch noch einen dselect-ersatz, wenn du aptitude ohne parameter startest. Desweiteren merkt aptitude sich, welche Pakete nur aufgrund von abhängigkeiten installiert wurden und löscht sie gegebenenfalls wieder.

dann kannst du unter /var/log/aptitude dir alle Aktionen ansehen.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 04.01.2005 10:57:45

Ich habe mir ein Apt-Logging-Script schrieben, welches den "Pre-Install-Pkgs" -Event verarbeitet. Neue oder upgegradete Pakete werden daher eingetragen, nicht aber deinstallierte Pakete.

Code: Alles auswählen

root@csxgen4:~# tail /var/log/apt.log
2005-01-04 10:34 install: cupsys 1.1.22-8_i386
2005-01-04 10:45 install: configure-debian 0.9.3_all
/etc/apt/apt.conf.d/99log:

Code: Alles auswählen

DPkg::Pre-Install-Pkgs { "/usr/local/sbin/apt-log install"; };
/usr/local/sbin/apt-log:

Code: Alles auswählen

#!/usr/bin/perl
use POSIX qw(strftime);

die "usage $0: install [logfile]" if scalar(@ARGV)<1 || scalar(@ARGV)>2;
die "usage $0: install [logfile]" if $ARGV[0] != "install";

my $op = $ARGV[0];
my $logfile = scalar(@ARGV)==2 ? $ARGV[1] : "/var/log/apt.log";
my $LOGFILE;
open($LOGFILE,">>",$logfile) or die "Can't open logfile \"$logfile\"";

while (<STDIN>) {
  chomp;
  my $package = $_;
  $package =~ s/^.*\///;
  $package =~ s/\.deb.*$//;
  $package =~ s/\_/ /;
  print $LOGFILE strftime("%Y-%m-%d %H:%M ",localtime time),$ARGV[0],": ",$package,"\n";
}
close($LOGFILE);

Antworten