Hagal jeszcze raz dziękuję za pomoc.
Dzięki Twojemu "mini skrypcikowi" a szczególnie ostatniej modyfikacji zaczynam łapać co się dzieje w "{}" sed'a.
Pisałem wcześniej o "problemie" z Kadu a tu okazuje się że z nim nie ma żadnego problemu natomiast problemem jest chaos jaki panuje na debian-multimedia.
dzięki
apt-cache showpkg ... jestem w stanie otrzymać informację o tym skąd pochodzi pakiet np.
pokaże nam m.im. :
Kod: Zaznacz cały
Versions:
9.20-20070409.6(/var/lib/apt/lists/deb.opera.com_opera_dists_testing_non-free_binary-i386_Packages)(/var/lib/apt/lists/localhost_debian_dists_lenny_non-free_binary-i386_Packages)(/var/lib/dpkg/status)
czyli wiadomo że pochodzi z
deb.opera.com/opera
natomiast za pomocą :
jestem w stanie dowiedzieć się jaka jest ścieżka do pakietu na serwerze :
Kod: Zaznacz cały
Filename: pool/non-free/o/opera/opera_9.20-20070409.6_i386.deb
czyli składając to wszystko w całość mogę sobie przy pomocy
wget ściągnąć każdy pakiet z konkretnego serwera :
Kod: Zaznacz cały
wget --tries=45 [url]http://deb.opera.com/opera/pool/non-free/o/opera/opera_9.20-20070409.6_i386.deb[/url] -P /var/cache/apt/archives/
a co za chaos na debian multimedia ? ano taki że dzięki
apt-cache showpkg ... i
apt-cache show ... można się co najwyżej dowiedzieć że pakiet pochodzi z "
www.debian-multimedia.org" a zamiast np.
pool/non-free/o/opera/opera_9.20-20070409.6_i386.deb dostajemy takie cudo :
1:20061022-0.0 (/var/lib/dpkg/status) czyli ścieżka dostępu do pakietu na serwerze jest tajemnicą państwową.
a oto ostatnia moja wersja skryptu dzięki której wszystko wyszło na jaw :
Kod: Zaznacz cały
#!/bin/bash
echo `date`
echo -n > /tmp/spis-deb3
paczka="$(dpkg -l | grep '^ii ' | awk '{print $2}')"
lista="/tmp/spis-deb3"
for x in $paczka; do
# apt-cache showpkg "$x" | sed '/(\/var\/lib/!d;{s/.*lists\///};/dists/{s/dists.*//g};/_/{s/_/\//g};/Packages)/{s/Packages)//g};' >> $lista
a="$(apt-cache showpkg "$x" | sed '/(\/var\/lib/!d;/lists/{s/.*lists/http:\//g};/dists/{s/dists.*//g};/_/{s/_/\//g};/Packages)/{s/Packages)//g};')"
b="$(apt-cache show "$x" | sed '/Filename:/!d;{s/.*:\ //}')"
echo "$a$b" >> $lista
done
sort /tmp/spis-deb3 -o /tmp/spis-deb3
echo "Zapisano $(wc -l <$lista) pozycji"
echo `date`
a to wynik działania skryptu :
Kod: Zaznacz cały
http://ftp.pl.debian.org/debian/pool/contrib/f/flashplugin-nonfree/flashplugin-nonfree_9.0.31.0.4_i386.deb
[url]http://ftp.pl.debian.org/debian/pool/contrib/m/msttcorefonts/msttcorefonts_1.8_all.deb[/url]
[url]http://ftp.pl.debian.org/debian/pool/main/a/a52dec/liba52-0.7.4_0.7.4-11_i386.deb[/url]
[url]http://ftp.pl.debian.org/debian/pool/main/a/aalib/libaa1_1.4p5-31_i386.deb[/url]
[url]http://ftp.pl.debian.org/debian/pool/main/a/acl/libacl1_2.2.42-1_i386.deb[/url]
[url]http://ftp.pl.debian.org/debian/pool/main/a/acpid/acpid_1.0.4-7.1_i386.deb[/url]
...
...
...
[url]http://ftp.pl.debian.org/debian/pool/non-free/r/rar/rar_3.7b1-2_i386.deb[/url]
[url]http://ftp.pl.debian.org/debian/pool/non-free/u/unrar-nonfree/unrar_3.7.3-1_i386.deb[/url]
[url]http://localhost/debian/pool/main/k/knetstats/knetstats_1.6-1_i386.deb[/url]
[url]http://localhost/debian/pool/main/w/w32codecs/w32codecs_20061022-0.0_i386.deb[/url]
[url]http://localhost/debian/pool/non-free/o/opera/opera_9.20-20070409.6_i386.deb[/url]
[url]http://www.kadu.net/download/binary/debian/repo/pkgs/etch/kadu-artssound_0.5.0-1_i386.deb[/url]
Sortowanie znowu osobno bo niestety tym sposobem plik nie jest posortowany :
Kod: Zaznacz cały
apt-cache show "$x" \
| sed '/Filename:/!d;{s/.*:\ //};/^pkgs/{s/pkgs\/etch/pool\/main\/inne/g}' \
| sort >>$lista
Pozdrawiam[/code]