Provided by: dpkg_1.17.5ubuntu5.8_amd64 bug

NOME

       update-alternatives   -   mantiene   collegamenti  simbolici  che  determinano  i  comandi
       predefiniti

SINTASSI

       update-alternatives [opzione...] comando

DESCRIZIONE

       update-alternatives crea, rimuove, mantiene e  visualizza  informazioni  sui  collegamenti
       simbolici che costituiscono il sistema di alternative di Debian.

       È possibile che in un dato momento nel sistema siano installati più programmi che hanno la
       stessa funzione o una funzione simile. Per esempio, molti sistemi hanno diversi editor  di
       testo  installati contemporaneamente. Questo dà agli utenti del sistema una possibilità di
       scelta, permettendo a ciascuno di usare un  editor  diverso,  se  lo  desidera,  ma  rende
       difficile  per  un  programma  fare  una  buona  scelta  quando deve invocare un editor se
       l'utente non ha impostato una preferenza specifica.

       Il sistema delle alternative Debian mira a risolvere  questo  problema.  Nel  file  system
       tutti i file che forniscono una funzionalità intercambiabile condividono un nome generico.
       Il sistema delle alternative e l'amministratore di sistema  insieme  determinano  a  quale
       file  faccia  effettivamente riferimento questo nome generico. Per esempio, se sul sistema
       sono installati entrambi gli editor di testo ed(1) e nvi(1), il sistema delle  alternative
       farà  sì  che  il  nome  generico /usr/bin/editor faccia in modo predefinito riferimento a
       /usr/bin/nvi. L'amministratore di sistema può sovrascrivere ciò e far sì che  esso  faccia
       invece  riferimento  a  /usr/bin/ed, e il sistema delle alternative non modificherà questa
       impostazione se ciò non viene esplicitamente richiesto.

       Il nome generico non è un collegamento simbolico diretto  all'alternativa  selezionata.  È
       invece un collegamento simbolico a un nome nella directory alternatives, che è a sua volta
       un collegamento simbolico all'effettivo file referenziato. Tutto  questo  perché  così  le
       modifiche  fatte dall'amministratore di sistema possono rimanere confinate nella directory
       /etc: il FHS (q.v.) spiega le ragioni per cui questa è una Cosa Buona e Giusta.

       Al momento dell'installazione, cambiamento o rimozione di ogni pacchetto che  fornisce  un
       file  con  una particolare funzionalità, viene invocato update-alternatives per aggiornare
       le informazioni su quel file nel  sistema  delle  alternative.  update-alternatives  viene
       solitamente  chiamato  dagli  script postinst (configurazione) o prerm (installazione) dei
       pacchetti Debian.

       Spesso è utile che un certo numero di alternative siano sincronizzate, in  modo  da  venir
       modificate  in  gruppo;  per  esempio, quando sono installate diverse versioni dell'editor
       vi(1), la pagina  di  manuale  a  cui  fa  riferimento  /usr/share/man/man1/vi.1  dovrebbe
       corrispondere   all'eseguibile  a  cui  fa  riferimento  /usr/bin/vi.  update-alternatives
       gestisce questo usando collegamenti principali e secondari;  quando  viene  modificato  il
       principale,  anche tutti i secondari ad esso associati vengono modificati. Un collegamento
       principale e tutti i suoi secondari associati compongono un gruppo di collegamenti.

       In qualsiasi momento, ogni gruppo di collegamenti è in una di due modalità:  automatica  o
       manuale.  Quando un gruppo è in modalità automatica, il sistema delle alternative deciderà
       automaticamente se e come aggiornare i collegamenti quando i pacchetti vengono  installati
       o  rimossi.  In  modalità  manuale,  il  sistema  delle  alternative  preserva  le  scelte
       dell'amministratore ed evita di modificare i collegamenti (tranne quando  qualcosa  non  è
       corretto).

       I  gruppi  di  collegamenti  sono  inizialmente  in  modalità  automatica,  quando vengono
       introdotti nel sistema. Se l'amministratore del sistema  fa  modifiche  alle  impostazioni
       automatiche   del   sistema,   queste   verranno  notate  alla  successiva  esecuzione  di
       update-alternatives sul gruppo di collegamenti  modificato  e  il  gruppo  automaticamente
       verrà passato alla modalità manuale.

       Ogni  alternativa  è  associata  ad  una  priorità.  Quando un gruppo di collegamenti è in
       modalità automatica, le alternative a cui puntano i membri del gruppo saranno  quelle  con
       la priorità più alta.

       Quando si usa l'opzione --config, update-alternatives elenca tutte le scelte per il gruppo
       di collegamenti di cui il nome specificato  è  il  nome  dell'alternativa  principale.  La
       scelta attuale viene contrassegnata da un «*». Verrà quindi chiesto all'utente di fare una
       scelta per ciò che riguarda questo gruppo di collegamenti. A seconda della  scelta  fatta,
       il  gruppo di collegamenti potrebbe non essere più in modalità automatica. Sarà necessario
       usare l'opzione --auto per ritornare alla modalità automatica (oppure  si  può  rieseguire
       --config e selezionare la voce contrassegnata come automatica).

       Se  si vuole fare la configurazione in modo non interattivo, si può usare invece l'opzione
       --set (vedere in seguito).

       Pacchetti diversi che forniscono lo stesso file devono farlo cooperando. In altre  parole,
       l'uso  di  update-alternatives  è  obbligatorio per tutti i pacchetti coinvolti in un caso
       simile. Non è possibile sovrascrivere  un  file  in  un  pacchetto  che  non  utilizza  il
       meccanismo update-alternatives.

