Guida ai comandi da terminale - Gestione di repository e pacchetti: differenze tra le versioni

"aggiornamento" per uso di apt dove possibile in luogo di apt-get,apt-cache,nano per modifica repository
mNessun oggetto della modifica
("aggiornamento" per uso di apt dove possibile in luogo di apt-get,apt-cache,nano per modifica repository)
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 6: Riga 6:
La lista dei [[repository]] configurati per il vostro sistema si trova nel file <code>/etc/apt/sources.list</code>, ed eventuali altri repository di terze parti possono trovarsi nei file con estensione <code>.list</code> presenti nella directory <code>/etc/apt/sources.list.d</code>. Per modificare il primo file o aggiungere un nuovo file <code>.list</code> alla directory, basta aprire o creare il file con un qualsiasi editor di testo.
La lista dei [[repository]] configurati per il vostro sistema si trova nel file <code>/etc/apt/sources.list</code>, ed eventuali altri repository di terze parti possono trovarsi nei file con estensione <code>.list</code> presenti nella directory <code>/etc/apt/sources.list.d</code>. Per modificare il primo file o aggiungere un nuovo file <code>.list</code> alla directory, basta aprire o creare il file con un qualsiasi editor di testo.


Per esempio se vogliamo aprire il file <code>/etc/apt/sources.list</code> con Nano (editor di testo di default su console) digiteremo:
Per esempio se vogliamo aprire il file <code>/etc/apt/sources.list</code> con il nostro editor preferito (si consiglia [[nano]] in caso di dubbi) digiteremo, in modo da avvalerci anche di un minimo controllo di sintassi per individuare subito alcuni possibili errori di digitazione:
<pre>
<pre>
# nano /etc/apt/sources.list
# apt edit-sources
</pre>
</pre>
Una volta apportate le modifiche è necessario digitare <code>Ctrl-O</code> per salvarle e <code>Ctrl-X</code> per uscire.
dopo aver ottenuto [[privilegi di amministrazione]].


== Aggiornamento del sistema operativo ==
== Aggiornamento del sistema operativo ==
Per aggiornare Debian con gli ultimi pacchetti disponibili per la vostra versione dovrete lanciare due comandi:
Per aggiornare Debian con gli ultimi pacchetti disponibili per la vostra versione dovrete lanciare due comandi:
<pre>
# apt update
# apt upgrade
</pre>
Il primo comando aggiorna soltanto la lista dei pacchetti disponibili, mentre il secondo effettua l'aggiornamento dei pacchetti già installati (purché non comporti la rimozione di pacchetti presenti nel sistema). Si noti che entrambi i comandi sono necessari, infatti se la lista dei pacchetti non è aggiornata il solo comando <code>apt upgrade</code> non effettuerà mai alcun aggiornamento.
{{Box|Differenze con <code>apt-get</code>|Questi comandi tramite l'eseguibile <code>apt</code>, introdotto con Debian 8 ([[Jessie]]) nell'omonimo pacchetto '''apt''' che contiene anche <code>apt-get</code> e <code>apt-cache</code>, sono simili ma non uguali a quelli utilizzati storicamente con [[apt-get]]:
<pre>
<pre>
# apt-get update
# apt-get update
# apt-get upgrade
# apt-get upgrade
</pre>
</pre>
Il primo comando aggiorna soltanto la lista dei pacchetti disponibili, mentre il secondo effettua l'aggiornamento dei pacchetti già installati (purché non comporti la rimozione o l'installazione di nuovi pacchetti). Si noti che entrambi i comandi sono necessari, infatti se la lista dei pacchetti non è aggiornata il solo comando <code>apt-get upgrade</code> non effettuerà mai alcun aggiornamento.
in quanto <code>apt-get upgrade</code> non installa nuovi pacchetti.}}


