Quero saber como funciona o gerenciador de atualização para Linux. Por exemplo, como minha distribuição Linux verifica se há alguma atualização disponível para download e quais servidores baixar essas atualizações? Se eu estiver lidando com software de terceiros que não faz parte da distribuição principal, como esses programas interagem com meu gerenciador de atualizações para me notificar que esses programas têm atualizações disponíveis? Por último, qual seria uma boa literatura sobre o assunto?
Responder1
Isso irá variar um pouco dependendo da sua distro.
Geralmente cada distribuição mantém uma lista enorme de todos os pacotes de software disponíveis para instalação. Isso é chamado de repositório de software ou 'repo', para abreviar. Agerenciador de pacotes(apt, RPM, pacman, etc...) extrairá uma lista de pacotes atualizados periodicamente do repositório. Os desenvolvedores de distribuição assumem a propriedade dos pacotes no repositório, eles farão coisas como empacotá-los no formato que a distribuição espera (o repositório geralmente tem a versão compilada dos pacotes feitos a partir do código-fonte original recuperado do upstream), observar os bugs enviados à distribuição sobre os pacotes, aplique patches sobre a fonte oficial 'vanilla' (talvez para integrá-los melhor ao sistema, configurá-los ou corrigir problemas que o upstream ainda não conseguiu resolver), e eles assistirão o pacotes upstream para atualizações que eles possam aplicar à versão no repositório de software.
Por exemplo:
- http://packages.ubuntu.com/
- http://www.debian.org/distrib/packages
- http://gentoo-portage.com/
- http://www.archlinux.org/packages/
- https://admin.fedoraproject.org/pkgdb
Na verdade, algumas distros não aplicam atualizações regulares de versão. O Ubuntu, por exemplo, manterá a versão do software lançada quando a versão da distro foi lançada. Normalmente, eles apenas corrigem problemas de segurança ou bugs importantes. Isso garante que o software não mude inesperadamente (por exemplo, a próxima versão pode ter uma grande mudança na interface do usuário, um novo bug quebra alguma coisa, grandes organizações podem estar aplicando seus próprios patches personalizados em uma versão específica do código-fonte). Os mantenedores de pacotes extrairão a lista de pacotes do Debian a cada 6 meses, aplicarão correções/patches do Ubuntu e então enviarão uma nova versão da distro. Háalgumas exceções a esta regra, principalmente o Firefox, que será atualizado para a versão estável mais recente disponível na Mozilla.
O Debian tem Estável, Teste e Instável. Os pacotes passarão de Instável para Teste quando estiverem prontos. Então, a cada 1,5 anos, o Debian lança uma versão 'Estável' que bloqueia a versão de teste atual dos pacotes.
Da mesma forma, o Ubuntu tem um especialLTS (ou suporte de longo prazo)lançado a cada 2 anos ou mais, onde essa versão dos pacotes é mantida por mais tempo (5 anos, embora costumava ser 3 anos para pacotes de desktop).
Outras distros rastrearão a fonte tanto quanto possível. Arch e Gentoo por exemplo. Eles são chamados de 'lançamentos contínuos'. Embora eles também normalmente tenham categorias instáveis e estáveis, onde os pacotes são movidos à medida que sua funcionalidade é verificada, embora possa levar apenas meses ou até semanas, em vez de meio ano ou mais, como outras distros. Você obtém versões mais recentes de software nessas distros, mas ao custo da estabilidade.
Os testes do Debian podem ser considerados como uma versão contínua. Onde o Debian Stable é como os lançamentos LTS do Ubuntu.
A maioria dos verdadeiros softwares de terceiros (como softwares que não vieram do repositório de distros, mas diretamente de um site) não interagem de forma alguma com o sistema de atualização da sua distribuição. Se você instalar o software manualmente (além de usar algo como apt-get, yum ou qualquer outro), será sua responsabilidade mantê-lo atualizado.
Alguns terceiros manterão seus próprios repositórios nos quais seu sistema de atualização pode entrar. Por exemplo, o Google mantém um para Chrome no Ubuntu. Existem também muitos PPAs do Launchpad. Nesse caso, você depende de terceiros para manter as atualizações.