Differences between revisions 8 and 14 (spanning 6 versions)
Revision 8 as of 2019-08-16 15:56:15
Size: 7084
Editor: nodiscc
Comment: update Category(Quick)PackageManagement (merged)
Revision 14 as of 2022-01-10 14:31:20
Size: 8356
Comment: sync with English master v.74
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[AptCLI|English]] - [[fr/AptCLI|Français]] - Italiano - [[ko/AptCLI|한국어(Korean)]] - [[AptCLIDutch|Nederlands]]-~ <<Include(AptCLI, ,from="^##TAG:TRANSLATION-HEADER-START",to="^##TAG:TRANSLATION-HEADER-END")>>
Line 4: Line 4:
Questa pagina descrive come usare vari strumenti CLI (interfaccia a riga di comando) per Apt. Questa pagina descrive come usare vari [[it/PackageManagementTools|Strumenti per la gestione di pacchetti]] con [[it/CommandLineInterface|Interfaccia a riga di comando]] .
Line 7: Line 7:

(Notare che una CLI o console [[it/Root|root]] (in GNOME) si può quasi certamente trovare in "Applicazioni -> Strumenti di sistema -> Terminale Root" e in "Applicazioni -> Strumenti di sistema -> Terminale" si può trovare una console per utente normale.)

