I sistemi basati su Debian (incluso Ubuntu) utilizzano i comandi apt-* per la gestione dei pacchetti dalla riga di comando.
In questo articolo, utilizzando come esempio l'installazione di Apache 2, esaminiamo come utilizzare i comandi apt-* per visualizzare, installare, rimuovere o aggiornare i pacchetti.
1. apt-cache search:Cerca nel repository utilizzando il nome del pacchetto
Se stai installando Apache 2, potresti supporre che il nome del pacchetto sia apache2. Per verificare se si tratta di un nome di pacchetto valido, potresti voler cercare nel repository quel particolare nome di pacchetto come mostrato di seguito.
L'esempio seguente mostra come cercare nel repository un nome di pacchetto specifico.
$ apt-cache search ^apache2$ apache2 - Apache HTTP Server metapackage
2. apt-cache search:Cerca nel repository utilizzando la descrizione del pacchetto
Se non conosci il nome esatto del pacchetto, puoi comunque cercare utilizzando la descrizione del pacchetto come mostrato di seguito.
$ apt-cache search "Apache HTTP Server" apache2 - Apache HTTP Server metapackage apache2-doc - Apache HTTP Server documentation apache2-mpm-event - Apache HTTP Server - event driven model apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model apache2-mpm-worker - Apache HTTP Server - high speed threaded model apache2.2-common - Apache HTTP Server common files
3. apt-file search:Cerca nel repository utilizzando un nome file dal pacchetto
A volte potresti conoscere il nome del file di configurazione (o) il nome eseguibile del pacchetto che desideri installare.
L'esempio seguente mostra che il file apache2.conf fa parte del pacchetto apache2.2-common. Cerca nel repository con un nome di file di configurazione usando il comando apt-file come mostrato di seguito.
$ apt-file search apache2.conf apache2.2-common: /etc/apache2/apache2.conf apache2.2-common: /usr/share/doc/apache2.2-common/examples/apache2/apache2.conf.gz
4. apt-cache show:informazioni di base su un pacchetto
L'esempio seguente mostra le informazioni di base sul pacchetto apache2.
$ apt-cache show apache2 Package: apache2 Priority: optional Maintainer: Ubuntu Core Developers Original-Maintainer: Debian Apache Maintainers Version: 2.2.11-2ubuntu2.3 Depends: apache2-mpm-worker (>= 2.2.11-2ubuntu2.3) | apache2-mpm-prefork (>= 2.2.11-2ubuntu2.3) | apache2-mpm-event (>= 2.2.11-2ubuntu2.3) Filename: pool/main/a/apache2/apache2_2.2.11-2ubuntu2.3_all.deb Size: 46350 Description: Apache HTTP Server metapackage The Apache Software Foundation's goal is to build a secure, efficient and extensible HTTP server as standards-compliant open source software. Homepage: http://httpd.apache.org/
5. apt-cache showpkg:informazioni dettagliate su un pacchetto
"apt-cache show" mostra le informazioni di base su un pacchetto. Usa "apt-cache showpkg" per visualizzare informazioni dettagliate su un pacchetto come mostrato di seguito.
$ apt-cache showpkg apache2 Package: apache2 Versions: 2.2.11-2ubuntu2.3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty-updates_main_binary-i386_Packages) (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_jaunty-security_main_binary-i386_Packages) Description Language: File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty-updates_main_binary-i386_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Reverse Depends: squirrelmail,apache2 squid3-cgi,apache2 phpmyadmin,apache2 mahara-apache2,apache2 ipplan,apache2 Dependencies: 2.2.11-2ubuntu2.3 - apache2-mpm-worker (18 2.2.11-2ubuntu2.3) apache2-mpm-prefork (18 2.2.11-2ubuntu2.3) apache2-mpm-event (2 2.2.11-2ubuntu2.3) 2.2.11-2ubuntu2 - apache2-mpm-worker (18 2.2.11-2ubuntu2) apache2-mpm-prefork (18 2.2.11-2ubuntu2) apache2-mpm-event (2 2.2.11-2ubuntu2) Provides: 2.2.11-2ubuntu2.3 - 2.2.11-2ubuntu2 - Reverse Provides: apache2-mpm-itk 2.2.6-02-1build4.3 apache2-mpm-worker 2.2.11-2ubuntu2.3 apache2-mpm-prefork 2.2.11-2ubuntu2.3 apache2-mpm-prefork 2.2.11-2ubuntu2 apache2-mpm-event 2.2.11-2ubuntu2
6. apt-file list:elenca tutti i file che si trovano all'interno di un pacchetto
Usa "apt-file list" per visualizzare tutti i file che si trovano all'interno del pacchetto apache2 come mostrato di seguito.
$ apt-file list apache2 | more apache2: /usr/share/bug/apache2/control apache2: /usr/share/bug/apache2/script apache2: /usr/share/doc/apache2/NEWS.Debian.gz apache2: /usr/share/doc/apache2/README.Debian.gz apache2: /usr/share/doc/apache2/changelog.Debian.gz ...
7. apt-cache dipende:elenca tutti i pacchetti dipendenti
Prima dell'installazione, se desideri visualizzare tutti i pacchetti dipendenti, usa "apt-cache depend" come mostrato di seguito.
$ apt-cache depends apache2 apache2 |Depends: apache2-mpm-worker |Depends: apache2-mpm-prefork Depends: apache2-mpm-event
8. dpkg -l:il pacchetto è già installato?
Prima di installare un pacchetto, potresti voler assicurarti che non sia già installato come mostrato di seguito usando il comando dpkg -l.
$ dpkg -l | grep -i apache
9. apt-get install:installa un pacchetto
Infine, installa il pacchetto usando "apt-get install" come mostrato di seguito.
$ sudo apt-get install apache2 [sudo] password for ramesh: The following NEW packages will be installed: apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libpq5 0 upgraded, 7 newly installed, 0 to remove and 26 not upgraded.
10. dpkg -l :verifica se il pacchetto è stato installato correttamente
Dopo aver installato il pacchetto, usa "dpkg -l" per assicurarti che sia stato installato correttamente.
$ dpkg -l | grep apache ii apache2 2.2.11-2ubuntu2.3 Apache HTTP Server metapackage ii apache2-mpm-worker 2.2.11-2ubuntu2.3 Apache HTTP Server - high speed threaded mod ii apache2-utils 2.2.11-2ubuntu2.3 utility programs for webservers ii apache2.2-common 2.2.11-2ubuntu2.3 Apache HTTP Server common files
11. apt-get remove:elimina un pacchetto
Usa "apt-get purge" o "apt-get remove" per eliminare un pacchetto come mostrato di seguito.
$ sudo apt-get purge apache2 (or) $ sudo apt-get remove apache2 The following packages were automatically installed and are no longer required: apache2-utils linux-headers-2.6.28-11 libapr1 apache2.2-common linux-headers-2.6.28-11-generic apache2-mpm-worker libpq5 libaprutil1 Use 'apt-get autoremove' to remove them. The following packages will be REMOVED: apache2 0 upgraded, 0 newly installed, 1 to remove and 26 not upgraded. Removing apache2 ...
- apt-get rimuovi non eliminare i file di configurazione del pacchetto
- apt-get eliminazione cancellerà i file di configurazione del pacchetto
12. apt-get -u install:aggiorna un pacchetto specifico
L'esempio seguente mostra come aggiornare un pacchetto specifico.
$ sudo apt-get -u install apache2 Reading package lists... Done Building dependency tree Reading state information... Done apache2 is already the newest version. The following packages were automatically installed and are no longer required: linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic Use 'apt-get autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 26 not upgraded.
13. apt-get -u upgrade:aggiorna tutti i pacchetti
Per aggiornare tutti i pacchetti all'ultima versione, usa "apt-get -u upgrade" come mostrato di seguito.
$ sudo apt-get -u upgrade The following packages will be upgraded: libglib2.0-0 libglib2.0-data libicu38 libsmbclient libwbclient0 openoffice.org-base-core openoffice.org-calc openoffice.org-common openoffice.org-core openoffice.org-draw openoffice.org-emailmerge openoffice.org-gnome openoffice.org-gtk openoffice.org-impress openoffice.org-math openoffice.org-style-human openoffice.org-writer python-uno samba-common smbclient ttf-opensymbol tzdata 26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.