TERMINOLOGIA

       Dato  che  le  attività  di  update-alternatives  sono piuttosto convolute, alcuni termini
       specifici aiutano a spiegare il suo funzionamento.

       nome generico (o collegamento dell'alternativa)
              Un nome, come /usr/bin/editor, che fa riferimento,  utilizzando  il  sistema  delle
              alternative, ad uno di svariati file con funzione similare.

       nome dell'alternativa
              Il nome di un collegamento simbolico nella directory delle alternative.

       alternativa (o percorso alternativo)
              Il  nome  di  uno  specifico  file nel file system, che può essere reso accessibile
              attraverso un nome generico utilizzando il sistema delle alternative.

       directory delle alternative
              Una directory, in modo predefinito /etc/alternatives, che contiene  i  collegamenti
              simbolici.

       directory di amministrazione
              Una  directory,  in  modo  predefinito  /var/lib/dpkg/alternatives, che contiene le
              informazioni di stato di update-alternatives.

       gruppo di collegamenti
              Un insieme di collegamenti simbolici correlati, pensato per  essere  aggiornato  in
              gruppo.

       collegamento principale
              Il  collegamento dell'alternativa, in un gruppo di collegamenti, che determina come
              sono configurati gli altri collegamenti nel gruppo

       collegamento secondario
              Un collegamento dell'alternativa, in un gruppo di collegamenti, che  è  controllato
              dall'impostazione del collegamento principale.

       modalità automatica
              Quando  un  gruppo  di  collegamenti  è  in  modalità  automatica, il sistema delle
              alternative assicura che i collegamenti nel gruppo puntino all'alternativa  con  la
              priorità più alta appropriata per il gruppo.

       modalità manuale
              Quando  un  gruppo  di  collegamenti  è  in  modalità  manuale,  il  sistema  delle
              alternative  non  fa  alcuna  modifica  alle  impostazioni  dell'amministratore  di
              sistema.

COMANDI

       --install collegamento nome percorso priorità [--slave collegamento nome percorso]...
              Aggiunge  un  gruppo di alternative al sistema. collegamento è il nome generico del
              collegamento principale, nome è  il  nome  del  suo  collegamento  simbolico  nella
              directory  delle alternative e percorso è l'alternativa che viene introdotta per il
              collegamento principale. Gli argomenti che seguono --slave sono il  nome  generico,
              il  nome del collegamento simbolico nella directory delle alternative e il percorso
              dell'alternativa per un collegamento secondario. Possono essere specificate zero  o
              più   opzioni  --slave,  ciascuna  fatta  seguire  da  tre  argomenti.  Notare  che
              l'alternativa principale deve esistere o la chiamata non avrà  successo.  Tuttavia,
              se   un'alternativa   secondaria   non   esiste,   il  collegamento  corrispondente
              semplicemente non verrà installato (verrà comunque  visualizzato  un  messaggio  di
              avvertimento).  Se  dove deve essere installato un collegamento di un'alternativa è
              installato un qualche file reale, esso viene conservato, a meno che non venga usata
              l'opzione --force.

              Se  il  nome dell'alternativa specificato esiste già nel registro del sistema delle
              alternative, le informazioni fornite verranno aggiunte come  un  nuovo  insieme  di
              alternative  per  il  gruppo.  Altrimenti viene aggiunto un nuovo gruppo con queste
              informazioni, impostato  in  modalità  automatica.  Se  il  gruppo  è  in  modalità
              automatica, e la priorità delle alternative appena aggiunte è più alta di qualsiasi
              altra alternativa installata per questo gruppo, i collegamenti  simbolici  verranno
              aggiornati per puntare alle alternative appena aggiunte.

       --set nome percorso
              Imposta  il  programma percorso come alternativa per nome. È equivalente a --config
              ma non è interattivo e perciò è utilizzabile in script.

       --remove nome percorso
              Rimuove un'alternativa e tutti i collegamenti secondari associati. nome è  il  nome
              nella  directory  delle  alternative  e  percorso è un nome file assoluto a cui può
              essere collegato nome. Se nome  è  in  effetti  collegato  a  percorso,  nome  sarà
              aggiornato  in  modo  da  puntare  ad un'altra alternativa appropriata (e il gruppo
              verrà rimesso in modalità  automatica),  oppure  rimosso  se  non  c'è  più  alcuna
              alternativa  corretta.  I  collegamenti  secondari  associati verranno analogamente
              aggiornati o rimossi. Se il collegamento attualmente  non  punta  a  percorso,  non
              verrà  modificato  alcun  collegamento;  verranno solamente rimosse le informazioni
              riguardanti l'alternativa.

       --remove-all nome
              Rimuove tutte le alternative e tutti i loro collegamenti secondari associati.  nome
              è un nome nella directory delle alternative.

       --all  Invoca  --config  su  tutte  le alternative. Può essere proficuamente combinato con
              --skip-auto  per  rivedere  e  configurare  tutte  le  alternative  che  non   sono
              configurate  in  modalità  automatica.  Vengono  mostrate  anche le alternative non
              corrette. Perciò un modo semplice per correggere tutte le alternative  difettose  è
              di chiamare yes '' | update-alternatives --force --all.

       --auto nome
              Fa   passare   in   modalità   automatica   il   gruppo  di  collegamenti  relativo
              all'alternativa per nome. Nel fare ciò, il collegamento simbolico  principale  e  i
              suoi  collegamenti  secondari  sono  aggiornati in modo da puntare alle alternative
              installate con la priorità più alta.

       --display nome
              Visualizza informazioni sul gruppo di collegamenti.  Le  informazioni  visualizzate
              includono  la  modalità  del  gruppo (automatica o manuale), a quale alternativa il
              collegamento principale punta attualmente, quali altri alternative sono disponibili
              (e  le  loro  alternative  secondarie  corrispondenti)  e l'alternativa attualmente
              installata con la priorità più alta.

       --get-selections
              Elenca tutti i nomi delle alternative principali (quelle che controllano un  gruppo
              di  collegamenti)  e  il loro stato. Ogni riga contiene fino a 3 campi (separati da
              uno o più spazi). Il primo campo è il nome dell'alternativa, il secondo è lo  stato
              (o  «auto»  o  «manual»)  e  l'ultimo  contiene  la scelta dell'alternativa attuale
              (attenzione: è un nome di file e pertanto può contenere spazi).

       --set-selections
              Legge la configurazione delle alternative dallo standard input nel formato generato
              da update-alternatives --get-selections e le riconfigura in modo corrispondente.

       --query nome
              Visualizza informazioni sul gruppo di collegamenti come fa --display, ma in un modo
              analizzabile da una macchina (vedere la sezione FORMATO DI QUERY più avanti).

       --list nome
              Visualizza tutte le destinazioni del gruppo di collegamenti

       --config nome
              Visualizza le alternative disponibili per un  gruppo  di  collegamenti  e  permette
              all'utente   di   selezionare  in  modo  interattivo  quale  usare.  Il  gruppo  di
              collegamenti viene aggiornato.

       --help Show the usage message and exit.

       --version
              Show the version and exit.

