15 esempi pratici di "comandi dpkg" per distribuzioni basate su Debian
Debian GNU/Linux, il sistema operativo madre di numerose distribuzioni Linux tra cui Knoppix, Kali, Ubuntu, Mint, ecc. utilizzano vari gestori di pacchetti come dpkg, apt , aptitude, synaptic, tasksel, deselect, dpkg-deb e dpkg-split.
Descriveremo ciascuno di questi brevemente prima di concentrarci sul comando "dpkg".
Comando APT
Apt sta per Strumento pacchetto avanzato. Non si occupa del pacchetto 'deb' e funziona direttamente, ma funziona con l'archivio 'deb' dalla posizione specificata nel file "/etc/apt/ fonti.list".
Per saperne di più: 25 utili comandi di base dei comandi APT-GET
Attitudine
Aptitude è un gestore di pacchetti basato su testo per Debian che è il front-end di "apt", che consente all'utente di gestire facilmente i pacchetti.
Sinaptico
Gestore di pacchetti grafico che semplifica l'installazione, l'aggiornamento e la disinstallazione dei pacchetti anche ai principianti.
Tasksel
Tasksel consente all'utente di installare tutti i pacchetti rilevanti relativi a un'attività specifica, vale a dire l'ambiente desktop.
Deseleziona
Uno strumento di gestione dei pacchetti guidato da menu, inizialmente utilizzato durante la prima installazione e ora sostituito con aptitude.
Dpkg-deb
Interagisce con l'archivio Debian.
Dpkg-split
Utile per dividere e unire file di grandi dimensioni in blocchi di file piccoli da archiviare su supporti di dimensioni più piccole come floppy disk.
Comando Dpkg
dpkg è il principale programma di gestione dei pacchetti nei sistemi basati su Debian e Debian. Viene utilizzato per installare, creare, rimuovere e gestire i pacchetti. Aptitude è il front-end principale per dpkg.
Alcuni dei comandi dpkg più comunemente usati insieme al loro utilizzo sono elencati qui:
1. Installa un pacchetto
Per installare un pacchetto “.deb”, utilizzare il comando con l'opzione “-i”. Ad esempio, per installare un pacchetto ".deb" chiamato "flashpluginnonfree_2.8.2+squeeze1_i386.deb" utilizzare il seguente comando.
[root@tecmint~]# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree.
(Reading database ... 465729 files and directories currently installed.)
Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ...
Setting up flashplugin-nonfree (1:3.2) ...
--2013-10-01 16:23:40-- http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2.202.310/install_flash_player_11_linux.i386.tar.gz
Resolving fpdownload.macromedia.com (fpdownload.macromedia.com)... 23.64.66.70
Connecting to fpdownload.macromedia.com (fpdownload.macromedia.com)|23.64.66.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6923724 (6.6M) [application/x-gzip]
Saving to: ‘/tmp/flashplugin-nonfree.FPxQ4l02fL/install_flash_player_11_linux.i386.tar.gz’
2. Elenca tutti i pacchetti installati
Per visualizzare ed elencare tutti i pacchetti installati, utilizzare l'opzione "-l" insieme al comando.
[root@tecmint~]# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-===============================================================================
ii accerciser 3.8.0-0ubuntu1 all interactive Python accessibility explorer for the GNOME desktop
ii account-plugin-aim 3.6.4-0ubuntu4.1 i386 Messaging account plugin for AIM
ii account-plugin-facebook 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - facebook
ii account-plugin-flickr 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - flickr
ii account-plugin-generic-oauth 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - generic OAuth
ii account-plugin-google 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon
rc account-plugin-identica 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - identica
ii account-plugin-jabber 3.6.4-0ubuntu4.1 i386 Messaging account plugin for Jabber/XMPP
....
Per visualizzare un pacchetto specifico installato o meno, utilizzare l'opzione "-l" insieme al nome del pacchetto. Ad esempio, controlla se il pacchetto apache2 è installato o meno.
[root@tecmint~]# dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-==============================================
ii apache2 2.2.22-6ubuntu5.1 i386 Apache HTTP Server metapackage
3. Rimuovere un pacchetto
Per rimuovere il pacchetto “.deb”, dobbiamo specificare il nome del pacchetto “flashpluginnonfree”, non il nome originale “flashplugin-nonfree_3.2_i386.deb“. L'opzione "-r" viene utilizzata per rimuovere/disinstallare un pacchetto.
[root@tecmint~]# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.)
Removing flashpluginnonfree ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Puoi anche utilizzare l'opzione "p" al posto di "r" che rimuoverà il pacchetto insieme al file di configurazione. L'opzione "r" rimuoverà solo il pacchetto e non i file di configurazione.
[root@tecmint~]# dpkg -p flashpluginnonfree
4. Visualizza il contenuto di un pacchetto
Per visualizzare il contenuto di un particolare pacchetto, utilizza l'opzione "-c" come mostrato. Il comando visualizzerà il contenuto di un pacchetto ".deb" in formato elenco lungo.
[root@tecmint~]# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root 0 2012-12-14 22:54 ./
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/plugins/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/flashplugin-nonfree/
-rw-r--r-- root/root 3920 2009-09-09 22:51 ./usr/lib/flashplugin-nonfree/pubkey.asc
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/man8/
-rw-r--r-- root/root 716 2012-12-14 22:54 ./usr/share/man/man8/update-flashplugin-nonfree.8.gz
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/applications/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/24x24/
....
5. Verificare che un pacchetto sia installato o meno
Utilizzando l'opzione "-s" con il nome del pacchetto, verrà visualizzato se un pacchetto deb è installato o meno.
[root@tecmint~]# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree
Status: install ok installed
Priority: optional
Section: contrib/web
Installed-Size: 177
Maintainer: Bart Martens <[email >
Architecture: i386
Version: 1:3.2
Replaces: flashplugin (<< 6)
Depends: debconf | debconf-2.0, wget, gnupg, libatk1.0-0, libcairo2, libfontconfig1, libfreetype6, libgcc1, libglib2.0-0, libgtk2.0-0 (>= 2.14), libnspr4, libnss3, libpango1.0-0, libstdc++6, libx11-6, libxext6, libxt6, libcurl3-gnutls, binutils
Suggests: iceweasel, konqueror-nsplugins, ttf-mscorefonts-installer, ttf-dejavu, ttf-xfree86-nonfree, flashplugin-nonfree-extrasound, hal
Conflicts: flashplayer-mozilla, flashplugin (<< 6), libflash-mozplugin, xfs (<< 1:1.0.1-5)
Description: Adobe Flash Player - browser plugin
...
6. Controllare la posizione dei pacchetti installati
Per elencare il percorso dei file da installare sul tuo sistema da nome-pacchetto.
[root@tecmint~]# dpkg -L flashplugin-nonfree
/.
/usr
/usr/bin
/usr/lib
/usr/lib/mozilla
/usr/lib/mozilla/plugins
/usr/lib/flashplugin-nonfree
/usr/lib/flashplugin-nonfree/pubkey.asc
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/update-flashplugin-nonfree.8.gz
/usr/share/applications
/usr/share/icons
/usr/share/icons/hicolor
...
7. Installa tutti i pacchetti da una directory
In modo ricorsivo, installa tutti i file regolari che corrispondono al modello "*.deb" trovato nelle directory specificate e in tutte le sue sottodirectory. Può essere utilizzato con le opzioni “-R” e “–installa”. Ad esempio, installerò tutti i pacchetti “.deb” dalla directory chiamata “debpackages“.
[root@tecmint~]# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Setting up flashplugin-nonfree (1:3.2) ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
8. Disimballare il pacchetto ma non configurarlo
L'uso dell'azione "–unpack" decomprimerà il pacchetto, ma non lo installerà né lo configurerà.
[root@tecmint~]# dpkg --unpack flashplugin-nonfree_3.2_i386.deb
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
9. Riconfigurare un pacchetto non imballato
L'opzione "–configure" riconfigurerà un pacchetto già decompresso.
[root@tecmint~]# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...
10. Sostituisci le informazioni sul pacchetto disponibili
L'opzione "–-update-avail" sostituisce le vecchie informazioni con le informazioni disponibili nel file Pacchetti.
[root@tecmint~]# dpkg –-update-avail package_name
11. Cancellare le informazioni disponibili esistenti del pacchetto
L'azione "–clear-avaial" cancellerà le informazioni attuali su quali pacchetti sono disponibili.
[root@tecmint~]# dpkg –-clear-avail
12. Dimentica i pacchetti disinstallati e non disponibili
Il comando dpkg con l'opzione "–forget-old-unavail" dimenticherà automaticamente i pacchetti disinstallati e non disponibili.
[root@tecmint~]# dpkg --forget-old-unavail
13. Visualizza la licenza dpkg
[root@tecmint~]# dpkg --licence
14. Visualizza la versione di dpkg
L'argomento "–version" mostrerà le informazioni sulla versione di dpkg.
[root@tecmint~]# dpkg –version
Debian `dpkg' package management program version 1.16.10 (i386).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
15. Ottieni tutto l'aiuto su dpkg
L'opzione "–help" mostrerà un elenco di opzioni disponibili del comando dpkg.
[root@tecmint~]# dpkg –help
Usage: dpkg [<option> ...] <command>
Commands:
-i|--install <.deb file name> ... | -R|--recursive <directory> ...
--unpack <.deb file name> ... | -R|--recursive <directory> ...
-A|--record-avail <.deb file name> ... | -R|--recursive <directory> ...
--configure <package> ... | -a|--pending
--triggers-only <package> ... | -a|--pending
-r|--remove <package> ... | -a|--pending
-P|--purge <package> ... | -a|--pending
--get-selections [<pattern> ...] Get list of selections to stdout.
--set-selections Set package selections from stdin.
--clear-selections Deselect every non-essential package.
--update-avail <Packages-file> Replace available packages info.
--merge-avail <Packages-file> Merge with info from file.
--clear-avail Erase existing available info.
--forget-old-unavail Forget uninstalled unavailable pkgs.
-s|--status <package> ... Display package status details.
...
È tutto per ora. Presto sarò di nuovo qui con un altro articolo interessante. Se ho perso qualche comando nell'elenco fatemelo sapere tramite i commenti. Fino ad allora, resta sintonizzato e resta connesso a Tecmint. Metti mi piace, condividici e aiutaci a diffondere. Non dimenticare di menzionare i tuoi preziosi pensieri nel commento.