Per tutte quelle persone che potrebbero ancora cercare su Google questo numero a gennaio 2017, si può avere un po’ di roba interessante con le versioni recenti di apt e dpkg in Debian 8.5 senza scaricare nulla.
List Contents of Deb File Without Download:
Prima individua l'url completo del file deb :
root@debian:apt-get --print-uris download yade
'http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb' yade_2016.06a-7_amd64.deb 1621148 SHA256:26c0d84484a92ae9c2828edaa63243eb764378d79191149970926aa3ec40cdd4
PS: –print-uris switch stampa l'url del pacchetto deb ma il deb non viene scaricato.
Poi visualizzare il contenuto del pacchetto deb senza scaricarlo:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb -c /dev/stdin
drwxr-xr-x root/root 0 2016-12-10 22:18 ./
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/bin/
-rwxr-xr-x root/root 13184 2016-12-10 22:18 ./usr/bin/yade
.........................more files listed bellow ......................
``` ```
root@debian:dpkg -c <(curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb")
PS: Lo stesso risultato può essere ottenuto con
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb --fsys-tarfile /dev/stdin |tar -xO ./usr/share/man/man1/yade.1.gz |man /dev/stdin
``` ```
root@debian:apt --version --> apt 1.4~beta2 (amd64)
root@debian:dpkg --version --> Debian 'dpkg' package management program version 1.18.18 (amd64).
root@debian:man --version --> man 2.7.6.1
root@debian:tar --version --> tar (GNU tar) 1.29
*Estrai un file dal suddetto pacchetto deb , senza scaricarlo. *
Per esempio vogliamo leggere la pagina man del pacchetto yade senza installare questo pacchetto e senza nemmeno scaricare il pacchetto deb.
Filename of man page all'interno del pacchetto deb come consigliato da dpkg -c
è ./usr/share/man/man1/yade.1.gz
Per leggere la pagina man al volo:
&001
la pagina man viene visualizzata correttamente usando l'applicazione man.
PS: I tubi di cui sopra non funzionano con il comando ar.
&001