Por que a maioria das distros (exceto a Debian) recomenda / requer uma reinstalação completa ao atualizar para uma nova versão?

10

Tendo passado a maior parte da minha vida no Linux usando o Debian, estou observando outras distros e estou realmente surpreso com a extensão em que elas não fornecem uma atualização suave entre as versões. O Debian é infinitamente atualizável, e eu atualizei através de algumas das principais versões estáveis ​​agora.

Estou falando de distribuições bem suportadas, como o Fedora (e derivados), até o Ubuntu e derivados. Até distribuições orientadas para o servidor estáveis ​​como o CentOS.

É porque o sistema de gerenciamento de pacotes e os scripts de atualização de pacotes do Debian são muito mais avançados do que qualquer outra distro tem a oferecer?

Ou a reinstalação do zero em uma atualização de versão principal é apenas uma idéia melhor em geral, independentemente da distribuição?

trr
fonte

Respostas:

6

É uma combinação de vários fatores.

A maioria das distros usa os principais lançamentos como o momento para implementar mudanças significativas, às vezes que quebram. Por exemplo, o Fedora 15 adicionou systemd e o Ubuntu adicionou o iniciante na 6.10. O Debian é uma distribuição muito conservadora de várias maneiras. Grandes mudanças de última hora são desaprovadas.

É uma conseqüência disso, por exemplo, que os ciclos de lançamento do Debian estão tão distantes, porque exigem que todos os pacotes importantes sejam modificados para atender aos padrões do novo lançamento.

A tecnologia de gerenciamento de pacotes do Debian não é superior à do Fedora ou do Ubuntu (obviamente, porque é a mesma do Ubuntu), mas o Debian decidiu, culturalmente, que ter um sistema de atualização suave é importante.

Andrew Schleifer
fonte
5
Mais precisamente, eles decidiram que o que você não quer em um servidor de produção é ter que reinstalá-lo do zero para atualizar o software nele.
precisa saber é o seguinte
Mesmo com o Fedora, realizar uma atualização (versão única) através do instalador tentará a DTRT com relação às alterações na infraestrutura subjacente, se possível.
Ignacio Vazquez-Abrams
1

Para ser mais específico, encontrei problemas em muitas distros ao fazer atualizações. Ubuntu Por exemplo, altera drasticamente sua base de pacotes instalados entre os lançamentos. Se você executar o 'dist-upgrade' tradicional, os pacotes instalados serão atualizados para seus novos lançamentos, mas o resultado final não apresentará novas alterações na programação. Se um pacote da instalação padrão for rebaixado, para apenas 'suportado' ou pior 'não suportado', você ainda manterá esse pacote. Se um novo pacote estiver agora na instalação padrão, você não o terá instalado. Mesmo que sua versão seja 'tecnicamente' a versão atualizada, ela não reflete a nova experiência de versão. O mesmo caso também é muito preciso. Ao comparar o CentOS5 ao CentOS6, eles reorganizaram completamente seus nomes de embalagens.

O Debian prioriza atualizações suaves, às custas de mudanças drásticas. É por isso que o Debian é mais lento em novos recursos, para a comunidade deles o trade-off é aceitável. Para ecoar a resposta anterior, nada tem a ver com a tecnologia de gerenciamento de pacotes em si. Eu direi que as constantes reinstalações do Ubuntu estão me desgastando.

JM Becker
fonte
O Ubuntu inclui uma ferramenta especial para atualizações que supostamente cuida de mais do que apenas uma atualização dist. Você sabe mais sobre isso e isso é bom?
trr
1

O que você declara não é verdadeiro para toda a família de distribuições de lançamentos contínuos .

Para um software de manutenção de sistema, é muito mais desafiador resolver problemas de compatibilidade entre pacotes ao atualizar apenas algumas partes do sistema ou manter a consistência da configuração durante as atualizações. Vários pacotes de software precisam ser adaptados para funcionarem bem entre si.

É por isso que a solução mais fácil (ou seja, mais confiável ao mesmo tempo de desenvolvimento ) para fornecer uma atualização do sistema é preparar periodicamente uma versão completa, completamente testada e com instalação completa. As soluções corporativas, como a Red Hat, assumem a posição de que o cliente deve ter um sistema confiável e sofrer problemas ao interromper as atualizações pelo maior tempo possível. (Obviamente, pequenas atualizações e correções de bugs devem estar disponíveis ou mesmo executadas automaticamente). Essa também é a filosofia geral por trás das distribuições gratuitas de servidores, como o CentOS.

Fornecer ao usuário final uma rota de atualização contínua entre os lançamentos é um grande desafio para os desenvolvedores do sistema. Muitas distribuições optam por não sacrificar seu tempo escasso por isso. Muitos pacotes populares (como o QT, por exemplo) são difíceis de atualizar, geralmente necessitando de uma reinstalação completa. O que é ainda mais importante: muitos projetos mostram uma diminuição no esforço de desenvolvimento ou são substituídos por novas tecnologias. No caso de pacotes do sistema, isso geralmente requer uma reformulação significativa do sistema. Os procedimentos de migração podem ser especialmente difíceis de implementar se eles tiverem que levar em consideração o fato de que algumas pessoas desejam atualizar da versão C para D, mas outras irão mudar do formulário B ou de A ou de algum estado personalizado no meio.

Portanto, como você já deve ter adivinhado, a abordagem mais desafiadora é o lançamento contínuo. Não conheço os detalhes da abordagem do Debian, mas pela sua descrição, posso ver que eles estão em algum lugar no meio.

rozcietrzewiacz
fonte
O Debian suporta completamente atualizações do estábulo anterior para o estábulo atual. Como eles estão separados por 2 ou 3 anos, envolvem transições importantes, como glibc, KDE 3 a 4, o próximo Gnome 2 a 3 etc. Você menciona que alguns pacotes são difíceis de atualizar e precisam ser reinstalados - é isso que se sabe dentro do Debian como uma "grande transição" e, ainda assim, seu gerenciador de pacotes é perfeitamente capaz de gerenciá-los e eles os testam e dão suporte completo a usuários finais. Eu estou pensando que tem muito mais a ver com mentalidade do que você afirma - o Debian acredita que é o caminho certo para fazê-lo, para que eles façam isso acontecer.
trr