Mit apt-cache nur in Paketen eines Servers suchen - wie?

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
Meillo
Moderator
Beiträge: 9280
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Mit apt-cache nur in Paketen eines Servers suchen - wie?

Beitrag von Meillo » 09.01.2008 18:56:58

Hoi Community,

ich möchte mit apt-cache nur in den Paketen von einem Server (von den vielen in meiner sources.list) suchen. Ist das möglich?

Es muss auch nicht apt-cache sein, ein anderes Programm, das das kann ist mir auch recht.
Use ed once in a while!

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 09.01.2008 23:44:32

In den Dateien unterhalb von /var/lib/apt/lists/ (die mit Packages am Ende) stehen die Pakete von den Einträgen der sources.list. Ein brute-force Skript wäre bspw. folgendes:

Code: Alles auswählen

#!/bin/bash

PACKAGES=`awk '/^Package:/{print $2}' /var/lib/apt/lists/ftp.uni-kl.de_debian-multimedia_dists_lenny_main_binary-i386_Packages`

SEARCH=`apt-cache search acrobat | awk '{print $1}'`

for RESULT in $SEARCH
do
  for P in $PACKAGES
  do
    if [ $RESULT = $P ]; then
      echo $RESULT
      break
    fi
  done
done
Den Dateinamen für die debian-multimedia Quelle musst Du evtl anpassen.
MfG GoKi
:wq

bonbon2k6
Beiträge: 226
Registriert: 25.08.2007 12:37:18

Beitrag von bonbon2k6 » 10.01.2008 20:26:33

Code: Alles auswählen

apt-cache search gesuchtesprogramm

Benutzeravatar
Meillo
Moderator
Beiträge: 9280
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 10.01.2008 21:07:47

bonbon2k6 hat geschrieben:

Code: Alles auswählen

apt-cache search gesuchtesprogramm
nein, das kannte ich schon. Ich will nur in einem bestimmten Repo suche.

... oder eigentlich eher alle Pakete eines Repos auflisten lassen. (Und nur alternativ drin suchen.)


@GoKi: vielen Dank für deine Mühe!

Jetzt weiß ich vor allem, _wo_ die Package-Caches liegen. Naja, stand (wie ich jetzt sah) auch in der Manpage zu apt-cache (hmm, ist ja nicht so, dass ich da nie reingeschaut hätt :roll: ).

Mir reicht vorerst mal Folgendes:

Code: Alles auswählen

sed -n 's/^\(Package\|Version\): \(.*\)/\2/p; /^$/p' /var/lib/apt/lists/<repo>_Packages

btw: weshalb liegen diese Caches eigentlich unter /var/lib ?
Was hat das mit Bibliotheken zu tun? Wäre da nicht /var/cache angebrachter??
Use ed once in a while!

Antworten