GNU/Linux >> Linux Esercitazione >  >> Linux

Come gestire i pacchetti utilizzando i comandi apt-get, apt-cache, apt-file e dpkg (con 13 esempi pratici)

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.

Linux
  1. Come utilizzare i comandi "cat" e "tac" con esempi in Linux

  2. Come utilizzare il comando Hexdump di Linux con esempi pratici

  3. Comandi Head and Tail in Linux spiegati con esempi

  4. Come gestire i pacchetti NodeJS usando Npm

  5. Esercitazione sui comandi di espansione e annullamento con esempi

Come utilizzare i comandi Netcat con gli esempi

Come installare e gestire i pacchetti su CentOS utilizzando RPM

Come gestire i pacchetti Python utilizzando PIP

Come visualizzare i cheatsheet dei comandi di Linux usando ad es

I comandi alias e unalias spiegati con esempi

Come cercare LDAP usando ldapsearch (con esempi)