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

NetBeans Platform Java Discussion :

Utilisation NetBeans sur Debian


Sujet :

NetBeans Platform Java

  1. #1
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Par défaut Utilisation NetBeans sur Debian
    Bonjour,

    Je suis nouveau sur Linux Debian et malgré mes différentes recherches, je n'ai pas trouvé la solution à mon problème.

    Concrètement, je souhaite pouvoir utiliser Netbeans avec les différents plugins liés à Symfony2 et Composer sur Debian.
    Tout est correctement installé sur ma VM Debian, cependant, j'obtiens régulièrement des messages d'erreur liés à des problèmes de droit.

    Principalement, ces messages interviennent lorsque
    - je vide le cache
    - je demande à composer de faire des update ou self-update

    Exemple 1: Self update

    Je lance un self update depuis Netbeans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/php /usr/local/bin/composer --ansi --no-interaction self-update
    J'obtiens
    [Composer\Downloader\FilesystemException]
    Filesystem exception:
    Composer update failed: the "/usr/local/bin" directory used to download the temp file could not be written
    Bien entendu, pour exécuter tout de même cette opération, j'accède au terminal en root et là je lance la commande que j'ai préalablement copié depuis Netbeans. Là pas de problème:
    root@debian:/home/lef97# /usr/bin/php /usr/local/bin/composer --ansi --no-interaction self-update
    You are using the latest composer version.
    root@debian:/home/lef97#
    Exemple 2: Clear cache

    Depuis Netbeans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/php /home/lef97/NetBeansProjects/RevivalSoftware/app/console --ansi cache:clear
    Message d'erreur:
    [RuntimeException]
    Unable to write in the "/home/lef97/NetBeansProjects/RevivalSoftware/app/cache/dev" directory
    Et là aussi, aucun problème depuis mon terminal en Root.

    Solutions ?

    Ma première idée était de lancer Netbeans en root (sur mon Windows, je le lançais en administrateur et là pas de soucis).
    Je ne sais pas si c'est "propre" de travailler comme cela (ça m'étonnerai...).
    Note: mon utilisateur n'a pas de droits particulier.

    Autre piste, changer les droits des dossiers concernés.
    Dans le tuto, il était indiqué de changer les droits des dossiers log et cache pour que Symfony2 puisse fonctionner correctement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod -R 777 app/cache app/logs
    Je l'ai fait et cela fonctionne "sur le coup". Concrètement, une fois cette commande lancée dans le terminal, je peux lancer la commande pour effacer le cache depuis Netbeans ! Après quelque temps d'utilisation du site, le cache est à nouveau rempli avec différents dossier (dev, prod, etc..) et ces dossiers sont verrouillés, ce qui me repose problème lorsque j'essai à nouveau d'effacer le cache !
    Note: le propriétaire des dossiers passe de "www-data" à root.
    Note #2: certains fichiers, pourtant créés en "www-data" sont verrouillés (mon utilisateur peut accéder au fichier, www-data étant propriétaire peut lire, écrire, supprimer, etc.)

    Et lorsque je tente de nettoyer le cache depuis Netbeans, j'obtiens un message du type:
    [Symfony\Component\Filesystem\Exception\IOException]
    Failed to remove file /home/lef97/NetBeansProjects/RevivalSoftware/app/cache/dev_old/profiler/75/2e/712e75
    Bref, en changeant les droits des "dossiers cibles" je ne m'en sors pas.

    Autre solution (c'est ma dernière piste mais je n'arrive pas à trouver comment faire): modifier les droits de mon utilisateur ou des dossiers contenant les programmes.

    Y-a-t-il une âme charitable ?

    Merci d'avance,
    Arnaud LEF97

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    Composer update failed: the "/usr/local/bin" directory used to download the temp file could not be written

    Cela ne résout pas le problème mais, pourquoi écrire un fichier temporaire dans un répertoire qui accueille les binaires locaux, et qui à ce titre, ne doit être autorisé en écriture que pour root. La place des fichiers temporaires est ailleurs dans un répertoire rwx (par exemple: /usr/local/temp) pour tous les utilisateurs. Problème de configuration déjà à ce niveau


    Quelle version de Netbeans?
    Quelle version de Debian?

  3. #3
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Par défaut
    Bonjour,

    Concernant la mise à jour de composer, c'est effectivement bizarre qu'il cherche à copier le fichier dans ce dossier. Cependant, cette ligne de commande vient directement de Netbeans et je n'ai rien spécifié quant à l'emplacement des fichiers temporaires (seul l'emplacement du programme est noté).

    Concernant les versions:
    • Netbeans 7.3.1
    • Debian 7.1 "wheezy"


    Merci pour ton aide.
    Arnaud

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    Citation Envoyé par LEF97 Voir le message

    Concernant les versions:
    • Netbeans 7.3.1
    • Debian 7.1 "wheezy"

    Ok, si j'ai le temps cet après-midi, j'installe Netbeans sur ma wheezy 64 bits et je fais le test.

    A tout hasard, as-tu essayé avec la version packagée de Netbeans sous Wheezy (netbeans 7.01)? Peut-être que le "packageur" debian a bien fait son boulot et à respecter les droits.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    J'ai lancé la commande suivante dans un terminal:

    /usr/bin/php /usr/local/bin/composer.phar --ansi --no-interaction self-update

    et la réponse est:

    [Composer\Downloader\FilesystemException]
    Filesystem exception:
    Composer update failed: the "/usr/local/bin" directory used to download the
    temp file could not be written


    Donc dans ce cas, netbeans y est pour rien: Problème de configuration de Composer

    En fait, c'est normal:

    /usr/bin/php /usr/local/bin/composer.phar --ansi --no-interaction self-update

    tu demandes à Composer de se mettre à jour, mise-à-jour, si elle existe, qui se fera dans /usr/local/bin: dans ce cas , il faut être root.
    Dans le cas d'une commande "utilisateur" de Composer, cela fonctionne.



    Peux-tu m'indiquer la marche à suivre pour lancer depuis Netbeans, la commande:

    /usr/bin/php /home/lef97/NetBeansProjects/RevivalSoftware/app/console --ansi cache:clear


    j'ai lancé depuis une console (non root):

    /usr/bin/php /home/XXXX/NetBeansProjects/RevivalSoftware/app/console --ansi cache:clear


    et ça marche sans problème.

  6. #6
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Par défaut Passage Netbeans en root
    Bonjour,

    Tout d'abord merci d'avoir pris un peu de ton temps pour m'aider.

    En fait, c'est normal:

    /usr/bin/php /usr/local/bin/composer.phar --ansi --no-interaction self-update

    tu demandes à Composer de se mettre à jour, mise-à-jour, si elle existe, qui se fera dans /usr/local/bin: dans ce cas , il faut être root.
    Ce que je retiens, c'est que via la configuration "classique / par défaut" de Netbeans, les lignes de commande ne fonctionnent pas. Il faut soit être root, soit avoir des droits particuliers (que je n'ai pas encore réussi à faire fonctionner).

    Je n'ai pas envie de devoir relancer manuellement les lignes de commandes via un terminal en root, ni modifier les lignes de commandes pour pointer vers des dossiers temporaires sans droits particuliers.

    Moralité, j'a franchi le pas et passé Netbeans en root:
    Dans les accessoires, j'ai été dans le "menu principal".
    Dans la catégorie "Programmation", j'ai dupliqué les propriétés de mon raccourci Netbeans en changeant juste la ligne de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/sh "/usr/local/netbeans-7.3.1/bin/netbeans"
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gksu /usr/local/netbeans-7.3.1/bin/netbeans
    Bien sur, j'ai dû modifier les paramètres dans Netbeans pour retrouver tous le paramétrage réalisé avec mon utilisateur par défaut, mais bon, désormais lorsque j'utilise les commandes Netbeans, tout fonctionne...

    Bref, je ne suis pas certain que ce soit super clean comme méthode, mais ça marche...

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    A ta place, j'aurais installé Composer dans un répertoire (quitte à le créér) où tous les utilisateurs auront le droit rxw. Il ne te restera plus qu'à ajouter le chemin de ce répertoire dans le $PATH de chaque utilisateur.

    curl -sS https://getcomposer.org/installer | php -- --install-dir=RepDeTonChoix

    Comme ça, ta ligne de commande fonctionnera et tu n'es alors plus obligé de travailler en tant que root (ce qui fortement déconseillé)

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

Discussions similaires

  1. Utilisation Netbeans sur Debian
    Par LEF97 dans le forum Debian
    Réponses: 1
    Dernier message: 18/08/2013, 08h45
  2. Réponses: 1
    Dernier message: 01/04/2008, 18h31
  3. [Sybase] Utilisation indexes sur table Proxy
    Par MashiMaro dans le forum Sybase
    Réponses: 2
    Dernier message: 20/02/2004, 10h20
  4. [Utilisation Postgresql sur windows]
    Par xhercule dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/01/2004, 18h36
  5. Montage sur Debian de AFPS sous UNIX
    Par Harbaingan dans le forum Administration système
    Réponses: 2
    Dernier message: 14/01/2004, 22h03

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