A história da diferença entre update
e upgrade
é realmente muito legal.
Há muito, muito tempo - cerca de 2000 ou mais, anos antes da existência do Ubuntu -, a largura de banda e o espaço em disco eram muito mais limitados ... embora fossem expansivos em comparação com meados dos anos 90. A banda larga estava apenas começando, e a conexão discada ainda era uma forma vital de se conectar. Grandes discos ainda eram apenas algumas centenas de MB. O Apt era brilhante e novo, radical e revolucionário, construído sobre o dpkg.
O banco de dados apt, quando você pensa sobre ele, é uma maravilha: é um banco de dados preciso ao minuto de todo software de todos repositórios conhecidos. Ele é detalhado o suficiente para o apt calcular dependências e identificar atualizações disponíveis, mas pequeno o suficiente para transmitir através dos modems dial-up da hora e para armazenar nas pequenas unidades do tempo. Atualizar seu banco de dados por telefone pode levar minutos por uma boa conexão. Embora isso seja muito tempo agora, procurar atualizações de pacote manualmente (antes do apt) poderia consumir horas .
Naquela época, as distros eram construídas de forma diferente - sem Integração Contínua, sem testes de fumaça (bem, sem muitos testes!), construir fazendas estava apenas começando. Os upgrades tiveram que ser revertidos com mais frequência do que agora. Muitos usuários escolheram não atualizar determinados pacotes por vários motivos, ou selecionar apenas algumas atualizações hoje (para testar manualmente) e outras atualizações amanhã.
Durante os próximos 15 anos ou mais, as ferramentas não mudaram muito, motivo pelo qual ainda temos ações update
e upgrade
separadas. O fluxo de trabalho do usuário evoluiu à medida que a confiabilidade da distribuição melhorou, e muito do gerenciamento de origem / atualização / atualização que costumava ser manual foi lentamente escondido atrás de camadas de automação ( software-updater
, unattended-upgrades
) .
A modernização das ferramentas do pacote de software é uma das razões pelas quais o Snaps e o AppImage e o Flatpack apareceram recentemente, mas esse é o próximo capítulo.