IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Perte de PATH Java


Sujet :

Shell et commandes GNU

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Perte de PATH Java
    Bonjour à tous,

    J'espère être au bon endroit,

    Petite novice sur linux, j'ai essayé de télécharger une nouvelle version de java. L'extraction s'est bien déroulée, mais en essayant de modifier le PATH pour que l'ordi comprenne que la version a changé, j'ai ... supprimé le contenu du fichier
    Il est censé se terminer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    JAVA_HOME=/usr/local/java/jdk-9.0.1
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    JRE_HOME=/usr/local/java/jdk-9.0.1
    PATH=$PATH:$HOME/bin:$JRE_HOME/bin
    export JAVA_HOME
    export JRE_HOME
    export PATH
    Mais impossible de retrouver le début, bref, l'ordi ne comprend plus où est java, la commande "java -version" ne renvoie rien...

    Quelqu'un aurait une idée pour m'aider ?

    Merci d'avance !

    Bonne après-midi,

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 387
    Points
    19 387
    Par défaut
    Bonjour,

    j'ai ... supprimé le contenu du fichier


    mais, quel fichier ?

    tu sais où tu as installé java ? donc, indiques-en le chemin :
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Le fichier dans lequel était indiqué le path java, j'ai en fait essayé de suivre la méthode 3 de ce tuto.
    Chez moi c'est /usr/lib/jvm/java-7-openjdk-amd64/bin/java.


  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 387
    Points
    19 387
    Par défaut
    donc, tu as effacé /etc/profile.
    ce fichier sert quand il n'y a pas de fichiers de configuration pour le shell dans ton répertoire personnel.
    s'il y en a, cette méthode n'aurait sans doute pas fonctionné.
    et c'est heureux, car tu ne pourrais plus accéder à aucune commande.
    que dit : ls ~/.bash* ?
    mais il faut restaurer quand même /etc/profile. Pourras-tu en trouver un sur une autre machine de ton parc ? Ça peut être "distribution dependant".

    et, que dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/lib/jvm/java-7-openjdk-amd64/bin/java -version
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/guiwc/.bash_history /home/guiwc/.bash_logout /home/guiwc/.bshrc
    J'ai essayé de récupérer ce fichier sur une autre machine, mais je n'ai pas réussi à le copier à cause du message d'erreur "Le fichier que vous avez ouvert contient des caractères non valides. Si vous poursuivez l'édition du fichier, vous pourriez endommager ce document.Vous pouvez aussi choisir un autre codage de caractères et essayer à nouveau." Raison pour laquelle j'ai essayé de bidouiller ce doc d'ailleurs, c'est que ça faisait ça sur mon ordi aussi. Le codage de caractères était UTF-8, et il y avait aussi ISO-8859-15, mais je n'ai pas réussi à changer (sur aucune des machines).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/lib/jvm/java-7-openjdk-amd64/bin/java -version
    ne me sort rien du tout
    (parce qu'il n'y a plus de PATH ?)

  6. #6
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Je ne savais pas que cp ou scp éditaient les fichiers avant de les copier...

    On va avoir du mal à t'aider si tu n'y mets pas de la bonne volonté:

    -Quel est l'OS de ta machine ?

    -Est-ce que la machine d'où tu as copié (édité) le fichier, est-ce le même OS que ta machine ?

    Et quand je parle d'OS, ne nous dit pas que c'est du linux (car on s'en doute déjà un peu)...

    Ici, il faut déjà récupérer le fichier que le pseudo dieu a effacé par mégarde.
    Ensuite on verra pour modifier le chemin pour le nouveau java.

    D'ailleurs, est-ce que le fichier à recopier fait des action en référence à sa machine d'origine ?
    Cordialement.

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Hey,

    Ubuntu 14.04

    Oui la machine sur laquelle j'ai édité le fichier est le même OS.

    La ligne de commande qui a effacé le contenu du fichier est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo xxd /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java xxd /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
    J'essayais de savoir pourquoi je ne pouvais pas éditer le fichier. En consultant un autre forum, j'ai lu que cette commande créerait un autre fichier comportant les caractères anormaux, mais j'ai par mégarde comme tu dis oublié de changer le nom du deuxième argument.

    Je n'ai pas compris la dernière question.

    C'est très sympa de m'aider, mais je me passerai bien de leçon de morale ^^" ("y mettre du mien" ? j'utilise cet ordi depuis hier, désolée si je maîtrise pas tout le vocabulaire ; "pseudo-dieu" ? je n'ai pas fait preuve d'autant d'arrogance cf "Petite novice" dans mon premier message il me semblait que c'était clair ; je ne demanderai pas d'aide si je n'en avais pas besoin)...

  8. #8
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    Pour ajouter java dans le path, tu peux le faire au niveau environnement, c'est à dire éditer le fichier /etc/environment

    vi fera ça très bien (avec un sudo évidemment)

    Dedans tu trouveras une ligne PATH="foo:bar:truc"
    Après la dernière valeur tu ajoutes un : et le chemin complet du dossier contenant le binaire java (donc chemin_vers_java/bin)
    Tu sauves, tu déco reco et ça devrait être bon

    Tu peux également rajouter les autres variables d'environement (JAVA_HOME) si nécessaire.

    C'est une préférence personnelle, mais pointer vers un symlink plutôt qu'un dossier offre un confort certain lors des mises à jour de java.
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Désolé que tu le prennes si mal mais c'était un peu voulu de ma part car ici, l'arrogance est de passer des commandes en "root": on ne travaille jamais en root, d'où mon terme de pseudo-dieu.
    Je sais, ça fait mal, mais en général, ça marque aussi les esprits et ça évite de recommencer. C'est comme qui dirait un mal pour un bien

    Je ne vois pas trop en quoi la commande que tu nous montres puisse écraser un fichier autre qu'un fichier se nommant 'xxd' se trouvant dans le répertoire où sudo te positionne lorsque qu'il exécute la commande.

    Donc prenons les choses dans l'ordre pour comprendre ce qui ne va pas, et donc donne nous le résultat des commandes suivantes depuis ta machine:

    Pour vérifier s'il existe
    Pour voir juste les 5 première lignes mais en passant par strings au cas ou celui-ci n'est plus un fichier texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strings /etc/profile | head -5
    Savoir si tu es en 32 ou 64 bits:
    Savoir si ton java est executable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls -l /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
    Savoir s'il est en adéquation avec ton type d'OS (32 ou 64 bits) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
    Savoir s'il detecte toutes les lib (type linux) que ton java doit utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ldd /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
    Et pour toutes les commandes données ici, il n'y a pas besoin d'être root sinon, c'est qu'il y a un problème.
    Cordialement.

  10. #10
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Citation Envoyé par yildiz-online Voir le message
    Pour ajouter java dans le path, tu peux le faire au niveau environnement, c'est à dire éditer le fichier /etc/environment

    vi fera ça très bien (avec un sudo évidemment)

    Dedans tu trouveras une ligne PATH="foo:bar:truc"
    Après la dernière valeur tu ajoutes un : et le chemin complet du dossier contenant le binaire java (donc chemin_vers_java/bin)
    Tu sauves, tu déco reco et ça devrait être bon

    Tu peux également rajouter les autres variables d'environement (JAVA_HOME) si nécessaire.

    C'est une préférence personnelle, mais pointer vers un symlink plutôt qu'un dossier offre un confort certain lors des mises à jour de java.
    Pour le lien, je suis d'accord avec toi, mais pour l'autre partie, je ne suis pas d'accord, les fichiers d'environnement du système ne sont pas à modifier:
    -Ça évite les loupés comme ça semble être ici
    -Ça évite d'introduire des trous de sécurité car derrière l'utilisateur "root" est aussi susceptible de les utiliser.

    Tout peut se configurer dans l'environnement de l'utilisateur, donc à l'utilisateur de voir ce qu'il a besoin et de configurer SON environnement en conséquence.
    Cordialement.

  11. #11
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    C'est une question de point de vue, pour ma part je considère que java est partagé entre les utilisateurs, donc que son path peut aller dans environnement, mais JAVA_HOME, JRE_HOME c'est plus discutable en effet.

    Les loupés c'est inévitable, et tant que c'est récupérable c'est pas dramatique, c'est ainsi qu'on apprend.

    Mais n'étant pas un guru de linux, je peux me tromper, et je parle ici pour une machine client, moins critique qu'un serveur, pour un serveur de production, je déconseillerais même l'installation de java au profit de conteneurs.
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  12. #12
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour votre aide,

    Finalement, désinstaller puis réinstaller java a réglé le problème

    Bonne année !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Path java et jabref
    Par Douie31 dans le forum Linux
    Réponses: 5
    Dernier message: 20/02/2014, 01h48
  2. [Eclipse 3.1]conflict de path entre java Eclipse et Oracle
    Par makohsarah dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/04/2005, 01h07
  3. [Système][Class-Path]cherche aide sous java pour fedoracore ou linux
    Par mickey hollywood dans le forum Général Java
    Réponses: 4
    Dernier message: 29/03/2005, 01h13
  4. Réponses: 8
    Dernier message: 19/01/2005, 16h17
  5. Chercher et renvoyer le path d'un fichier .java
    Par dzincou dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 08/09/2004, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo