Translation(s): English - Italiano - Русский

(!) ?Discussion


Il sistema "Alternatives" Debian

Il sistema per le alternative Debian crea un metodo, per svariati programmi che svolgono le stesse funzioni o funzioni simili, di essere elencati come implementazioni alternative che sono installate contemporaneamente ma di cui una in particolare è designata come predefinita. Per esempio, molti sistemi hanno svariati editor di testi installati contemporaneamente. Il programma vi è un classico esempio di editor che ha molte implementazioni, come nvi, elvis, vim, ecc., ma quale dovrebbe essere considerata la predefinita?

Il sistema di alternative Debian risolve questo problema di selezionare una versione preferita in modo predefinito. La gestione viene fatta attraverso il programma update-alternatives che crea, rimuove, mantiene e visualizza le informazioni sui collegamenti simbolici che costituiscono il sistema di alternative Debian. Le priorità vengono assegnate dal creatore del pacchetto. Quando in modalità automatica il valoro predefinito è impostato all'alternativa con la più alta priorità. In aggiunta l'amministratore locale può sovrascrivere la selezione automatica con una manuale.

Il sistema di alternative di Debian è stato creato in origine per Debian, ma è stato in seguito usato da altre distribuzioni di software GNU/Linux. Red Hat, per esempio, usa adesso un fork del codice per mantenere il software di sistema come /usr/sbin/sendmail. In RHEL/Fedora /usr/sbin/sendmail è un collegamento simbolico del sistema di alternative che punta o al classico Sendmail o a Postfix, in qualità di implementazioni alternative di un MTA. Di fatto, il gruppo per le alternative è chiamato lì gruppo mta.

Questo è un mio vecchio sfogo sull'argomento nella mailing list debian-user che penso sia una buona introduzione all'uso del sistema di alternative Debian. Prima o poi riporterò gran parte di quella discussione in questa pagina wiki; al momento c'è solo il riferimento ad essa.

Righe di comando per manipolare le alternative

Ecco una lunga riga di comando che visualizza tutti i collegamenti simbolici di Debian Alternatives che sono stati configurati in modo manuale.

for i in $(ls /etc/alternatives); do 
  LANG=C update-alternatives --display $i 2>/dev/null;
done | awk '/manual.mode/{print $1}

Se si vuole ripristinarli tutti quanti alla modalità automatica, allora lo si può fare usando lo stesso elenco. Altrimenti usare semplicemente grep per estrarre quelli che si vuole o non si vuole.

for i in $(ls /etc/alternatives); do
  LANG=C update-alternatives --display $i 2>/dev/null;
done | awk '/manual.mode/{print $1}' | 
  xargs -L 1 sudo update-alternatives --auto

Vedere anche