Se si utilizza la [[testing]] o Debian [[Sid]], o si sono mescolate diverse release (pratica molto sconsigliata, se non si è sicuri di quello che si sta facendo, che può ridurre drasticamente la stabilità del sistema e che richiede la conoscenza e la configurazione del [[pinning]]), potrebbe essere necessario l'utilizzo di:
Se si effettua un [[avanzamento di versione]], al rilascio di una nuova [[stable]], oppure si utilizza la [[testing]] o Debian [[Sid]], o ancora si sono mescolate diverse release (pratica molto sconsigliata, se non si è sicuri di quello che si sta facendo, che può ridurre drasticamente la stabilità del sistema e che richiede la conoscenza e la configurazione del [[pinning]]), potrebbe essere necessario l'utilizzo di:
<pre>
<pre>
# apt-get update
# apt update
# apt-get dist-upgrade
# apt full-upgrade
</pre>
</pre>
che, sempre dopo aver aggiornato la lista dei pacchetti, consente l'aggiornamento anche in presenza di nuovi pacchetti da installare o di pacchetti installati da rimuovere.
che, sempre dopo aver aggiornato la lista dei pacchetti, consente l'aggiornamento anche in presenza di nuovi pacchetti da installare o di pacchetti installati da rimuovere.


== Installazione di un programma o di un pacchetto ==
== Installazione di un programma o di un pacchetto ==
Se vogliamo installare un programma o un pacchetto presente nei repository a vostra disposizione, ci basterà semplicemente digitare da terminale:
Se vogliamo installare un programma o un pacchetto presente nei repository a vostra disposizione, ci basterà semplicemente digitare da terminale:
<pre>
<pre>
# apt-get install programma
# apt install programma
</pre>
</pre>


Se vogliamo installare, ad esempio, VLC, digitiamo:
Se vogliamo installare, ad esempio, VLC, digitiamo:
<pre>
<pre>
# apt-get install vlc
# apt install vlc
</pre>
</pre>


Il nome del programma, e la possibilità di installarlo in questo modo, dipendono dalla presenza dei pacchetti nella vostra lista repository e dal loro nome. Una lista completa dei pacchetti repo presenti nel vostro sistema la avete andando su Sistema –> Amministrazione –> Gestore pacchetti Synaptic, e per poterli installare ovviamente avrete bisogno di permessi di sudoer o di [[root]].
Il nome del programma, e la possibilità di installarlo in questo modo, dipendono dalla presenza dei pacchetti nella vostra lista repository e dal loro nome.<br/>
Se il vostro programma non compare nell'elenco, ma avete trovato in giro dei repository che lo includono (righe di testo), per utilizzarle dovrete integrarle nella vostra lista repository, seguite il paragrafo “Modifica della lista dei repository”.
Se il vostro programma non compare nell'elenco, ma avete trovato in giro dei repository che lo includono (righe di testo), per utilizzarle dovrete integrarle nella vostra lista repository, seguite il paragrafo “Modifica della lista dei repository”.


== Ricerca di un pacchetto e informazioni ==
== Ricerca di un pacchetto e informazioni ==
Volete installare un programma, ma non conoscete il nome del pacchetto con il quale è stato inserito nei repository di Debian?<br>
Volete installare un programma, ma non conoscete il nome del pacchetto con il quale è stato inserito nei repository di Debian?<br/>
Il seguente comando può esservi di aiuto:
Il seguente comando può esservi di aiuto:
<pre>
<pre>
$ apt-cache search nome_pacchetto
$ apt search nome_pacchetto
</pre>
</pre>
Il comando esegue una ricerca full text all'interno dei nomi e delle descrizioni dei pacchetti dei repository abilitati. Ad esempio:
Il comando esegue una ricerca full text all'interno dei nomi e delle descrizioni dei pacchetti dei repository abilitati. Ad esempio:
<pre>
<pre>
$ apt-cache search tellico
$ apt search tellico
</pre>
</pre>
ci restituirà:
ci restituirà:
<pre>
<pre>
alexandria - a GNOME application for managing book collections
tellico - collection manager for books, videos, music
tellico - collection manager for books, videos, music
tellico-data - collection manager for books, videos, music [data]
tellico-data - collection manager for books, videos, music [data]
Riga 61: Riga 66:
Quindi possiamo ottenere varie informazioni sul pacchetto che cerchiamo con:
Quindi possiamo ottenere varie informazioni sul pacchetto che cerchiamo con:
<pre>
<pre>
$ apt-cache show nome_pacchetto
$ apt show nome_pacchetto
</pre>
</pre>
Ad esempio:
Ad esempio:
<pre>
<pre>
$ apt-cache show tellico
$ apt show tellico
</pre>
</pre>
Elencare le sole dipendenze:
 
