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.
Mit apt-cache nur in Paketen eines Servers suchen - wie?
Mit apt-cache nur in Paketen eines Servers suchen - wie?
Use ed once in a while!
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:
Den Dateinamen für die debian-multimedia Quelle musst Du evtl anpassen.
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
MfG GoKi
:wq
:wq
Code: Alles auswählen
apt-cache search gesuchtesprogramm
nein, das kannte ich schon. Ich will nur in einem bestimmten Repo suche.bonbon2k6 hat geschrieben:Code: Alles auswählen
apt-cache search gesuchtesprogramm
... 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
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
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!