Atualizando um programa unix compilado manualmente com a nova versão?

2

Eu quero atualizar uma versão de um programa que eu já compilei manualmente para / opt. Posso apenas compilar a nova versão e deixar que ela sobrescreva sua instalação anterior (supondo que não haja problemas de compatibilidade) ou essa prática é ruim?

Estou fazendo isso em um servidor com backup completo; então o pior acontece, eu posso refazer a imagem.

    
por Timmy O'Mahony 25.09.2011 / 20:56

3 respostas

2

Can I just compile the new version and let it overwrite its previous install (Assuming there are no compatibility issues) or is this bad practice?

Sim, você deve estar bem. Os binários são escritos o tempo todo , algumas vezes devido a pacotes compilados manualmente, mas mais frequentemente por causa do yum / apt / etc. atualizações de pacotes binários.

    
por 25.09.2011 / 21:01
4

Depende realmente do programa e das diferenças entre as versões e de como funciona o processo de instalação. Se, por exemplo, você configurá-lo com configurações diferentes, o que resultou em diferentes conjuntos de módulos sendo construídos em um programa que suporta módulos dinâmicos externos (Apache, heartbeat, ProFTPd, etc ...), podem existir módulos nos diretórios que são construídos contra a versão antiga.

Os arquivos de configuração também podem ser sobrescritos ou novos arquivos de configuração não gravados, dependendo do processo de instalação. Isso tem me mordido com o postfix, onde novos serviços são necessários no master.cf, mas o Postfix fornece uma ferramenta para corrigir essas instâncias.

Pessoalmente, nos casos raros em que instalo software manualmente (em vez de usar pacotes de distribuição), tento incluí-los em um diretório nomeado com base na versão e, em seguida, crie um link simbólico do nome genérico para o nome específico . Dessa forma, posso instalar a nova versão em um diretório completamente novo. Caso contrário, é provavelmente uma boa ideia mover o diretório antigo para fora do caminho, por exemplo, renomeando-o para ".old" e, em seguida, faça a reinstalação.

    
por 25.09.2011 / 21:21
0

Normalmente sim. O makefile pode fornecer uma opção "limpa" para desinstalar os binários antigos.

Se você planeja fazer isso com frequência, saiba como criar pacotes adequados e usar as opções package-install para instalar / atualizar para novas versões ou lançamentos.

    
por 25.09.2011 / 22:33