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: