mercoledì 29 febbraio 2012

Informazioni sui pacchetti: apt-cache, apt-file, dpkg

Sulla scia del precedente post, vorrei divulgare (ma anche da tenere come appunto personale, perchè si sa... non si finisce mai di imparare) altre interessanti funzioni del nostro Ubuntu, derivate da Debian.
Ovvero, dalla stessa pagina del manuale, possiamo notare altre due interessanti funzioni, e cioè apt-file e apt-cache.

apt-cache:
Possiamo considerarlo come un front-end di aptidude, utilizzabile tramite linea di comando. Questo strumento ci può tornare molto utile, per esempio per cercare pacchetti di cui non sappiamo il nome specifico.

Per esempio, se volessimo cercare un emulatore della playstation di cui non sappiamo il nome specifico, digitiamo nel terminale:
# sudo apt-cache search pacchetto

Per esempio io cerco playstation:
# sudo apt-cache search playstation
Il comando ci resistuirà qualcosa di simile a questo:
pngquant - utilità di ottimizzazione per immagini PNG 
          (Portable Network Graphics)
pcsxr - Sony PlayStation emulator
arista - convertitore multimediale per il desktop GNOME
libupse-dev - unix playstation sound emulator - library
libupse1 - unix playstation sound emulator - library
pcsxr-dbg - Sony PlayStation emulator (debug)
ttf-f500 - tipo di carattere Wipeout 3
upse123 - commandline player based on libupse

Si può andare anche più nello specifico mostrando più informazioni relative ad un pacchetto.
Per esempio possiamo digitare nel terminale:
#sudo apt-cache show pacchetto

della precedente lista prendo per esempio pcsxr:
#sudo apt-cache show pcsxr

questo comando darà tutta questa serie di informazioni relative al pacchetto pcsxr:
Package: pcsxr
Priority: optional
Section: universe/games
Installed-Size: 2360
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.
                     debian.org>
Architecture: i386
Version: 1.9.92-3
Replaces: pcsx, pcsx-bin, pcsx-i18n, psemu-drive-cdrmooby, 
psemu-input-omnijoy, psemu-input-padjoy, psemu-sound-alsa, 
psemu-sound-oss, psemu-video-x11
Depends: libc6 (>= 2.7), libgdk-pixbuf2.0-0 (>= 2.22.0), 
libgl1-mesa-glx | libgl1, libglade2-0 (>= 1:2.6.1), 
libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.24.0), 
libpango1.0-0 (>= 1.14.0), libsdl1.2debian (>= 1.2.10-1), 
libx11-6, libxext6, libxtst6, libxv1, libxxf86vm1, zlib1g (>= 1:1.1.4)
Conflicts: pcsx, pcsx-bin, pcsx-df, pcsx-i18n, psemu-drive-cdrmooby, 
psemu-input-omnijoy, psemu-input-padjoy, psemu-sound-alsa, 
psemu-sound-oss, psemu-video-x11
Filename: pool/universe/p/pcsxr/pcsxr_1.9.92-3_i386.deb
Size: 831708
MD5sum: 0371cb9da0c5b51945b8d3d618df198a
SHA1: 4436c18c599031982a0aa70645c7e342468c93c1
SHA256: 578f4246e0b4b154c289a4dd6644a8e2747d08d46f7b628fe13024bff91856de
Description-en: Sony PlayStation emulator
 PCSX is an advanced PlayStation (PSX) emulator, which uses a plugin
 architecture to provide full support for all components of the PSX.
 It has full emulation support for gamepads, videos, sound, memory cards,
 and other important PSX components, and is able to play many games
 without problems.
 .
 This package contains PCSX-Reloaded, which is based on PCSX-df 1.9 which
 is in turn based on the original PCSX.
Homepage: http://pcsxr.codeplex.com/
Description-md5: a807c86d8c63129ed19641e951f5a0da
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Altro tipo di informazioni si possono ottenere con il seguente comando:

# sudo apt-cache showpkg pacchetto

Al posto di pacchetto metto thunderbird (il primo che mi è venuto in mente)
# sudo apt-cache showpkg thunderbird

il cui risultato sarà il seguente (essendo un "pelo" lungo, l'ho abbreviato un po'):

