41 votes

Y a-t-il un moyen de répertorier toutes les `alternatives` configurables (liens symboliques pour des commandes similaires) sur le système ?

La commande alternatives (paquet chkconfig) sur RHEL/Fedora gère les liens symboliques qui lient un nom générique à l'une des implémentations alternatives. Par exemple, le groupe de liens symboliques mta peut être fourni par Sendmail et Postfix (pour implémenter par exemple la commande sendmail) :

alternatives --display mta

Alors que je peux --display un groupe de liens symboliques, je dois d'abord deviner son nom (par exemple mta).

Puis-je simplement lister tous les groupes de liens symboliques configurables possibles (comme mta) parmi lesquels choisir ?

La raison en est que j'oublie parfois des noms de groupes.

43voto

Hunter Points 126

Sur Debian (mais pas sur Fedora ou RHEL), pour voir une liste de tous les "noms d'alternatives maîtres" :

update-alternatives --get-selections

--get-selections liste les noms d'alternatives maîtres et leur statut.

Et pour chacun de ceux qui sont listés, vous pouvez exécuter --list $NOM_ALTERNATIF, par exemple.

update-alternatives --list éditeur

--list nom Affiche toutes les cibles du groupe de liens.

Si vous souhaitez voir une liste de toutes les alternatives dans leurs groupes respectifs, vous pourriez exécuter ce qui suit dans l'interpréteur de commandes fish :

for alternative in (update-alternatives --get-selections)
    echo $alternative 
    update-alternatives --list (echo $alternative | cut -d" " -f1)
    echo
end | pager

La syntaxe (ba|z)?sh devrait être quelque chose de similaire.

Pour changer les alternatives, exécutez sudo update-alternatives --config $NOM_ALTERNATIF

20voto

Adam Starrh Points 371

La réponse exacte est (RHEL) :

ls /var/lib/alternatives

Le répertoire /etc/alternatives maintient une longue liste plate de tous les liens symboliques mélangeant maîtres et esclaves ensemble. Les liens symboliques esclaves ne peuvent pas être utilisés avec la commande alternatives --display [lien symbolique].

En même temps, le répertoire /var/lib/alternatives contient des informations sur l'état (y compris la relation maître-esclave) pour chaque groupe dans une liste raccourcie de noms de fichiers tous pouvant être directement utilisés avec l'option --display. Par exemple, /var/lib/alternatives/java:

alternatives --display java

5voto

Michael Hampton Points 232226

La réponse la plus simple serait...

ls /etc/alternatives

-1voto

Hibou57 Points 139

Sous Ubuntu 12.04 (peut-être aussi certaines versions antérieures, à vérifier) et probablement aussi sous Debian (à vérifier) :

ls /var/lib/dpkg/alternatives

Listez-le simplement pour obtenir des noms d'alternatives configurables, car les entrées dans ce répertoire ne sont pas des liens. En passant, il peut y avoir des fichiers compressés dans ce répertoire, donc les noms listés là-bas ne peuvent pas toujours être utilisés tels quels. Par exemple, j'ai un /var/lib/dpkg/alternatives/psql.1.gz

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X