OPZIONI

       --altdir directory
              Specifica la directory delle alternative, quando  deve  essere  diversa  da  quella
              predefinita.

       --admindir directory
              Specifica  la  directory  di  amministrazione, quando deve essere diversa da quella
              predefinita.

       --log file
              Specifica il file di registro, quando deve essere  diverso  da  quello  predefinito
              (/var/log/alternatives.log).

       --force
              Permette a update-alternatives di sostituire o eliminare qualsiasi file reale che è
              installato in una posizione dove deve essere installato o rimosso  un  collegamento
              di alternativa.

       --skip-auto
              Salta  la  richiesta  di  input  sulla  configurazione  per le alternative che sono
              configurate in modo corretto in modalità automatica.  Questa  opzione  è  rilevante
              solo con --config o --all.

       --verbose
              Genera più commenti riguardo a ciò che update-alternatives sta facendo.

       --quiet
              Non genera alcun commento a meno che non si verifichi un errore.

STATO D'USCITA

       0      L'azione richiesta è stata effettuata con successo.

       2      Si   sono   verificati   dei   problemi   nell'analisi  della  riga  di  comando  o
              nell'effettuare l'azione.

AMBIENTE

       DPKG_ADMINDIR
              Se impostata e l'opzione --admindir non  è  stata  specificata,  verrà  usata  come
              directory di amministrazione di base.