* dirette (necessarie)
Per ricerche complesse risulta ancora utile <code>apt-cache</code>, che in aggiunta a <code>search</code> e <code>show</code> (stessa sintassi di <code>apt</code>), mette a disposizione altri comandi. Per esempio per elencare le sole dipendenze:
* dirette (necessarie, ma anche raccomandate o suggerite)
<pre>
<pre>
$ apt-cache depends tellico
$ apt-cache depends tellico
</pre>
</pre>
* indirette (raccomandate o utili a seconda del tipo di richiesta o configurazione del sistema)
* inverse (ossia quali pacchetti hanno come dipendenza quello scelto)
<pre>
<pre>
$ apt-cache rdepends tellico
$ apt-cache rdepends tellico
</pre>
</pre>
Informazioni su quale repository abbia la priorità (utile nella gestione del pinning):
Oppure per mostrare le informazioni su quale repository abbia la priorità (utile nella gestione del pinning):
<pre>
<pre>
$ apt-cache policy tellico
$ apt-cache policy tellico
</pre>
</pre>
Visionare il changelog prima di aggiornare il pacchetto:
Scaricare e visionare il changelog prima di aggiornare il pacchetto (si noti che in questo caso il comando è <code>apt-get</code>, in quanto non sono informazioni disponibili nel sistema):
<pre>
<pre>
$ apt-get changelog tellico
$ apt-get changelog tellico
</pre>
</pre>
Sapere perché un pacchetto è installato o perché andrebbe installato:
 
Si noti che per ricerche e ottenere informazioni sui pacchetti non sono necessari [[privilegi di amministrazione]], permettendo di eseguirli a tutti gli utenti. I privilegi sono necessari soltanto per effettuare installazioni, aggiornamenti o rimozioni dei pacchetti.
 
=== Informazioni aggiuntive ===
Per ottenere ulteriori informazioni è utile [[aptitude]], sebbene a partire da Debian 9 ([[Stretch]]) non sia installato di default. Basta provvedervi come visto in precedenza (<code>apt install aptitude</code>).
 
Per sapere perché un pacchetto è installato o perché andrebbe installato:
<pre>
<pre>
$ aptitude why tellico
$ aptitude why tellico
</pre>
</pre>
Sapere perché un pacchetto non è installato e se genera conflitti:
E per sapere perché un pacchetto non è installato e se genera conflitti:
<pre>
<pre>
$ aptitude why-not tellico
$ aptitude why-not tellico
</pre>
</pre>
Si noti che per ricerche e ottenere informazioni sui pacchetti non sono necessari privilegi di amministrazione, permettendo di eseguirli a tutti gli utenti. I privilegi sono necessari soltanto per effettuare installazioni, aggiornamenti o rimozioni dei pacchetti.


== Disinstallazione base di un programma o di un pacchetto ==
== Disinstallazione base di un programma o di un pacchetto ==
Si utilizza lo stesso strumento visto prima per l'installazione dei pacchetti. Digitiamo quindi:
Si utilizza lo stesso strumento visto prima per l'installazione dei pacchetti. Digitiamo quindi:
<pre>
<pre>
# apt-get remove programma
# apt remove programma
</pre>
</pre>
Se vogliamo rimuovere VLC:
Se vogliamo rimuovere VLC:
<pre>
<pre>
# apt-get remove vlc
# apt remove vlc
</pre>
Questo tipo di disinstallazione disinstalla il programma, ma lascia all’interno del sistema i file di configurazione del programma ed eventuali dipendenze installate in automatico. Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.
 
