[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pakete neuer als installiertes release herausfinden



Dirk Salva schrieb:
> Hi Leute,
> 
> mit welchem Befehl kann ich diejenigen Pakete herausfinden, die neuer
> als das Standard-Release, welches installiert ist, sind?
> Konkret: bei mir auf dem EeePC ist Lenny installiert. Einige wenige
> Pakete habe ich von Hand aus unstable oder experimental heruntergeladen
> und mit dpkg -i installiert, um diese schneller aktuell zu haben. Jetzt
> wüßte ich gerne, welche das sind (habs mir aber dusseligerweise nicht
> aufgeschrieben). Dafür brauche ich den Befehl.

Hallo Dirk,

anbei ein schnell gehacktes perlscript, was deine Aufgabe lösen
sollte. Folgendes wird bedacht:

Standardmäßig werden überlange Pakete in der Ausgabe von dpkg -l
abgeschnitten. In dem Script, wird die dpkg Datenbank auf eine andere
Art abgefragt, lange Dateinamen also auch berücksichtigt.

Falls du nicht Deutsch als Systemsprache hast, muss die Zeile
$newvers = $1 if ($treffer =~ /Mögliche Pakete:(.*)\s*/); angepasst
werden.

Gruß




#!/usr/bin/perl -w

@hit = `dpkg-query -W -f='\${Status}\t\${Package}\t\${Version}\n'`;

foreach (@hit) {
($status, $package, $version) = /(.*)\t(.*)\t(.*)/;
if ($status eq 'install ok installed') {
@policyout = `apt-cache policy $package`;
foreach $treffer (@policyout) {
$newvers = $1 if ($treffer =~ /Mögliche Pakete:(.*)\s*/);
}
if ($newvers ne $version) {
print "$package ist neuer oder älter\n";
}

}
}


-- 
stefan.bauer@cubewerk.de		Cubewerk
Tel   +49 8621 996 02 37		IT-Beratung + Planung
Tel   +49  179 119 47 67		Verkauf von Hard und Software
Fax   +49 7211 513 38551		Herzog-Otto-Straße 32
http://www.cubewerk.de			83308 Trostberg


Reply to: