Bonjour,
étant en plein apprentissage du système linux debian, j’aimerais en comprendre différents aspects, notamment celui d’update-alternatives, que je veux utiliser ici pour changer mon jdk.
Voici l’exemple tiré du site: http://www.barreverte.fr/ubutu-update-alternatives-java14/
Voici la partie concerné:
Avant la modification :
$ sudo update-alternatives --list java
/usr/lib/jvm/java-1.5.0-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java
Rendez-vous dans le répertoire bin de votre JDK (/opt/j2sdk1.4.2_18 chez moi) et lancez-vous :
sudo update-alternatives --verbose --install /usr/bin/java java
/opt/j2sdk1.4.2_18/bin/java 500 --slave /usr/share/man/man1/java.1 java.1
/opt/j2sdk1.4.2_18/man/man1/java.1
for prog in *; do echo --slave /usr/bin/$prog $prog /opt/j2sdk1.4.2_18/bin/$prog; done | grep -v "java " | xargs
Plusieurs questions se posent:
_ Dans la deuxieme partie, le développeur marque " update-alternatives --verbose --install /usr/bin/java java"
–> la présence de java suite à un espace blanc signifie qu’il initialise une nouvelle installation d’alternative java ? Que signifie le sens de cette directive ?
_Toujours dans la deuxième partie, le développeur écris " /opt/j2sdk1.4.2_18/bin/java 500 --slave /usr/share/man/man1/java.1 java.1 "
–> Pourquoi écris-t-il 500 ? Est-ce par rapport à la priorité ?
Pourquoi mettre --slave à ce moment là ? Puis ensuite man1/java.1 espace blanc java.1 ?
Chez moi ce dossier est un lien symbolique pour /etc/alternatives/java.1.gz donc à quoi tout cela peut-il bien correspondre ?
_Puis vient for prog in *; do echo --slave /usr/bin/$prog $prog
/opt/j2sdk1.4.2_18/bin/$prog; done | grep -v "java " | xargs`
`for prog in *; --> ouverture avec le symbole apostrophe suivit de for prog in et fermetre par ;
Notre shell for est-il donc enclosé entre l’apostrophe et ; au lieu de () ?
_ Puis enfin /opt/j2sdk1.4.2_18/bin/$prog; done | grep -v "java " | xargs
Pourquoi le $prog ? et que signifie le xargs sans aucun paramètre à la fin ?
Est-ce pour faire une sorte de récursion ?
Je suis conscient du nombre important de questions posées ici et remercie d’avance ceux qui prendront la peine de me répondre.
Amicalement
FastNugget