Estamos executando um servidor de produção baseado no Ubuntu 9.10 Karmic Koala , o kernel está quase atualizado (2.6.38.2-grsec-xxxx-grs-ipv6-64), mas o repositório de pacotes karmic agora está ridiculamente desatualizado, por exemplo. Nginx é 0.7.62 - realmente buggy - enquanto o último estável é 1.0.x !!
Além disso, Karmic acabou de chegar ao fim da vida.
Esta pergunta: Práticas recomendadas para manter os pacotes UNIX atualizados? parece semelhante, mas na verdade inclui apenas algumas sugestões sobre gerenciadores de pacotes; não é o que eu preciso!
então as opções que eu vejo são:
- obtenha uma nova máquina, instale-a do zero, migre
- atualização de distribuição
- use um repositório diferente ( barra de ativação / ppa / backport / pinning )
- Construa o seu próprio
As desvantagens do 1. são bastante óbvias.
Porém, não me atrevo a fazer um caminho de atualização dist, pois o tempo de inatividade e as possíveis consequências catastróficas são impossíveis de prever para um servidor de produção e, atualmente, estão na maioria das vezes reconstruindo meus próprios pacotes necessários. Mas tenho certeza que posso estar perdendo alguns.
Não está realmente claro para mim quais são os riscos (estabilidade / compatibilidade) do uso de backports do ubuntu, além disso, nada é oficialmente fornecido para a 9.10. A barra de ativação é uma construção semelhante, pergunta semelhante - quão melhor é isso do que compilar a sua.
Construir pacotes parece bom, mas: 1. Às vezes, tenho problemas para reproduzir as opções ./configure corretas para reutilizar meus arquivos de configuração existentes. de insetos
Finalmente ... e os pacotes 'antigos' em um distrito recente? Eu acho que não há outra maneira senão reconstruí-los eu mesmo? Uma combinação de 2. e 4. finalmente é o melhor caminho?
Existe algum consenso objetivo sobre qual é a melhor maneira de fazer isso, ou razões pelas quais algumas de minhas opções são boas / não boas?
Se realmente não houver, aceitarei que a pergunta seja encerrada antes de criar um encadeamento sem fim!
Respostas:
Manter sua própria distribuição é muito trabalhoso. Mesmo que você mantenha os backports, em breve você ficará sobrecarregado com problemas de segurança para corrigir e precisará puxar bibliotecas de baixo nível para continuar atualizando seu software, o que pode quebrar outras coisas (eu mantenho servidores executando distros de 6 anos, é não tem graça).
A atualização geralmente é uma boa solução.
do-release-upgrade
é bem feito e você deve poder atualizar sem problemas (especialmente se você usou apenas pacotes oficiais).Minha solução favorita pode ser o caminho de reinstalação. Mais especificamente, seus servidores devem ser gerenciados usando um sistema de gerenciamento de configurações, como Puppet, Cfengine ou Chef. Se todas as suas necessidades de configuração / pacote forem especificadas usando essa ferramenta e seus dados estiverem seguros em uma partição separada, será muito mais fácil reinstalar rapidamente. Você acabou de instalar uma nova distribuição sem apagar as partições de dados e, em seguida, executa a ferramenta de gerenciamento de configuração para redefinir seus pacotes / configurações. Acredito que esta é a maneira mais limpa de fazer, especialmente se você tiver vários servidores para gerenciar.
Se você estiver usando pacotes não oficiais, poderá identificá-los antes de atualizar / reinstalar. maintenance-check pode ajudar a identificar os pacotes que não são oficialmente mantidos pelo Ubuntu:
Se você deseja reinstalar, também pode exportar a lista de pacotes instalados:
e seu banco de dados debconf:
Como uma observação, como você está atualmente usando o Karmic, pode não ser muito violento atualizar para o Lucid, que é uma versão LTS, ainda suportada até 2015 para os principais pacotes de servidores. Isso deve lhe dar tempo suficiente para configurar uma instalação automatizada viável para o futuro.
Quando você pergunta sobre pacotes do Launchpad, suponho que você queira dizer PPAs. Existem toneladas de diferentes CAE. Alguns são experimentais, alguns são estáveis. Alguns são mantidos por desenvolvedores oficiais do Ubuntu, outros são mantidos por pessoas que mal sabem como fazer um pacote corretamente. É difícil dizer em geral se os pacotes encontrados nos PPAs são bons, não há regra geral. A melhor dica nesse caso pode ser procurar o proprietário dos PPAs para ter uma idéia da possível qualidade de seus pacotes.
fonte
maintenance-check
pode ajudá-lo com isso (veja minha edição).Se o servidor não estiver exposto ao mundo e você confiar totalmente em seus usuários (geralmente isso não é uma boa ideia), se estiver funcionando, você pode simplesmente deixar como está.
Se ele estiver exposto de alguma forma ao mundo exterior e / ou você tiver a ideia de um usuário legítimo jogando com ele de maneira ilegítima, precisará absolutamente de correções e correções no software instalado.
Nesse caso, você tem duas opções:
Execute uma distribuição suportada e obtenha atualizações para o seu software ou
Faça o backport de todas as correções para sua distribuição não suportada, o que, francamente falando, não parece viável.
Como não sou usuário do Ubuntu, não posso comentar sobre a integridade dos patches que você obteria com a opção 3, mas se tiver alguma dúvida, presumo que você não terá cobertura completa.
A melhor solução é mudar para uma versão LTS do Ubuntu, que fornecerá suporte para as versões de pacotes especificadas por algum tempo. Com o tempo, alguns dos pacotes ficarão desatualizados, mas seu ambiente terá patches de segurança e permanecerá estável (sem problemas de versão do pacote). Pela minha experiência, a estabilidade de um ambiente de trabalho conhecido geralmente é mais valiosa do que novos recursos.
Parece que sua posição atual não é sustentável e você precisa se mudar. A única maneira segura é obter uma segunda máquina (ou uma máquina virtual) e testar as migrações até que você tenha um procedimento repetitivo e bem-sucedido, depois aplicá-lo à máquina de produção. Se você usar seus backups para fazer migrações de teste, também terá uma boa oportunidade de testar seus procedimentos de backup.
fonte
O único caminho real a seguir é uma atualização de distribuição. Eu posso entender que você está nervoso com isso, já que agora você estará pulando vários lançamentos à frente (11.04 acaba de ser lançado).
Eu recomendaria fazer um clone das unidades nesta máquina e, em seguida, usar um computador separado para executar com os clones e usá-lo para fazer uma série de atualizações de teste. Faça anotações de todos os problemas encontrados e repita até que você tenha um procedimento claro para todos eles. Em seguida, aplique isso ao seu servidor ativo.
Se você não puder pagar nenhum tempo de inatividade, a migração é sua única saída. Esqueça as fixações e backports, que só o manterão vivo por um período limitado de tempo. E a opção "role o seu próprio" nem vale a pena considerar. Apenas meus 2 centavos.
fonte