giovedì 18 settembre 2008

APT e DPKG: i comandi utili per gestire i nostri pacchetti su Debian e Ubuntu

Premetto subito che questo articolo non vuole essere una guida esaustiva alla gestione dei pacchetti software con APT e DPKG. Esso vuole soltanto passare in rassegna i principali comandi della shell che riguardano i pacchetti nel nostro sistema Linux e che ci consentono di superare gli ostacoli di tutti i giorni ;)

Per approfondire, come sempre, basta utilizzare il man di Linux. Un prerequisito essenziale è sapere come si apre il Terminale di Linux. Per esempio, per Ubuntu, esso si apre dal menu “Applicazioni” –> “Accessori” –> “Terminale”.

Iniziamo con dpkg. Per ottenere un elenco descrittivo di tutti i pacchetti installati nel sistema e dei quali viene tenuta traccia (nel senso che se ne verificano gli aggiornamenti) si può digitare:

$ dpkg -l

o meglio, per leggere comodamente l’elenco:

$ dpkg -l | less

Per installare manualmente un pacchetto, invece, con dpkg (anche se in genere conviene usare apt-get);

$ sudo dpkg -i

(il comando sudo davanti serve solo se operate come utenti non privilegiati. Se operate come utente “root”, allora non vi serve)

Per ottenere maggiori informazioni sui pacchetti che riguardano un determinato argomento:

$ apt-cache search “

Per avere, invece,  la descrizione in merito ad un determinato pacchetto:

$ apt-cache show

Ecco un esempio di utilizzo di apt-cache search:

user1@host1:~$ apt-cache search zenity
zenity - Mostra finestre di dialogo grafiche da script shell
libui-dialog-perl - UI::Dialog a wrapper for various dialog applications
nautilus-script-collection-svn - Nautilus subversion management scripts
ssft - Shell Scripts Frontend Tool

e di apt-cache show:

user1@host1:~$ apt-cache show ssft
Package: ssft
Priority: optional
Section: universe/utils
Installed-Size: 152
Maintainer: Ubuntu MOTU Developers
Original-Maintainer: Sergio Talens-Oliag
Architecture: all
Version: 0.9.11
Recommends: gettext-base, dialog, zenity | kdebase-bin
Filename: pool/universe/s/ssft/ssft_0.9.11_all.deb
Size: 16258
MD5sum: ff905008df85bfdb49c6160bb1d0bf6b
SHA1: 4d846d134ee49821bef8dd92ae9f7252044dead7
SHA256: cb396b4c675186d1d399bd97c10475e4e8b9b445f1358cc5e6e44156eb01474d
Description: Shell Scripts Frontend Tool
Shell function library useful to build shell script frontends.
.
The library defines a set of functions to display messages and read values
from the user on X (using zenity or kdialog) or console (using dialog or
plain text) and has been designed to be used by sourcing the library code
from other scripts.
.
The library supports L10N if gettext.sh is installed.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu

user1@host1:~$

E adesso, vediamo la parte più interessante di APT. Per installare un pacchetto, gestendo correttamente tutte le dipendenze, digitare:

$ sudo apt-get install

Per rimuovere un pacchetto:

$ sudo apt-get remove

Per rimuovere, oltre al pacchetto, anche i relativi files di configurazione:

$ sudo apt-get remove –purge

Infine, per aggiornare correttamente tutto il sistema, basta eseguire:

$ sudo apt-get update

$ sudo apt-get upgrade

Finito! Tutto qui? Beh, non è detto che ogni cosa in cui c’è Linux debba essere complicata. Anzi, questo vi dimostra come il fatto che Linux sia un sistema difficile è soltanto un luogo comune ;)

Volete sapere quante cose si possono installare con il comando apt-get? Giusto per darvi un’idea, leggete questa pagina:

http://www.ilbloggatore.com/?s=apt-get

Ciao e a presto!


Cari amici e lettori,

vi posto ulteriori due comandi da utilizzare per la gestione dei pacchetti, che mi sono serviti proprio oggi e che non avevo inserito nel precedente post “APT e DPKG: i comandi utili per gestire i nostri pacchetti su Debian e Ubuntu”:

$ dpkg -S

per sapere in quale pacchetto è contenuto il file . Per esempio: dpkg -S /etc/bluetooth/rfcomm.conf restituirà il pacchetto bluez-utils, che riguarda il bluetooth.

Al contrario, per sapere quali files sono contenuti in un pacchetto specifico, digitare:

$ dpkg -L

Buon divertimento!


(post originale)

Nessun commento: