Question

Je suis en train de mieux intégrer Eclipse avec mon build.xml. Mon fichier build appelle GNU Make pour la partie native du programme, et le Makefile utilise sudo pour movethe libs compilés dans le chemin du système. Malheureusement, cela vous devez entrer le mot de passe et le terminal d'Eclipse n'accepte pas l'entrée d'utilisateur. Ainsi, le résultat de l'exécution de l'accumulation dans l'éclipse est:

 [exec] sudo: no tty present and no askpass program specified
 [exec] make: *** [install] Error 1

Toute façon de contourner ce problème? la construction de fourmis peut être élevé à la racine d'une autre manière?

Était-ce utile?

La solution

Mettre en place un compte distinct, par exemple deployer . Modifier /etc/sudoers pour inclure les alias qui permettent deployer exécuter une seule commande, par exemple deploy , en tant que root. Faire deployer NOEXEC:. Stocker le deployer mot de passe dans un fichier invisible, par exemple .deployconf avoir accès seul utilisateur: par exemple 400 ou 600. Chargez le mot de passe dans ant, et utiliser au besoin:

  

Cela fonctionne bien avec , mais je n'ai pas essayé avec . Des efforts peuvent être nécessaires pour maintenir linefeeds de .deployconf .

Autres conseils

Vous pouvez configurer votre fichier / etc / sudoers afin qu'il précise NOPASSWD: pour l'utilisateur sous lequel Eclipse est en cours d'exécution, et pour la commande que vous utilisez pour déplacer les libs. En utilisant la commande visudo, vous pouvez ajouter à la fin de / etc / sudoers:

eclipseuser ALL = NOPASSWD: /bin/cp

Sachez que cela ne présente un risque de sécurité que le eclipseuser aurait alors le pouvoir d'écraser tout fichier sur le système.

Peut-être une stupide « solution », mais pourquoi ne pas faire le déploiement d'une étape distincte? Avez-la construction faire un artefact d'emballage: DEP, RPM ou quelque chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top