Por que a maioria das distros (além do 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, eu estou dando uma olhada em outras distribuições 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 grandes versões estáveis agora.

Estou falando de distribuições bem suportadas, como o Fedora (e derivados), até mesmo do Ubuntu e derivados. Mesmo distribuições orientadas a servidores 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 distribuição?

Ou a reinstalação do zero em uma grande versão é apenas uma ideia melhor, independentemente da distribuição?

    
por trr 20.04.2012 / 03:08

3 respostas

6

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

A maioria das distros usa os principais lançamentos como o momento de implementar mudanças significativas, às vezes interrompidas. Por exemplo, o Fedora 15 adicionou systemd e o Ubuntu adicionou o upstream em 6.10. O Debian é uma distro muito conservadora de várias maneiras. Grandes e quebradas mudanças são desaprovadas.

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

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

    
por 20.04.2012 / 04:33
1

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

O Debian prioriza atualizações lisas, ao custo de tais mudanças drásticas. É por isso que o Debian é mais lento em recursos mais novos, para a sua comunidade o trade-off é aceitável. Para repetir a resposta anterior, não tem nada a ver com a tecnologia de gerenciamento de pacotes em si. Eu direi, as constantes atualizações do Ubuntu estão usando em mim.

    
por 20.04.2012 / 06:29
1

O que você declara não se aplica a 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 funcionar bem uns com os outros.

É por isso que a solução mais fácil (ou seja, mais confiável no mesmo tempo de desenvolvimento ) para fornecer uma atualização do sistema é preparar uma versão completa e totalmente testada da instalação completa periodicamente. As soluções corporativas, como a Red Hat, assumem a posição de que o cliente deve ter um sistema confiável e ser incomodado ao interromper as atualizações pelo maior tempo possível. (Claro, pequenas atualizações e correções de bugs devem estar disponíveis ou até mesmo puxadas 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 perfeita entre os lançamentos é um grande desafio para os desenvolvedores do sistema. Muitas distros escolhem não sacrificar seu tempo escasso para isso. Muitos pacotes populares (como o QT, por exemplo) são difíceis de atualizar, muitas vezes precisando 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 de sistema, isso geralmente requer algumas reformulações significativas do sistema. Os procedimentos de migração podem ser especialmente difíceis de implementar se eles tiverem que levar em conta o fato de que algumas pessoas vão querer atualizar da versão C para D, mas outras estarão trocando o formulário B ou A ou algum estado customizado no meio. / p>

Então, como você já deve ter adivinhado, a abordagem mais desafiadora é lançar a versão. Eu não sei os detalhes da abordagem do Debian, mas pela sua descrição eu posso ver que eles estão em algum lugar no meio.

    
por 20.04.2012 / 14:42