Domanda

Sto cercando di integrare al meglio Eclipse con il mio build.xml. Il mio file di compilazione richiede GNU Make per la parte originaria del programma, e il Makefile utilizza sudo per movethe librerie compilati nel percorso di sistema. Purtroppo che richiede l'inserimento di una password e terminale di Eclipse non accettare input dell'utente. Così il risultato esecuzione la build in Eclipse è:

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

Qualsiasi modo per aggirare questo problema? la build formica può essere elevato a radicare in qualche altro modo?

È stato utile?

Soluzione

Impostare un conto separato, per esempio deployer . Modificare /etc/sudoers per includere gli alias che consentono deployer per eseguire un singolo comando, ad esempio deploy , come root. Fai la deployer NOEXEC:. Conservare il deployer la password in un file invisibile, per esempio .deployconf avere l'accesso degli utenti solo: per esempio 400 o 600. Caricare la password in ant, e utilizzare come necessario:

  

Questo funziona bene con , ma io non ho provato con . Qualche sforzo può essere richiesto per mantenere linefeeds di .deployconf .

Altri suggerimenti

È possibile impostare il file / etc / sudoers in modo che specifica NOPASSWD: per l'utente con cui Eclipse è in esecuzione, e per il comando che si sta utilizzando per spostare le librerie. Utilizzando il comando visudo, è possibile aggiungere questo al fine di / etc / sudoers:

eclipseuser ALL = NOPASSWD: /bin/cp

Si noti che questo non presentare un rischio per la sicurezza come l'eclipseuser avrebbe quindi il potere di sovrascrivere qualsiasi file sul sistema.

Forse uno stupido 'soluzione', ma perché non fare il distribuire un passaggio separato? Hanno la costruzione fare un artefatto di imballaggio: DEP, RPM o qualcosa del genere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top