¿Dónde puedo buscar mi historial de actualizaciones?

107

¿Hay algún lugar donde pueda ver qué actualizaciones he instalado?

    
pregunta vrcmr 21.11.2010 - 20:10

7 respuestas

98

Puedes leer el archivo history.log en /var/log/apt .

Eg. less /var/log/apt/history.log .

    
respondido por el lgarzo 26.03.2012 - 09:40
44

En 10.10, Ubuntu Software Center tiene una lista de todas las actualizaciones que ha descargado en el pasado.

    
respondido por el Isaiah 21.11.2010 - 20:24
23

/ var / log / apt contiene un historial de instalaciones de paquetes. Sin embargo, de forma predeterminada, es administrado por logrotate , que comprime y envejece las entradas antiguas.

    
respondido por el msw 21.11.2010 - 20:17
21

El 10.04 Haga clic en (Sistema & gt; Administración & Gestor de paquetes Synaptic & gt; Archivo & gt; Historial)

    
respondido por el vrcmr 21.11.2010 - 20:15
14

Como alternativa a la respuesta de lgarzo, puedes grep lo que te interesa de /var/log/dpkg.log . Por ejemplo, si quiere ver todo lo que instaló o actualizó ayer, podría ejecutar:

cat /var/log/dpkg.log | grep "^2012-03-25.*\ installed\ "

Una cosa a tener en cuenta: esto también incluirá paquetes instalados manualmente ( sudo dpkg -i ... ), que no aparecerán en el historial de apt.

Mejor aún, use zgrep si está instalado para que pueda encontrar líneas en archivos comprimidos también

zgrep "^2012-03-25.*\ installed\ " /var/log/dpkg.log*
    
respondido por el htorque 26.03.2012 - 09:54
11

¡Ahora también es posible hacerlo a través del centro de software! Ve al Historial y puedes mostrar todas tus actualizaciones e instalaciones.

    
respondido por el Nick Pascucci 21.11.2010 - 20:25
1

Nos resultó útil tener una respuesta un poco más fácil y precisa a la pregunta "¿cuándo fue la última vez que reparamos esta cosa?". Así que puse todo esto en orden. Lo probé los días 12.04 y 14.04 y 16.04. Devuelve respuestas razonablemente precisas para esa pregunta. Nota: "razonablemente preciso" probablemente no sea "completamente exacto". Nota: solo para esa pregunta.

resultado de muestra:

xenial% 9: ./linuxpatchdate 
2016-07-19 54
2017-02-24 363
2017-03-08 7
2017-03-09 2

subrutinas y programa:

#!/usr/bin/perl

#------------------ subroutines --------------------

sub parseRecord {
    my $sdate = "";
    my $useful = 0;
    my $packages = 0;
    my @ptmp;
    while (my $recordLine = shift() ) {

       if ($recordLine =~ m/^Start-Date: ([\d\-]*).*/) {
          $sdate = ;
       }
       elsif ($recordLine =~ m/^Commandline:.*upgrade/) {
          $useful = 1;
       }
       elsif ($recordLine =~ m/^Install: (.*)/) {
          $recordLine =~ s/\([^\)]*\)//g;
          @ptmp = split(/,/,$recordLine);
          $packages = $packages + $#ptmp + 1;
       }
       elsif ($recordLine =~ m/^Upgrade: (.*)/) {
          $recordLine =~ s/\([^\)]*\)//g;
          @ptmp = split(/,/,$recordLine);
          $packages = $packages + $#ptmp + 1;
       }
    }



    if ($useful) {
       return ($sdate,$packages);
    }
    else {
       return ("0",0);
    }
}


#------------------ main program --------------------

@lines = split(/\n/,'/bin/zcat -f /var/log/apt/history.log  /var/log/apt/history*gz');
my %patchHash;
my $line;
my @inputLines;
my $pushDate = "";
my $pushNum = "";

foreach $line (@lines) {
    # all records separated by blank lines
    if ($line !~ /./) {
       # no-op
    }
    elsif ($line =~ m/^Start-Date: ([\d\-]*).*/) {
       @inputLines = ();
       push (@inputLines, $line);
    }
    elsif ($line =~ m/^End-Date: ([\d\-]*).*/) {
       ($pushDate, $pushNum) = parseRecord(@inputLines);
       if ($pushNum != 0) {
          $patchHash{$pushDate} += $pushNum;
       }
    }
    else {
       push (@inputLines, $line);
    }
}

foreach $pushDate (sort(keys(%patchHash))) {
   print "$pushDate $patchHash{$pushDate}\n";
}
    
respondido por el JsinJ 11.03.2017 - 00:40

Lea otras preguntas en las etiquetas