GNU/Linux >> Linux Esercitazione >  >> Linux

I file binari creati dalla sorgente possono essere installati su una seconda macchina?

Non sono sicuro che questo sia il posto migliore per chiedere questo:per favore indirizzami nella giusta direzione se c'è un posto migliore.

Diciamo, ipoteticamente, che ho due macchine:A è una macchina di sviluppo e B è una macchina di produzione. A ha un software come un compilatore che può essere utilizzato per creare software dal sorgente, mentre B no.

Su A, posso facilmente creare software dal sorgente seguendo la solita routine:

./configure
make

Quindi, posso installare il software creato su A eseguendo sudo make install . Tuttavia, quello che mi piacerebbe davvero fare è installare il software che ho appena creato su B. Qual è il modo migliore per farlo?

Ci sono alcune opzioni che ho considerato:

  1. Utilizzare un gestore di pacchetti per installare il software su B:questa non è un'opzione per me perché il software disponibile nel gestore di pacchetti è molto obsoleto.
  2. Installa il compilatore e altri strumenti di compilazione su B:preferirei non installare strumenti di compilazione sulla macchina di produzione a causa di vari vincoli.
  3. Copia manualmente i file binari da A a B:questo è soggetto a errori e vorrei assicurarmi che i file binari siano installati in modo coerente su tutte le macchine di produzione.
  4. Installa solo make su B, trasferisci la directory di origine ed esegui sudo make install su B:questa è la soluzione migliore che ho trovato finora, ma per qualche motivo (forse offset di clock), make tenterà di ricostruire il software che avrebbe dovuto essere già compilato, il che non riesce poiché gli strumenti di compilazione non sono installati su B. Poiché anche le mie macchine hanno velocità di I/O terribili, il trasferimento della directory di origine richiede molto tempo .

Sarebbe davvero bello se ci fosse un modo per creare una sorta di pacchetto contenente i binari compilati che possono essere trasferiti ed eseguiti per installare i binari ei file di configurazione. Esiste uno strumento del genere?

Risposta accettata:

Usando quello che hai finora e se il makefile è generato con GNU autotools, imposterei la posizione di destinazione o il percorso di installazione con

./configure --prefix=/somewhere/else/than/the/usual/usr/local

e quindi esegui

make && make install

e infine copia i file dalla cartella del prefisso in usr/ cartella nell'altra macchina. Ciò presuppone che entrambe le macchine abbiano la stessa architettura, in caso contrario, utilizzare la corrispondente toolchain incrociata.

Correlati:nessun modo per usare xargs su una pipe?
Linux
  1. Rimuovere i pacchetti da un'origine non attendibile e reinstallarli?

  2. Quando si dovrebbe compilare e installare dal sorgente?

  3. Installa Openssl dal sorgente?

  4. Come installare l'editor nano dal codice sorgente

  5. Guida alle istruzioni per installare PHP5 da Source su Linux

Come installare l'ultima versione di OpenSSL da Source su Linux

Come installare un programma da Source su Linux

Come rimuovere i programmi installati dal sorgente utilizzando GNU Stow in Linux

Come installare il software dal sorgente in Linux

Come installare il software dal codice sorgente... e rimuoverlo in seguito

Se posso, come installare Ubuntu da Ubuntu?