FILE

       /etc/alternatives/
              La  directory  delle  alternative  predefinita. La directory considerata può essere
              modificata usando l'opzione --altdir.

       /var/lib/dpkg/alternatives/
              La directory di amministrazione predefinita. La directory  considerata  può  essere
              modificata usando l'opzione --admindir.

FORMATO DI QUERY

       Il  formato  di  update-alternatives  --query  è  un  formato  semplice in stile RFC822. È
       composto da n + 1 blocchi dove n è il numero delle alternative disponibili nel  gruppo  di
       collegamenti interrogato. Il primo blocco contiene i seguenti campi:

       Name: nome
              Il nome dell'alternativa nella directory delle alternative.

       Link: collegamento
              Il nome generico dell'alternativa.

       Slaves: elenco di collegamenti secondari
              Quando è presente questo campo, le righe successive contengono tutti i collegamenti
              secondari associati con il collegamento principale dell'alternativa, uno per  riga.
              Ogni  riga  contiene  uno  spazio, il nome generico dell'alternativa secondaria, un
              altro spazio e il percorso del collegamento secondario.

       Status: stato
              Lo stato dell'alternativa (auto o manual).

       Best: scelta-migliore
              Il percorso all'alternativa migliore per  questo  gruppo  di  collegamenti;  non  è
              presente se non c'è alcuna alternativa disponibile.

       Value: alternativa-attualmente-selezionata
              Il  percorso  dell'alternativa  attualmente  selezionata. Può anche avere il valore
              magico none. Viene usato se il collegamento non esiste.

       Gli altri blocchi  descrivono  le  alternative  disponibili  nel  gruppo  di  collegamenti
       interrogato:

       Alternative: percorso-di-questa-alternativa
              Percorso dell'alternativa di questo blocco.

       Priority: valore-priorità
              Valore della priorità di questa alternativa.

       Slaves: elenco di collegamenti secondari
              When  this  field is present, the next lines hold all slave alternatives associated
              to the master link of the alternative. There is  one  slave  per  line.  Each  line
              contains  one  space, the generic name of the slave alternative, another space, and
              the path to the slave alternative.

       Esempio
              $ update-alternatives --query editor
              Name: editor
              Link: /usr/bin/editor
              Slaves:
               editor.1.gz /usr/share/man/man1/editor.1.gz
               editor.fr.1.gz /usr/share/man/fr/man1/editor.1.gz
               editor.it.1.gz /usr/share/man/it/man1/editor.1.gz
               editor.pl.1.gz /usr/share/man/pl/man1/editor.1.gz
               editor.ru.1.gz /usr/share/man/ru/man1/editor.1.gz
              Status: auto
              Best: /usr/bin/vim.basic
              Value: /usr/bin/vim.basic

              Alternative: /bin/ed
              Priority: -100
              Slaves:
               editor.1.gz /usr/share/man/man1/ed.1.gz

              Alternative: /usr/bin/vim.basic
              Priority: 50
              Slaves:
               editor.1.gz /usr/share/man/man1/vim.1.gz
               editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz
               editor.it.1.gz /usr/share/man/it/man1/vim.1.gz
               editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz
               editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz

DIAGNOSTICA

       Con --verbose, update-alternatives si dilunga sul suo standard output in  modo  incessante
       su  cosa sta facendo. Se si verificano dei problemi, update-alternatives produce in output
       messaggi di errore nel suo canale dello standard error e restituisce uno stato  di  uscita
       2.  Questi  messaggi  diagnostici  dovrebbero essere autoesplicativi; se non li si ritiene
       tali, segnalare la cosa come un bug.

ESEMPI

       Ci sono svariati pacchetti che forniscono un editor  di  testo  compatibile  con  vi,  per
       esempio  nvi  e  vim.  Quello  da  usarsi è controllato dal gruppo di collegamenti vi, che
       include i collegamenti per il programma stesso e per la pagina di manuale associata.

       Per visualizzare tutti i pacchetti disponibili che forniscono vi  e  la  sua  impostazione
       attuale, usare l'azione --display:

              update-alternatives --display vi

       Per  scegliere  una  particolare implementazione di vi, usare questo comando da root e poi
       selezionare un numero dall'elenco:

              update-alternatives --config vi

       Per ritornare alla scelta automatica dell'implementazione di vi, usare questo da root:

              update-alternatives --auto vi

VEDERE ANCHE

       ln(1), FHS: lo standard per la gerarchia del file system.