Quero compilar e instalar um software em uma nova VM. O software foi instalado com sucesso em uma VM diferente por um administrador diferente, mas quero duplicar o comando exato com as opções que ele usou. Isso é possível? Aliás, a pasta de onde ele executou ./configure
ainda está intacta.
Responder1
Se todo o diretório onde ./configure
foi executado anteriormente estiver totalmente intacto, então dentro desse diretório haverá um arquivo chamado config.status
. O config.status
arquivo é gerado quando ./configure +args
é executado e registra os argumentos executados. Se quiser fazer tudo exatamente igual e o novo sistema tiver todas as dependências instaladas, você tem várias opções.
- você pode tar/gzip todo o diretório, copiar o tarball para o novo sistema, descompactá-lo e executar
make install
para simplesmente reinstalar os objetos criados anteriormente. Isso deve funcionar se o sistema for semelhante o suficiente (arquitetura/SO). - você pode tar/gzip todo o diretório, copiar o tarball para o novo sistema, descompactá-lo e executar o
./config.status
script para refazer todo o./configure
trabalho anterior, permitindo que você execute um arquivomake
,make test
, emake install
. - você também pode fazer uma compilação completamente limpa usando os argumentos exatos do administrador anterior, executando
cp config.status myconfigure
,make clean
,make distclean
e depois executando./myconfigure
para refazertodoso trabalho.
A última opção funcionaria mesmo se você estivesse alternando entre diferentes distros Linux, ou de Linux para Solaris ou FreeBSD, ou de 32 bits para 64 bits, desde que todas as dependências do software fossem atendidas previamente.
Ao copiar config.status
para um novo nome de arquivo como myconfigure
, você preserva esse arquivo por meio de qualquer comando make clean
, ou .make distclean