{{http://www.vanadac.com/~dajhorn/projects/lmsw/10%20Spam/01%20apt-get%20install%20perlstuff.png}}

== Configurare le fonti di Apt ==

Apt scarica i pacchetti e li installa sul vostro computer. Per farlo si connette ad archivi di software, o fonti (in inglese ''source''), che contengono tutti i pacchetti che si possono desiderare. Si può configurare Apt per usare una fonte (o fonti multiple) da cui ottenere questi pacchetti. Ci sono molte fonti: server web (HTTP), server FTP, dischi CD-ROM, server di rete (ecc). Generalmente gli utenti scaricano i pacchetti da Internet, dato che la maggior parte di essi non scarica tutti i 14 CD (per l'attuale rilascio di Sarge).

=== Modificando le fonti direttamente ===

Si può modificare direttamente il file che determina le proprie fonti:

Aprire una console [[it/Root|root]]
{{{
# nano /etc/apt/sources.list
}}}
oppure
{{{
# gedit /etc/apt/sources.list
}}}
Modificare!

Prima si dovrebbe leggere il manuale di questo file di configurazione: digitare "{{{man sources.list}}}" in una finestra di console. Si può anche leggere la pagina [[it/SourcesList|sources.list]].

=== Usando apt-setup ===

Si può usare lo strumento '''apt-setup''' che genera automaticamente righe con fonti e le aggiunge a /etc/apt/sources.list (il file che configura le fonti apt). Notare che apt-setup non cancella la configurazione esistente: semplicemente vi aggiunge in fondo ulteriori fonti. apt-setup è un assistente di configurazione per [[DebConf|debconf]].

Notare che apt-setup faceva parte di base-config che non è più disponibile in [[it/DebianEtch|Debian Etch]] o [[it/DebianUnstable|Debian Unstable]], si faccia riferimento a [[DebianInstaller/RemoveBaseConfig]] e a http://lists.debian.org/debian-boot/2005/12/msg00259.html per ulteriori dettagli.

Aprire una console di root
{{{
# apt-setup
}}}
Seguite la configurazione guidata!

=== Usando apt-spy ===

apt-spy genera un file sources.list (il file di configurazione per le fonti dei pacchetti per apt) al posto vostro! Misura la latenza e la larghezza di banda dei server e sceglie il migliore.

Come prima cosa è necessario installarlo e poi leggere come usarlo:

Aprire una console di root
{{{
aptitude install apt-spy
{{{#!wiki tip
La maggior parte dei comandi negli esempi forniti devono essere eseguiti come [[it/Root|root]] in una console o [[it/TerminalEmulator|emulatore di terminale]]. Una console di root (in GNOME) può molto probabilmente essere trovata in {{{Applicazioni > Strumenti di sistema > Terminale root}}}. Si può anche usare [[it/sudo|sudo]] per modificare questi file da una console in esecuzione come account utente normale.
Line 55: Line 11:
Quando si usa apt-spy è necessario includere almeno {{{-d}}} e la distribuzione Debian che si vuole testare.
Esempio di primo uso:
{{{
# apt-spy -d stable
}}}
== Installare, rimuovere e aggiornare pacchetti ==
Line 61: Line 13:
Questo comando controllerà tutti i repository per la versione Stable di Debian per vedere quali sono i più veloci. Se si vuole solamente controllare i repository della propria area si deve includere {{{-a}}} e la posizione; le aree permesse includono North America, South America, Asia, Europe e Australia e New Zealand. Ci sono molti strumenti a riga di comando dedicati alla gestione dei pacchetti in Debian. Tali programmi includono [[it/aptitude|aptitude]], [[it/apt-get|apt-get]] e {{{apt}}}. Questo esempio usa {{{apt}}} ma altri gestori di pacchetti utilizzano comandi identici.
Line 63: Line 15:
==== Opzioni per apt-spy ==== Nei comandi sostituire {{{<pacchetto>}}} con il nome del pacchetto oggetto dell'azione desiderata.
Line 65: Line 17:
 *-d distribuzione - la distribuzione Debian (es., stable). Richiesto a meno che non si stia aggiornando.
 *-a area - Area da testare. (es, Europe).
 *-c config - File di configurazione da usare.
 *-e numero - Numero di server da testare prima di terminare.
 *-f file - File da scaricare durante il test (specificato in relazione a Debian come base).
 *-i file - File di input specificato. Per l'uso con l'opzione -w.
 *-m elenco-di-mirror - Elenco di mirror da usare o elenco-di-mirror da aggiornare, se si sta facendo un aggiornamento.
 *-o file-output - File in cui mettere l'output.
 *-p proxy - Server proxy da usare.


=== Usando un programma grafico ===

Se si usa GNOME ''(non so come sia per KDE)'', che è il desktop predefinito in Debian, si possono configurare le proprie fonti per Apt con un programma grafico. Lo si può trovare in:
 * per Etch: Desktop ''menu'' -> Amministrazione -> Proprietà software

Verrà chiesta la [[it/Root#Password|password di root]].

== Installare pacchetti ==

Aprire una console di root
{{{
# aptitude install <pacchetto>
}}}
dove <pacchetto> è il nome del pacchetto (applicazione) che si vuole installare.

== Reinstallare ==

Per reinstallare un pacchetto digitare in un terminale:
{{{
aptitude reinstall <pacchetto>
}}}
Per reinstallarlo insieme a tutte le dipendenze digitare:
{{{
# aptitude reinstall <pacchetto> $(apt-cache depends --recurse --installed <pacchetto> ||grep '[ ]')
}}}


== Rimuovere un pacchetto ==

{{{
# aptitude remove <pacchetto>
}}}
dove <pacchetto> è il nome del pacchetto (applicazione) che si desidera rimuovere.

Per cancellare anche le directory e i file creati dal pacchetto dopo l'installazione, come file di configurazione o di stato ('''Attenzione''': ciò potrebbe includere anche file modificati dall'utente), usare:
{{{
# aptitude purge <pacchetto>
}}}

== Aggiornare un pacchetto ==

Aprire una console root
{{{
# aptitude upgrade <pacchetto>
}}}
dove <pacchetto> è il nome del pacchetto (applicazione) che si desidera aggiornare.
 * Installare un pacchetto: {{{apt install <pacchetto>}}}
 * Reinstallare un pacchetto: {{{apt reinstall <pacchetto>}}}
 * Reinstallare un pacchetto e tutte le sue dipendenze {{{apt reinstall <pacchetto> $(apt-cache depends --recurse --installed <pacchetto> ||grep '[ ]')}}}
 * Rimuovere un pacchetto: {{{apt remove <pacchetto>}}}
 * Rimuovere un pacchetto e tutti i suoi file di dati e di configurazione ('''Fare attenzione!'''): {{{apt purge <pacchetto>}}}
 * Aggiornare un pacchetto: {{{apt upgrade <pacchetto>}}}
Line 125: Line 26:
Aprire una console root
{{{
# aptitude update
# aptitude upgrade
}}}
Questo fa tutti gli aggiornamenti di pacchetti che non interferiscono con l'installazione di altri pacchetti.
Per aggiornare tutti i pacchetti senza rimuoverne alcuno (aggiornamento ''sicuro''):
Line 133: Line 29:
# aptitude dist-upgrade apt update
apt
upgrade
Line 135: Line 32:
Questo fa tutti gli aggiornamenti dei pacchetti anche se richiedono l'installazione o la rimozione di qualche altro pacchetto. Controllare i pacchetti che dovranno essere RIMOSSI: ogni pacchetto lib<pippo> non è un problema. Se dovesse rimuovere qualcosa che si usa e non c'è nulla che lo vada evidentemente a rimpiazzare (es. emacs20 rimpiazzato da emacs21), si può prendere un appunto in modo da poter reinstallarlo successivamente (quando sarà disponibile un pacchetto compatibile), o si può fare il "pin" di quel pacchetto (vedere "{{{man apt_preferences}}}") prima di usare "{{{dist-upgrade}}}".
Per
fare un aggiornamento dei pacchetti che richiede l'installazione o la rimozione di qualche altro pacchetto, eseguire il comando seguente e controllare i pacchetti che dovranno essere RIMOSSI: ogni pacchetto lib<pippo> non è un problema. Se dovesse rimuovere qualcosa che si usa e non c'è nulla che lo vada evidentemente a rimpiazzare (es. emacs20 rimpiazzato da emacs21), si può prendere un appunto in modo da poter reinstallarlo successivamente (quando sarà disponibile un pacchetto compatibile), o si può fare il "pin" di quel pacchetto (vedere la pagina wiki [[it/AptPreferences|Preferenze di Apt]] prima di usare "{{{dist-upgrade}}}".

{{{
apt dist-upgrade
}}}
Line 139: Line 41:
Aprire una console
{{{
$ apt-cache search <stringa>
}}} dove <stringa> è un elenco di parole chiave da cercare.
In aggiunta agli strumenti elencati sopra, si può anche usare il comando {{{apt-cache}}} per cercare pacchetti.
Line 144: Line 43:
Si può indirizzare l'output con una pipe (ridirigere l'output) verso "less" (un visualizzatore scorribile) dato che l'elenco potrebbe essere molto grande: Nel comando sottostante sostituire {{{<stringa>}}} con una lista di parole chiave da cercare (nei nomi o nelle descrizioni dei pacchetti).
Line 147: Line 46:
$ apt-cache search <stringa> | less apt search <string>
Line 149: Line 48:

Si può voler redirigere l'output in {{{less}}} (un paginatore scorribile) dato che l'elenco può essere enorme: {{{ apt-cache search <stringa> | less }}}

Per cercare pacchetti solo in base al nome si può usare {{{dpkg-query -l '*<stringa>*'}}}

Si possono anche trovare informazioni sui pacchetti nelle seguenti directory:

 * {{{/var/lib/apt/lists/*}}}
 * {{{/var/lib/dpkg/available}}}: elenco dei pacchetti disponibili dai repository.
 * {{{/var/lib/dpkg/status}}}: stato dei pacchetti installati e disponibili. Questo file contiene informazioni riguardo se un pacchetto è contrassegnato o meno per la rimozione, se è installato o no, ecc. Un pacchetto contrassegnato come {{{reinst-required}}} è difettoso ed è necessario che sia reinstallato.

=== apt-file ===

L'utilità '''apt-file''', dal pacchetto DebianPkg:apt-file può cercare file contenuti in pacchetti Debian. Può cercare in quale pacchetto è incluso un file o elencare il contenuto di un pacchetto senza doverlo installare o scaricare.

 * Cercare un nome di file: per cercare i pacchetti che forniscono un particolare nome di file usare `apt-file search <nomefile>`
 * Elencare il contenuto di un pacchetto: per elencare i contenuti di un pacchetto senza doverlo installare o scaricare, usare `apt-file list <nomepacchetto>
 * Aggiornare il database dei pacchetti: per aggiornare il database con le informazioni sui pacchetti utilizzato da apt-file usare `apt-file update`

=== Ricerca online usando il sito web di Debian ===

È anche possibile usare la pagina sui pacchetti del sito web di Debian sia per [[https://www.debian.org/distrib/packages.html#search_packages|cercare pacchetti]] sia per [[https://www.debian.org/distrib/packages.html#search_contents|cercare nel contenuto dei pacchetti]].
Line 152: Line 73:
Aprire una console Per elencare i pacchetti installati usare uno dei comandi seguenti:
 * {{{ dpkg --list }}}
 * {{{ aptitude search ~i }}}
 * {{{ dpkg-query -l }}}
 * {{{ dpkg-query -f '${binary:Package}\n' -W }}}
 * {{{ dpkg -l | grep '^.i' }}}
 * {{{ apt-cache pkgnames }}}
 * {{{dpkg --get-selections}}}

Per controllare lo stato di tutti i pacchetti sul proprio sistema, eseguire {{{dpkg-query -l '*' | less}}}

== Elencare i file installati da un pacchetto ==
Line 154: Line 87:
$ dpkg --list dpkg -L <pacchetto>
}}}

== Replicare il software installato ==

Nel vecchio sistema, fare il backup delle informazioni sui pacchetti installati:

{{{
dpkg --get-selections >/backup/package-selections
}}}

Trasferire il file {{{backup/package-selections}}} sul nuovo sistema ed eseguire:

{{{
apt install $(cat /backup/package-selections | awk '{print $1}')
}}}

== Simulare le operazioni ==

La maggior parte dei gestori di pacchetti (`apt`, `aptitude`, `apt-get`,...) permette l'opzione `--simulate`, alias `-s`, per la riga di comando. Ciò permette di vedere quali pacchetti verrebbero installati, rimossi, aggiornati, ecc da una determinata operazione, senza di fatto effettuarla. Ad esempio, per vedere quali pacchetti verrebbero installati se si fa un aggiornamento, usare:

{{{
apt --simulate upgrade
}}}

== Cancellare i file di pacchetto nella cache ==

APT mantiene una cache locale dei pacchetti `.deb` scaricati/installati in `/var/lib/apt/cache/`. Se si desidera cancellare i file di pacchetto nella che sono già stati installati per recuperare dello spazio su disco, usare:

{{{
apt clean
}}}

Se si desidera mantenere una cache locale con solo le versioni più recenti:

{{{
apt autoclean
}}}

Questo comando ripulirà il repository locale da tutti i pacchetti in più che non possono essere scaricati e sono per grande parte inutili.

== Riconfigurare i pacchetti ==

Quando i pacchetti vengono installati, viene a volte chiesto di configurarli usando una procedura guidata (la maggior parte dei pacchetti non richiede configurazione). Per visualizzare nuovamente la configurazione dei pacchetti, usare:

{{{
dpkg-reconfigure <pacchetto>
}}}

== Trovare a quale pacchetto appartiene un file ==

Per trovare a quali pacchetto Debian appartiene un particolare file, usare:

{{{
dpkg -S /percorso/del/file
}}}

Dove `/percorso/del/file` è il percorso completo del file. Per trovare il percorso completo di un binario/programma chiamato {{{mioprogramma}}}, usare `which mioprogramma`.

== Trovare quali pacchetti dipendono da un pacchetto specifico ==

Per determinare quali pacchetti dipendono da un pacchetto specifico chiamato {{{miopacchetto}}}:

{{{
apt-cache rdepends miopacchetto
}}}

Per determinare quali pacchetti hanno dipendenze di '''build''' da uno specifico pacchetto chiamato {{{miopacchetto}}}:


{{{
grep-dctrl -F Build-Depends miopacchetto -s Package /var/lib/apt/lists/*Sources
grep-dctrl -F Build-Depends-Indep miopacchetto -s Package /var/lib/apt/lists/*Sources
Line 159: Line 164:
 * [[it/AptTools|Strumenti APT]] - Ulteriori strumenti Apt
 * [[it/Synaptic|Synaptic]] - Sistema Apt grafico
 * [[it/Aptitude|Aptitude]] - Potente sistema Apt basato su ncurses
 * [[SecureApt]] - firme crittografiche (''in inglese'')
 * La pagina del wiki principale per [[it/Apt|Apt]]
 * [[it/PackageManagement|Gestione dei pacchetti]]
 * [[it/PackageManagementTools|Strumenti di gestione dei pacchetti]]

{{{#!wiki comment
Mettere ogni collegamento a pagine relative ad Apt nella pagina principale di Apt, in modo che tutti possano essere trovati là.
}}}

{{{#!wiki comment
Il commento soprastante non sembra più aver importanza visto che la pagina Apt è ora molto piccola e tutte le informazioni sono state spostate altrove.
}}}
Line 165: Line 177:
CategoryPackageManagement CategoryPackageManagement | CategorySoftware


Questa pagina descrive come usare vari Strumenti per la gestione di pacchetti con Interfaccia a riga di comando .

La maggior parte dei comandi negli esempi forniti devono essere eseguiti come root in una console o emulatore di terminale. Una console di root (in GNOME) può molto probabilmente essere trovata in {{{Applicazioni > Strumenti di sistema > Terminale root

. Si può anche usare sudo per modificare questi file da una console in esecuzione come account utente normale.}}}

Installare, rimuovere e aggiornare pacchetti

Ci sono molti strumenti a riga di comando dedicati alla gestione dei pacchetti in Debian. Tali programmi includono aptitude, apt-get e apt. Questo esempio usa apt ma altri gestori di pacchetti utilizzano comandi identici.

Nei comandi sostituire <pacchetto> con il nome del pacchetto oggetto dell'azione desiderata.

  • Installare un pacchetto: apt install <pacchetto>

  • Reinstallare un pacchetto: apt reinstall <pacchetto>

  • Reinstallare un pacchetto e tutte le sue dipendenze apt reinstall <pacchetto> $(apt-cache depends --recurse --installed <pacchetto> ||grep '[ ]')

  • Rimuovere un pacchetto: apt remove <pacchetto>

  • Rimuovere un pacchetto e tutti i suoi file di dati e di configurazione (Fare attenzione!): apt purge <pacchetto>

  • Aggiornare un pacchetto: apt upgrade <pacchetto>

Mantenere aggiornato il proprio sistema

Per aggiornare tutti i pacchetti senza rimuoverne alcuno (aggiornamento sicuro):

apt update
apt upgrade

Per fare un aggiornamento dei pacchetti che richiede l'installazione o la rimozione di qualche altro pacchetto, eseguire il comando seguente e controllare i pacchetti che dovranno essere RIMOSSI: ogni pacchetto lib<pippo> non è un problema. Se dovesse rimuovere qualcosa che si usa e non c'è nulla che lo vada evidentemente a rimpiazzare (es. emacs20 rimpiazzato da emacs21), si può prendere un appunto in modo da poter reinstallarlo successivamente (quando sarà disponibile un pacchetto compatibile), o si può fare il "pin" di quel pacchetto (vedere la pagina wiki Preferenze di Apt prima di usare "dist-upgrade".

apt dist-upgrade

Cercare pacchetti

In aggiunta agli strumenti elencati sopra, si può anche usare il comando apt-cache per cercare pacchetti.

Nel comando sottostante sostituire <stringa> con una lista di parole chiave da cercare (nei nomi o nelle descrizioni dei pacchetti).

apt search <string>

Si può voler redirigere l'output in less (un paginatore scorribile) dato che l'elenco può essere enorme:  apt-cache search <stringa> | less 

Per cercare pacchetti solo in base al nome si può usare dpkg-query -l '*<stringa>*'

Si possono anche trovare informazioni sui pacchetti nelle seguenti directory:

  • /var/lib/apt/lists/*

  • /var/lib/dpkg/available: elenco dei pacchetti disponibili dai repository.

  • /var/lib/dpkg/status: stato dei pacchetti installati e disponibili. Questo file contiene informazioni riguardo se un pacchetto è contrassegnato o meno per la rimozione, se è installato o no, ecc. Un pacchetto contrassegnato come reinst-required è difettoso ed è necessario che sia reinstallato.

apt-file

L'utilità apt-file, dal pacchetto apt-file può cercare file contenuti in pacchetti Debian. Può cercare in quale pacchetto è incluso un file o elencare il contenuto di un pacchetto senza doverlo installare o scaricare.

  • Cercare un nome di file: per cercare i pacchetti che forniscono un particolare nome di file usare apt-file search <nomefile>

  • Elencare il contenuto di un pacchetto: per elencare i contenuti di un pacchetto senza doverlo installare o scaricare, usare `apt-file list <nomepacchetto>

  • Aggiornare il database dei pacchetti: per aggiornare il database con le informazioni sui pacchetti utilizzato da apt-file usare apt-file update

Ricerca online usando il sito web di Debian

È anche possibile usare la pagina sui pacchetti del sito web di Debian sia per cercare pacchetti sia per cercare nel contenuto dei pacchetti.

Elencare i pacchetti installati

Per elencare i pacchetti installati usare uno dei comandi seguenti:

  •  dpkg --list 

  •  aptitude search ~i 

  •  dpkg-query -l 

  •  dpkg-query -f '${binary:Package}\n' -W 

  •  dpkg -l | grep '^.i' 

  •  apt-cache pkgnames 

  • dpkg --get-selections

Per controllare lo stato di tutti i pacchetti sul proprio sistema, eseguire dpkg-query -l '*' | less

Elencare i file installati da un pacchetto

dpkg -L <pacchetto>

Replicare il software installato

Nel vecchio sistema, fare il backup delle informazioni sui pacchetti installati:

dpkg --get-selections >/backup/package-selections

Trasferire il file backup/package-selections sul nuovo sistema ed eseguire:

apt install $(cat /backup/package-selections | awk '{print $1}')

Simulare le operazioni

La maggior parte dei gestori di pacchetti (apt, aptitude, apt-get,...) permette l'opzione --simulate, alias -s, per la riga di comando. Ciò permette di vedere quali pacchetti verrebbero installati, rimossi, aggiornati, ecc da una determinata operazione, senza di fatto effettuarla. Ad esempio, per vedere quali pacchetti verrebbero installati se si fa un aggiornamento, usare:

apt --simulate upgrade

Cancellare i file di pacchetto nella cache

APT mantiene una cache locale dei pacchetti .deb scaricati/installati in /var/lib/apt/cache/. Se si desidera cancellare i file di pacchetto nella che sono già stati installati per recuperare dello spazio su disco, usare:

apt clean

Se si desidera mantenere una cache locale con solo le versioni più recenti:

apt autoclean

Questo comando ripulirà il repository locale da tutti i pacchetti in più che non possono essere scaricati e sono per grande parte inutili.

Riconfigurare i pacchetti

Quando i pacchetti vengono installati, viene a volte chiesto di configurarli usando una procedura guidata (la maggior parte dei pacchetti non richiede configurazione). Per visualizzare nuovamente la configurazione dei pacchetti, usare:

dpkg-reconfigure <pacchetto>

Trovare a quale pacchetto appartiene un file

Per trovare a quali pacchetto Debian appartiene un particolare file, usare:

dpkg -S /percorso/del/file

Dove /percorso/del/file è il percorso completo del file. Per trovare il percorso completo di un binario/programma chiamato mioprogramma, usare which mioprogramma.

Trovare quali pacchetti dipendono da un pacchetto specifico

Per determinare quali pacchetti dipendono da un pacchetto specifico chiamato miopacchetto:

apt-cache rdepends miopacchetto

Per determinare quali pacchetti hanno dipendenze di build da uno specifico pacchetto chiamato miopacchetto:

grep-dctrl -F Build-Depends miopacchetto -s Package /var/lib/apt/lists/*Sources
grep-dctrl -F Build-Depends-Indep miopacchetto -s Package /var/lib/apt/lists/*Sources

Ulteriori letture


CategoryPackageManagement | CategorySoftware