[solved] installierte Pakete eines Repositories auflisten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

[solved] installierte Pakete eines Repositories auflisten

Beitrag von SubOptimal » 07.02.2011 21:44:51

Hi,

auf einem Rechner ist in der /etc/apt/sources.list noch ein Nicht-Debian Repository angegeben.

Code: Alles auswählen

...
deb     http://deb.grml.org/ grml-stable  main
deb-src http://deb.grml.org/ grml-stable  main
...
Wie kann man nun auf einfachem Wege herausfinden, welche Pakete aus diesem Repository installiert wurden?

Habe zwar eine Lösung gefunden.

Code: Alles auswählen

#!/bin/sh
# dieser Code ist nicht zuverlässig
# this code is not reliable
dpkg --get-selections | while read FILE
do
  FILE=${FILE%*install}
  apt-cache madison ${FILE} | tee -a installed_debs.log
done

# anschließend noch
grep 'http://deb.grml.org/' installed_debs.log
Diese Lösung ist alles Andere als optimal. Weil auf diese Weise für ein installiertes Paket alle verfügbaren Versionen aufgelistet werden. Diese Doppeltlistung hätte man mit »apt-cache policy« umgehen können, dann wäre wiederum mehr zu parsen gewesen.

SubOptimal
Zuletzt geändert von SubOptimal am 07.02.2011 23:31:36, insgesamt 1-mal geändert.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: installierte Pakete eines Repositories auflisten

Beitrag von KBDCALLS » 07.02.2011 22:25:30

Eine simple Möglichkeit

Code: Alles auswählen

apt-show-versions |grep grml
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: installierte Pakete eines Repositories auflisten

Beitrag von SubOptimal » 07.02.2011 23:05:35

Hi KBDCALLS,

auf diese Weise geht es, in meinem Fall, zumindest deutlich schneller.

Code: Alles auswählen

apt-show-versions | grep grml-stable
Aber dieser Weg versagt, wenn die Distribution-Angabe beim Repository gleich lautet.
z.B. wäre es in diesem Beispiel bei Beiden »squeeze«

Code: Alles auswählen

deb http://ftp.de.debian.org/debian/ squeeze main non-free contrib
deb http://www.debian-multimedia.org squeeze main non-free
Zur Veranschaulichung mal direkt nach einem Paket gesucht (was ja so nicht die Anforderung war, da der Paketname ja die gesuchte Information ist)
meine Version

Code: Alles auswählen

      xcfa |  4.0.3-0.0 | http://www.debian-multimedia.org/ squeeze/main i386 Packages
Deine Version

Code: Alles auswählen

xcfa/squeeze uptodate 4.0.3-0.0
Sollte doch sich noch eine Möglichkeit geben, die die Informationen wie bei meiner Lösung, aber mit der Geschwindigkeit Deiner Lösung anzuzeigen.

SubOptimal

edit
So funktioniert es, wie gewünscht.

Code: Alles auswählen

$> apt-show-versions -a | grep 'deb.grml.org'
grml2usb 0.9.29 grml-stable deb.grml.org
Mit grep nach der URL des Repositories aus der »sources.list« suchen.

Antworten