Linux, recompilando a partir da origem

3

Sou relativamente novo no Linux, mas tenho andado por aí com uma VM do Ubuntu para ficar mais acostumado com isso. Configurei o SSH, o Apache, o PHP, o MySQL, o Ruby, o Rails, o Passenger e o Git para mexer em meus projetos de desenvolvimento da web. Alguns dos que eu criei a partir do código fonte, PHP e Git fora do topo da minha cabeça.

Eu queria saber qual é a melhor prática geral para recompilar / reinstalar algo da fonte? Por exemplo, se eu quisesse atualizar o Git para uma versão mais nova ou ativar uma extensão para o PHP. Está tudo bem recompilá-lo e depois instalá-lo sobre a instalação atual? Ou isso é um não-não e eu deveria estar desinstalando antes de reinstalar?

Se este último, exatamente como você vai sobre a desinstalação de algo que foi instalado a partir do código fonte?

Eu tentei pesquisar um pouco, mas isso parece ser uma pergunta difícil de pesquisar e não consegui encontrar nada ao criar a partir do código-fonte, apenas ao usar gerenciadores de pacotes.

Obrigado por qualquer ajuda.

EDIT: Obrigado por todas as contribuições até agora. Todos pareciam responder à minha pergunta sobre a desinstalação, mas a principal pergunta pela qual eu estava procurando uma resposta foi:

Se devo ou não desinstalar algo que criei a partir da fonte antes de recompilá-lo e instalá-lo novamente. Ou não há problema em instalar instalações atuais sempre que preciso alterar um sinalizador de configuração ou atualizar para um versão mais recente?

    
por anomareh 31.01.2010 / 19:25

3 respostas

2

Compilar seu software em uma VM é uma ótima maneira de "se acostumar" com um sistema operacional. Sem dúvida, todos os avisos terríveis sobre o seu próprio são verdadeiros, para uma máquina de produção , mas você será melhor a longo prazo se você cometer seus erros agora.

Se houver algum motivo para desinstalar uma versão anterior, isso deve ser observado em um arquivo README ou INSTALL. Se não, deve ser seguro apenas executar 'make install', que sobrescreverá a versão antiga. Faça um instantâneo da sua VM antes de "make install". Quando, não se, algo quebrar, tente consertá-lo. Se você não conseguir corrigi-lo, reverta para o instantâneo e tente novamente.

Se mais tarde, você quiser desfazer completamente o que você fez, o Makefile tem todas as informações que você precisa para desinstalar. Você pode escrever seu próprio alvo "desinstalar" ou fazê-lo manualmente com apenas "rm". Tenha em mente outras as coisas podem ter se tornado dependentes do software , então a estratégia de snapshots também faz sentido para a desinstalação.

Para toda a bondade dos gerenciadores de pacotes, eles têm algumas falhas. Alguns pacotes têm dependências enormes para adicionar recursos nos quais você não está interessado. Às vezes, eles não têm a versão do software que você deseja. Às vezes eles não têm o software.

Se você encontrar um desses problemas em uma máquina importante e depender totalmente dos gerenciadores de pacotes, seus erros serão caros. Mas agora, você pode simplesmente reverter para o último bem conhecido e seguir em frente, um pouco mais sábio.

    
por 31.01.2010 / 20:26
3

Isso pode não ser o anser que você está procurando, mas a melhor prática no ubuntu não para instalar coisas da fonte. Eu diria que você quer estar olhando para o apt ou seus derivados (aptitude et al ). O Git, por exemplo, mora em um pacote chamado git-core .

Se você acabar instalando coisas a partir do código-fonte, pode ter certeza de que elas acabarão em /usr/local , o que permitirá que você remova manualmente bits e bits antigos se / quando decidir atualizar.

Alguns Makefiles também têm alvos de desinstalação / desinstalação, mas não sei ao certo para que proporção isso é verdade.

    
por 31.01.2010 / 19:38
1

Não existe uma maneira genérica de desinstalar as coisas compiladas por fontes; essa é uma das muitas razões para não instalar nada da fonte . make uninstall funcionará às vezes, por meio de.

Você pode fazer algumas alterações em um pacote sem instalar fontes "cruas": dê uma olhada em this e this Debian-Administration.org artigos.

    
por 31.01.2010 / 19:40