web-dev-qa-db-fra.com

Explication JDK / JRE des commandes d'installation

C'est peut-être une question simple.

Je ne trouve pas l'explication des commandes d'installation Java JDK et JRE

J'ai téléchargé le jdk-7u5-linux-x64.tar. Gz et jre-7u5-linux-x64.tar.gz, j'ai extrait ces fichiers puis déplacé vers - / usr/lib/jvm /. Je suppose que le nom / jvm (j'ai créé cela parce que je ne l'ai pas eu) n'est pas important car l'installation est par lien.

La plupart des sites Web me disent que j'ai écrit cela, mais ils n'expliquent pas pourquoi.

Je suppose que cela crée un lien Java dans/usr/bin /

/ usr/bin/Java ->/etc/alternatives/Java -> /usr/lib/jvm/jdk1.7.0_05/bin/Java

Sudo update-alternatives --install /usr/bin/Java java /usr/lib/jvm/jdk1.7.0/bin/Java 1

/ usr/bin/Java ==================> est le dernier lien

Java ========================> Je ne comprends pas pourquoi je dois l'écrire

/usr/lib/jvm/jdk1.7.0_05/bin/Java ==> fichier d'origine

1 ===========================> pourquoi 1? certaines personnes écrivent 2, 3 ou j'ai vu 2000!

la même chose en Java, javac et javaws. Et la même chose dans JRE, mais quand j'installe JRE, le lien est remplacé

Sudo update-alternatives --install /usr/bin/Java java /usr/lib/jvm/jre1.7.0/bin/Java 2

et quand je choisis Sudo update-alternatives --config Java je ne peux en choisir qu'un, alors quelle est la différence entre jdk/bin/Java et jre/bin/Java (ce sont la même version)

Quelqu'un peut-il m'expliquer cela d'une manière simple? parce que je suis débutant dans ce domaine, je ne connais rien de Java, j'ai seulement besoin de ces javas pour d'autres programmes qui l'utilisent

Quelqu'un peut-il m'envoyer une bonne page pour l'installation correcte des deux, s'il vous plaît.

Merci

1
user37980

Consultez la page de manuel de update-alternatives avec man update-alternatives. Les options y sont bien expliquées.

Le système alternatif Debian est une interface entre la commande utilisée par un utilisateur pour une fonction particulière et la commande choisie par l'administrateur système pour cette fonctionnalité. Il s'agit d'un moyen par lequel l'administrateur peut modifier la commande sous-jacente pour cette fonction sans interférer avec la commande utilisée par l'utilisateur. Supposons qu'un utilisateur utilise la commande editor pour modifier un fichier et que l'administrateur relie la commande à vi avec update-alternatives via /etc/alternatives/editor; puis un meilleur éditeur vim devient disponible et l'administrateur change le lien en vim, l'utilisateur pourra toujours éditer un fichier avec la commande editor.

La syntaxe est

update-alternatives --install link name path priority

  • link = commande principale à l'usage de l'utilisateur (par exemple /usr/bin/Java qui est accessible avec juste Java parce que /usr/bin est recherché par défaut pour toutes les commandes)
  • name = nom du lien intermédiaire sous /etc/alternatives répertoire fonctionnant comme interface entre la commande de l'utilisateur et la commande réelle (par exemple Java qui crée /etc/alternatives/Java; commande de l'utilisateur /usr/bin/Java le montre. C'est pourquoi vous devez écrire Java)
  • path = commande réelle définie par l'administrateur (par exemple /usr/lib/jvm/jdk1.7.0/bin/Java; /etc/alternatives/Java liens vers celui-ci)
  • priority = la commande utilisée par défaut, elle est définie par admin (par exemple 1 pour la priorité la plus élevée ou par défaut, 2 pour la priorité la plus élevée suivante et ainsi de suite)

Donc, avec ces paramètres si vous en avez plusieurs Java installation, par exemple OpenJDK et Oracle JDK, vous pouvez choisir entre eux tout en continuant à utiliser Java comme commande en tant qu'utilisateur et en définissant la priorité avec update-alternatives --config Java en tant qu'administrateur, ce qui modifie en fait le lien entre /etc/alternatives/Java et le programme réel Java.

Il n'y a en fait aucune différence entre le Java de JDK et le Java de JRE. En fait, dans une installation JDK, le Java de JDK est un lien symbolique vers le Java de JRE.

2
Samik