É uma má idéia obter o código-fonte do software de servidores de produção do github

2

Normalmente, uso apt-get , mas apt-get pode ficar desatualizado.

Parece que uma solução bastante interessante pode ser obter o código-fonte do meu software (por exemplo, nginx ) de github e, em seguida, compilá-lo todas as vezes.

Existe alguma razão pela qual isso pode não ser uma boa ideia?

Na minha opinião, eu tenho o código mais atualizado de cada vez, incluindo as últimas correções de bugs.

    
por James Willson 09.05.2013 / 12:03

2 respostas

3

Tudo depende da importância do seu sistema de produção. Você pode perder tempo se mudanças na maneira como a versão baixada funciona causam um problema com o seu sistema? A versão mais recente do software pode ter um bug ou bugs que não estavam na versão anterior. Ou os efeitos colaterais da versão mais recente podem afetar seu sistema - talvez de uma maneira sutil que seja difícil de identificar e corrigir.

A introdução de novo software dessa maneira é arriscada. Sim, é tentador manter-se atualizado com o software mais recente. A estratégia oposta de não atualização de software pode resultar em sistemas com software em execução a partir de dez ou mesmo vinte anos atrás. Isso realmente acontece com sistemas reais de produção.

Fazer o download do software para um sistema de teste que espelha o sistema de produção e depois aplicar um conjunto completo de testes antes de considerar a aplicação das alterações à produção seria uma prática mais segura. Testes automatizados podem ajudar com a carga de testar um sistema inteiro. Claro, isso pode ser um esforço substancial. É um trade-off entre a importância de manter um serviço confiável e os recursos necessários para garantir que o sistema estará seguro se as mudanças forem aplicadas.

    
por 09.05.2013 / 12:38
3

Primeiro você deve procurar, você pode encontrar um ppa com a nova versão. Essa é a maneira mais fácil.

No caso, não há:

Construir e instalar software a partir do código-fonte pode levar a bibliotecas ou binários bagunçados no sistema, já que outro pacote pode substituir algo ou vice-versa.

Para evitar isso, existem duas soluções:

  1. Crie somente a origem e use os binários localmente, mas isso significa você tem que escrever seu próprio serviço init ou upstart para isso, se você quero lidar com eles adequadamente.
  2. Na minha opinião, o melhor: obter a versão do repositório do código-fonte com o apt-get source, sobrescrevê-lo com a nova fonte e construí-lo da maneira debian. Há um tutorial muito bom sobre o desenvolvimento de pacotes aqui . A única desvantagem é que, se houver alguma mudança no processo de construção, você terá que fazer as alterações nos scripts do Debian também.

Você também deve considerar que uma nova versão pode depender de uma biblioteca mais nova que o seu repositório. Nesse caso, você pode encontrar um ppa de uma compilação mais nova ou construir um com a mesma maneira, mas isso pode ser um processo bastante longo, percorrendo todas as dependências.

Em suma, se você tiver sorte, você pode passar por isso de forma bastante rápida e fácil. Se você não é, então é melhor usar a versão da sua distro.

    
por 09.05.2013 / 12:22