== Disinstallazione delle dipendenze installate in automatico ==
Se non sono richieste da altri pacchetti saranno tutte rimosse con:
<pre>
# apt autoremove
</pre>
</pre>
Questo tipo di disinstallazione disinstalla il programma, ma lascia all’interno del sistema i file di configurazione del programma. Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.


== Disinstallazione completa di un programma o di un pacchetto ==
== Disinstallazione completa di un programma o di un pacchetto ==
La differenza tra questa disinstallazione e quella base consiste nella liberazione completa dello spazio occupato dal programma che vogliamo rimuovere dal sistema. Con questo tipo di disinstallazione, infatti, oltre a disinstallare il programma dal sistema, cancelleremo anche i pacchetti e i relativi file di configurazione, che altrimenti non verrebbero rimossi, e che occuperebbero spazio inutile nel caso in cui non avessimo alcuna intenzione di reinstallare in futuro il programma. Digitiamo:
La differenza tra questa disinstallazione e quella base consiste nella liberazione completa dello spazio occupato dal programma che vogliamo rimuovere dal sistema. Con questo tipo di disinstallazione, infatti, oltre a disinstallare il programma dal sistema, cancelleremo anche i pacchetti e i relativi file di configurazione, che altrimenti non verrebbero rimossi, e che occuperebbero spazio inutile nel caso in cui non avessimo alcuna intenzione di reinstallare in futuro il programma. Digitiamo:
<pre>
<pre>
# apt-get remove --purge programma
# apt purge programma
</pre>
Oppure:
<pre>
# apt-get purge programma
</pre>
</pre>
Se vogliamo rimuovere VLC:
Se vogliamo rimuovere VLC:
<pre>
<pre>
# apt-get remove --purge vlc
# apt purge vlc
</pre>
O in alternativa:
<pre>
# apt-get purge vlc
</pre>
</pre>
Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.
Per poter eseguire il comando di disinstallazione descritto avrete bisogno di permessi di sudoer o di root.
Riga 129: Riga 136:
Se abbiamo un programma già installato nel sistema, ma per un qualsiasi motivo volessimo reinstallarlo, il comando è:
Se abbiamo un programma già installato nel sistema, ma per un qualsiasi motivo volessimo reinstallarlo, il comando è:
<pre>
<pre>
# apt-get install --reinstall programma
# apt reinstall programma
</pre>
</pre>
Se vogliamo reinstallare VLC:
Se vogliamo reinstallare VLC:
<pre>
<pre>
# apt-get install --reinstall vlc
# apt reinstall vlc
</pre>
</pre>
Per poter eseguire il comando di reinstallazione descritto avrete bisogno di permessi di sudoer o di root.
Per poter eseguire il comando di reinstallazione descritto avrete bisogno di permessi di sudoer o di root.


== Rimozione di un pacchetto non disinstallato completamente ==
== Rimozione di un pacchetto non disinstallato completamente ==
{{Cautionbox|L'uso di <code>dpkg</code> è però da evitare in situazioni normali, in quanto non si occupa delle dipendenze del pacchetto.}}
Per rimuovere completamente i pacchetti già disinstallati che, per qualche motivo, non riuscite a eliminare con <code>apt</code>, digitare:
Per rimuovere completamente i pacchetti già disinstallati che, per qualche motivo, non riuscite a eliminare con <code>apt</code>, digitare:
<pre>
<pre>
Riga 146: Riga 154:
# dpkg -P vlc
# dpkg -P vlc
</pre>
</pre>
L'uso di <code>dpkg</code> è però da evitare in situazioni normali, in quanto non si occupa delle dipendenze del pacchetto.


== Pulizia della cache dei pacchetti ==
== Pulizia della cache dei pacchetti ==
Riga 184: Riga 190:
coreutils: /bin/cat
coreutils: /bin/cat
</pre>
</pre>
== Approfondimenti ==
Guide sui comandi utilizzati in questa guida:
* [[apt]]
* [[apt-get]]
* [[apt-cache]]
* [[aptitude]]
* [[dpkg]]


[[Categoria:Shell]][[Categoria:Programmi da terminale]]
[[Categoria:Shell]][[Categoria:Programmi da terminale]]
3 581

contributi