Package: thunderbird
Versions:
10.0.2+build1-0ubuntu0.11.10.1 (/var/lib/apt/lists/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_binary-i386_Packages) (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_oneiric-security_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language: en
                 File: /var/lib/apt/lists/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_i18n_Translation-en
                  MD5: 68ed1001b79d708ad48956a0c129114d
 Description Language:
                 File: /var/lib/apt/lists/it.archive.ubuntu.com_ubuntu_dists_oneiric-updates_main_binary-i386_Packages
                  MD5: 68ed1001b79d708ad48956a0c129114d

7.0.1+build1+nobinonly-0ubuntu1 (/var/lib/apt/lists/it.archive.ubuntu.com_ubuntu_dists_oneiric_main_binary-i386_Packages)
 Description Language: en
                 File: /var/lib/apt/lists/it.archive.ubuntu.com_ubuntu_dists_oneiric_main_i18n_Translation-en
                  MD5: 68ed1001b79d708ad48956a0c129114d
 Description Language:
                 File: /var/lib/apt/lists/it.archive.ubuntu.com_ubuntu_dists_oneiric_main_binary-i386_Packages
                  MD5: 68ed1001b79d708ad48956a0c129114d


Reverse Depends:
  ubuntu-desktop,thunderbird
  libreoffice,thunderbird
  xul-ext-lightning,thunderbird
  xul-ext-lightning,thunderbird 10.0
  xul-ext-gdata-provider,thunderbird
  ...................................
  (Un sacco di altre informazioni, ho abbreviato per fare in modo che il post non faccia il giro del mondo per la lunghezza)
Reverse Provides:
Un altra funzione che potrebbe tornare utile, è per esempio, preso un pacchetto X che vogliamo installare, sapere a priori quali sono le dipendenza, allora potremmo digitare qualcosa del genere:

# sudo apt-cache depends pacchetto

# sudo apt-cache depends pcsxr

il cui risultato sarà:

pcsxr
  Dipende: libc6
  Dipende: libgdk-pixbuf2.0-0
 |Dipende: libgl1-mesa-glx
  Dipende: <libgl1>
    libgl1-mesa-glx
    libgl1-mesa-swx11
  Dipende: libglade2-0
  Dipende: libglib2.0-0
  Dipende: libgtk2.0-0
  Dipende: libpango1.0-0
  Dipende: libsdl1.2debian
  Dipende: libx11-6
  Dipende: libxext6
  Dipende: libxtst6
  Dipende: libxv1
  Dipende: libxxf86vm1
  Dipende: zlib1g
  Va in conflitto: <pcsx>
  Va in conflitto: <pcsx-bin>
  Va in conflitto: <pcsx-df>
  Va in conflitto: <pcsx-i18n>
  Va in conflitto: <psemu-drive-cdrmooby>
  Va in conflitto: <psemu-input-omnijoy>
  Va in conflitto: <psemu-input-padjoy>
  Va in conflitto: <psemu-sound-alsa>
  Va in conflitto: <psemu-sound-oss>
  Va in conflitto: <psemu-video-x11>
  Sostituisce: <pcsx>
  Sostituisce: <pcsx-bin>
  Sostituisce: <pcsx-i18n>
  Sostituisce: <psemu-drive-cdrmooby>
  Sostituisce: <psemu-input-omnijoy>
  Sostituisce: <psemu-input-padjoy>
  Sostituisce: <psemu-sound-alsa>
  Sostituisce: <psemu-sound-oss>
  Sostituisce: <psemu-video-x11>
Visto il titolo del post, è ovvio che esistono altri comandi / modi per ottenere informazioni sui pacchetti etc. etc...

apt-file: qui.
dpkg: qui.

Ora come sempre vi rimando alla fonte originale, ovvero la documentazione di Debian, che ricordo è la base di Ubuntu. Leggere i manuali, almeno in questi casi è la cosa più comoda, e solitamente sono decisamente ben fatti, semplici da capire, da mettere in pratica e ci vuole davvero poco per fare pratica (io stesso ho provato i comandi per la prima volta mentre scrivevo il post)

Fonte originale: Debian Doc.

Nessun commento:

Posta un commento