Visão geral da gestão de pacotes no Azure Linux

Azure Linux utiliza DNF5 como gestor de pacotes e disponibiliza software como pacotes RPM. Este artigo aborda os detalhes de como o Azure Linux é empacotado, o que há de novo no DNF5 e onde procurar quando os caminhos ou ferramentas ainda têm nomes da era YUM.

Note

O Azure Linux 4.0 encontra-se agora em preview e destina-se exclusivamente a efeitos de avaliação e teste. Não é adequado para uso em produção.

DNF5

DNF5 é a mais recente grande versão do DNF, o gestor de pacotes mantido pela comunidade de gestão de software upstream RPM. Comparado com o DNF4, o DNF5 oferece:

  • Resolução de dependências mais rápida.
  • Redução do uso de memória.
  • Uma arquitetura interna melhorada.
  • Total compatibilidade retroativa com configurações existentes de repositórios YUM.

A superfície da linha de comandos está intencionalmente próxima de yum e dnf 4, pelo que os scripts existentes e os pipelines de CI geralmente funcionam sem alterações. Os comandos dnf e yum no Azure Linux são fornecidos pelo DNF5.

Pacotes RPM

O software no Azure Linux é entregue em pacotes RPM. Cada .rpm ficheiro agrupa:

  • Binários, bibliotecas, scripts e outros ficheiros de carga útil.
  • Ficheiros de configuração marcados com %config para sobreviverem às atualizações.
  • Metadados: nome, versão, release, arquitetura, dependências, lista de ficheiros, assinaturas e registo de alterações.

O DNF resolve dependências, recolhe os ficheiros necessários .rpm de repositórios configurados, verifica as suas assinaturas e entrega-os à rpm biblioteca para instalação ou atualização. Pode interagir diretamente com pacotes instalados usando rpm (por exemplo, rpm -qa, rpm -qf <path>, rpm -V <pkg>), mas para instalações e atualizações use DNF para que a resolução de dependência se mantenha correta.

YUM, DNF e DNF5

As distribuições baseadas em RPM passaram por três gerações de ferramentas front-end:

YUM → DNF → DNF5

Cada geração mantinha o formato do repositório em disco compatível, por isso ainda se vêem caminhos e nomes como /etc/yum.repos.d/ e yum.conf nos sistemas Linux Azure atuais. São alias no DNF5, não ferramentas separadas, e podes usar qualquer um dos nomes em scripts.

Para mais informações sobre o DNF5 e o ecossistema RPM, consulte os seguintes recursos: