Introduzione all'APT System: differenze tra le versioni

task di Revisione Wiki #63 - sandbox
mNessun oggetto della modifica
(task di Revisione Wiki #63 - sandbox)
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 18: Riga 18:
* [[aptitude]], è lo strumento più avanzato per la gestione dei pacchetti, disponibile sia con interfaccia grafica a caratteri sia con interfaccia a linea di comando. Storico programma presente in ogni installazione standard di Debian dalla sua introduzione fino a [[Jessie]], a partire da Debian 9 ([[Stretch]]) va installato esplicitamente.
* [[aptitude]], è lo strumento più avanzato per la gestione dei pacchetti, disponibile sia con interfaccia grafica a caratteri sia con interfaccia a linea di comando. Storico programma presente in ogni installazione standard di Debian dalla sua introduzione fino a [[Jessie]], a partire da Debian 9 ([[Stretch]]) va installato esplicitamente.
* [[synaptic]], disponibile in ambienti grafici come GNOME, KDE, ecc. è tra gli strumenti più semplice da usare, consigliato a tutti ed in particolar modo agli utenti alle prime armi.
* [[synaptic]], disponibile in ambienti grafici come GNOME, KDE, ecc. è tra gli strumenti più semplice da usare, consigliato a tutti ed in particolar modo agli utenti alle prime armi.
* [[wajig]], è un'alternativa più user-friendly a linea di comando pensata per gli utenti alle prime armi. Non è presente in un'installazione di default, ma va installato a parte.
e molti altri.
e molti altri.


Riga 28: Riga 27:
=== Aggiorna informazioni ===
=== Aggiorna informazioni ===
Aggiorna la lista dei pacchetti disponibili, recuperando le informazioni più aggiornate dai [[repository]]:
Aggiorna la lista dei pacchetti disponibili, recuperando le informazioni più aggiornate dai [[repository]]:
<pre># apt-get update</pre>
<pre># apt update</pre>
Sono richiesti [[privilegi di amministrazione]].
Sono richiesti [[privilegi di amministrazione]].


Riga 39: Riga 38:
Aggiorna il sistema (da effettuarsi periodicamente), eseguendo con [[privilegi di amministrazione]]:
Aggiorna il sistema (da effettuarsi periodicamente), eseguendo con [[privilegi di amministrazione]]:
<pre>
<pre>
# apt-get update
# apt update
# apt-get upgrade
# apt upgrade
</pre>
</pre>
Come già visto il primo comando recupera le informazioni più recenti dai [[repository]], mentre il secondo installa le versioni più aggiornate dei pacchetti già installati, ma senza installarne di nuovi né rimuovendo quelli non più necessari.
Come già visto il primo comando recupera le informazioni più recenti dai [[repository]], mentre il secondo installa le versioni più aggiornate dei pacchetti già installati, installandone di nuovi eventualmente ma senza rimuovere quelli non più necessari.


Per forzare un aggiornamento completo, se il comando precedente non funziona, sempre dopo aver ottenuto i [[privilegi di amministrazione]]:
Per forzare un aggiornamento completo, se il comando precedente non funziona, sempre dopo aver ottenuto i [[privilegi di amministrazione]]:
<pre>
<pre>
# apt-get dist-upgrade
# apt full-upgrade
</pre>
</pre>
Per una Debian [[stable]] non è in genere necessario, se non per effettuare il passaggio di versione alla successiva quando una nuova stable è rilasciata, ma sempre dopo aver concluso l'aggiornamento con il metodo precedente. Questa operazione è chiaramente meno conservativa, pertanto va effettuata prestando maggiore attenzione ai pacchetti coinvolti, in particolare a quelli che saranno rimossi.
Per una Debian [[stable]] non è in genere necessario, se non per effettuare il passaggio di versione alla successiva quando una nuova stable è rilasciata, preferibilmente dopo aver concluso l'aggiornamento con il metodo precedente. Questa operazione è chiaramente meno conservativa, pertanto va effettuata prestando maggiore attenzione ai pacchetti che saranno rimossi.


=== Installazione e disinstallazione ===
=== Installazione e disinstallazione ===
Per installare un pacchetto e le sue dipendenze tramite APT, se la lista dei pacchetti è aggiornata:
Per installare un pacchetto e le sue dipendenze tramite APT, se la lista dei pacchetti è aggiornata:
<pre># apt-get install nomepacchetto</pre>
<pre># apt install nomepacchetto</pre>


Per rimuovere un pacchetto precedentemente installato e le sue dipendenze, se non richieste da altri pacchetti:
Per rimuovere un pacchetto precedentemente installato:
<pre># apt-get remove nomepacchetto
<pre># apt remove nomepacchetto</pre>
# apt-get autoremove</pre>
E per rimuovere le sue dipendenze, se non richieste da altri pacchetti (e se non si è impostato un <code>AutomaticRemove</code>; si veda la sezione successiva):
<pre># apt autoremove</pre>


Entrambe le operazioni richiedono [[privilegi di amministrazione]].
Tutte queste operazioni richiedono [[privilegi di amministrazione]].
 
==Configurazione==
Il principale file di configurazione, per tutti i principali strumenti di '''APT''' (<code>apt</code>, <code>apt-get</code>, <code>aptitude</code>, ecc...), è <code>/etc/apt/apt.conf</code>, eventualmente da creare per le proprie impostazioni personalizzate. <br/>
Le impostazioni di default generate in fase di installazione e quelle create da altri programmi installati sono invece contenute nei file presenti nella directory <code>/etc/apt/apt.conf.d</code>, in modo da non sovrapporsi, e non è generalmente necessario modificarle.
 
Per modificare il file principale, o crearlo se non esiste, basta utilizzare un editor di testo (per esempio [[nano]]) con [[privilegi di amministrazione]]:
<pre>
# nano /etc/apt/apt.conf
</pre>
(dopo aver apportato le modifiche, premere <code>Ctrl-o</code> per salvare e <code>Ctrl-x</code> per uscire)
 
=== Esempio di <code>/etc/apt/apt.conf</code> ===
<pre>
APT::Clean-Installed "true";
APT::Get::AutomaticRemove "true";
APT::Get::Upgrade-Allow-New "true";
</pre>
Il valore '''"true"''' / '''"false"''' (oppure '''1''' / '''0''') abilita/disabilita un'impostazione.
 
Di seguito una breve descrizione:
:; <code>APT::Clean-Installed</code> : elimina i pacchetti .deb non più scaricabili ma ancora conservati nella cache, anche se relativi a pacchetti ancora installati nel sistema;
:; <code>APT::Get::AutomaticRemove</code> : effettua in automatico la rimozione delle dipendenze non più necessarie, in seguito alla rimozione di un pacchetto; è equivalente a eseguire manualmente un <code>apt autoremove</code>;
:; <code>APT::Get::Upgrade-Allow-New</code> : rende l'esecuzione di <code>apt-get upgrade</code> equivalente a <code>apt upgrade</code>, permettendo l'installazione di nuovi pacchetti se richiesti per l'aggiornamento.
Tutte queste impostazioni erano disabilitate di default.
 
Altre possibili impostazioni utili:
:; <code>APT::Sandbox::Seccomp</code> : a partire da Debian 10 ([[Buster]]), se abilitata, esegue '''APT''' in una sandbox fornita dal kernel Linux per restringere le chiamate di sistema permesse; non supporta tutti i metodi di '''APT''', ma è già utilizzabile come ulteriore forma di sicurezza se si usano i normali repository (per esempio ''http'', ''https'');
:; <code>APT::Install-Recommends</code> : disabilitarla (di default è abilitata) non installa le dipendenze raccomandate, ma non necessarie, al funzionamento di un pacchetto; disabilitare tale impostazione è '''sconsigliato''' per utenti inesperti, in quanto potrebbe ridurre le funzionalità di altri programmi, e utile soltanto per utenti già esperti e che vogliano mantenere un sistema il più possibile minimale.
 
{{Cautionbox | Si '''sconsiglia''' l'uso di '''<code>Default-Release</code>''', salvo si sappia cosa si sta facendo e si conosca approfonditamente il funzionamento dei [[repository]] di Debian, perché equivalente a impostare un [[pinning]] e potrebbe disabilitare inavvertitamente l'uso di altri repository secondari usati in fase di aggiornamento dei pacchetti.}}
Tutte le configurazioni sono impostabili anche a tempo di esecuzione, per esempio con l'opzione <code>--option</code>/<code>-o</code> di '''<code>apt-get</code>''' o con altre forme ancora più brevi (si rimanda alla [[apt-get|guida]] o alla pagina di manuale).


==I pacchetti==
==I pacchetti==
Riga 69: Riga 100:


=== Manpages ===
=== Manpages ===
<code>man apt-get</code><br/>
<code>man apt</code><br/>
<code>man apt.conf</code>
<code>man apt.conf</code>


===Sitografia===
===Sitografia===
* [http://www.debian.org/doc/manuals/apt-howto/index.it.html#contents Apt HowTo], panoramica completa sulle funzionalità e sull'utilizzo del sistema APT
* [http://www.debian.org/doc/manuals/apt-howto/index.it.html#contents Apt HowTo], panoramica completa sulle funzionalità e sull'utilizzo del sistema APT
* [https://www.debian.org/releases/buster/amd64/release-notes/ch-whats-new.it.html#apt-sandboxing APT hardening], dalle note di rilascio di Debian 10 (buster)


{{Autori
{{Autori
|Autore = [[Utente:Keltik|Keltik]]
|Autore = [[Utente:Keltik|Keltik]]
|Estesa_da =
: [[Utente:Ferdybassi|Ferdybassi]]
: [[Utente:HAL 9000|HAL 9000]]
|Verificata_da =
|Verificata_da =
: [[Utente:Wtf|Wtf]]
: [[Utente:Wtf|Wtf]]
: [[Utente:S3v|S3v]] 12:22, 20 apr 2015 (CEST)
: [[Utente:S3v|S3v]] 12:22, 20 apr 2015 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 15:59, 10 mag 2015 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 21:16, 11 ago 2019 (CEST)
|Estesa_da =
: [[Utente:Ferdybassi|Ferdybassi]]
: [[Utente:HAL 9000|HAL 9000]]
|Numero_revisori = 3
|Numero_revisori = 3
}}
}}
3 581

contributi