Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo aborda tarefas comuns de gestão de pacotes no Azure Linux, incluindo:
- Onde está a configuração do repositório.
- Como os comandos legados do gestor de pacotes correspondem ao DNF5.
- Como o DNF armazena em cache metadados e resolve pacotes.
- Como são tratados os kernels e outros pacotes só de instalação.
- Como ativar atualizações sem vigilância.
- Os comandos DNF mais comuns.
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.
Configuração do repositório
O DNF5 lê definições de repositórios a partir de /etc/yum.repos.d/. O nome do diretório é preservado do YUM para compatibilidade; DNF5 lê a partir deste diretório.
Cada .repo ficheiro nesse diretório é um ficheiro de configuração em texto simples que indica ao DNF onde encontrar pacotes, se os deve verificar com GPG e se o repositório está ativado por defeito. O principal ficheiro de configuração DNF é /etc/dnf/dnf.conf, que controla o comportamento global como definições de cache, o limite de instalação apenas e a configuração do proxy.
Ligações simbólicas de compatibilidade para comandos antigos
O Azure Linux fornece ligações simbólicas de compatibilidade para que os comandos legados (yum, dnf (DNF4), microdnf, tdnf) sejam todos encaminhados para o DNF5:
lrwxrwxrwx. 1 root root 4 yum -> dnf5
lrwxrwxrwx. 1 root root 4 microdnf -> dnf5
-rwxr-xr-x. 1 root root 1614408 dnf5
lrwxrwxrwx. 1 root root 4 dnf -> dnf5
lrwxrwxrwx. 1 root root 4 tdnf -> dnf5
Os subcomandos comuns funcionam todos através dos symlinks. Casos extremos que dependiam de elementos internos do DNF4 ou de comportamento específico de microdnf poderão deixar de funcionar. Para detalhes sobre o que mudou, consulte os seguintes recursos:
Como o DNF5 resolve pacotes
Quando executa um comando DNF, o DNF5 executa os seguintes passos para determinar que pacotes instalar, atualizar ou remover:
- Carrega cada ficheiro
.repoem/etc/yum.repos.d/e seleciona os repositórios marcados como ativados. - Atualiza os metadados do repositório, armazenando-os localmente em
/var/cache/libdnf5. Os metadados em cache incluem a lista de pacotes, informações de versões e dependências, somas de verificação e assinaturas. - Resolve a instalação, remoção ou atualização solicitada com base nos repositórios habilitados, seleciona as versões dos pacotes e verifica a integridade e assinaturas antes de aplicar a transação.
Repositórios desativados são ignorados a menos que os atives explicitamente com --enablerepo=<repo-id> um único comando.
A /var/cache/libdnf5 cache existe para que o DNF não tenha de descarregar metadados em cada invocação. Execute dnf clean all para o esvaziar (ver comandos DNF usados frequentemente).
Pacotes apenas de instalação e múltiplas versões instaladas
Alguns pacotes, nomeadamente o kernel, são instalados lado a lado em vez de serem atualizados no local. O DNF5 controla isto através de duas definições em:/etc/dnf/dnf.conf
-
installonlypkgs: Lista de nomes de pacotes que nunca são atualizados no local. Os pacotes do kernel são a entrada padrão. -
installonly_limit: Número máximo de versões de um pacote apenas de instalação que possam coexistir no sistema. A predefinição é3.
Quando uma nova versão é instalada e o limite é ultrapassado, o DNF remove automaticamente a versão mais antiga.
Para o núcleo, isto dá-lhe:
- Recurso: Se um novo kernel não arrancar, o GRUB pode ainda iniciar um kernel anterior que se sabe funcionar.
- Validação: Pode instalar e testar um novo kernel sem remover o que está a correr.
- Coexistência de variantes: Pode instalar diferentes compilações do kernel (por exemplo, com diferentes conjuntos de funcionalidades) em simultâneo.
Cada versão do kernel é um pacote RPM separado, por isso o DNF controla-a e remove-a como qualquer outro pacote.
Atualizações automáticas com dnf-automatic
dnf-automatic é um serviço que verifica periodicamente, descarrega e, opcionalmente, aplica atualizações de pacotes. É impulsionado por um temporizador de sistema, em vez de funcionar como um daemon de longa duração.
Instalar o dnf-automatic
Instalar dnf-automatic usando o seguinte comando:
sudo dnf install -y dnf-automatic
Ativar o dnf-automatic temporizador
Ative o dnf-automatic temporizador imediatamente e durante os reinicios usando o seguinte comando:
sudo systemctl enable --now dnf-automatic.timer
-
enableConfigura o temporizador para começar no arranque. -
--nowInicia o temporizador na sessão atual.
Verificar o estado do dnf-automatic temporizador
Verifique se o temporizador está ativo e verifique quando foi executado pela última vez usando o seguinte comando:
systemctl status dnf-automatic.timer
A saída típica é o seguinte exemplo:
● dnf5-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf5-automatic.timer; enabled; preset: disabled)
Active: active (waiting) since Thu 2026-03-26 14:36:54 UTC; 13min ago
Invocation: f6984eeceb7c40df99bca243f3da728c
Trigger: Fri 2026-03-27 06:34:18 UTC; 15h left
Triggers: ● dnf5-automatic.service
Active: active (waiting) é o esperado: o serviço subjacente é de execução única e só é executado quando o temporizador é acionado, terminando em seguida. A linha Trigger: mostra a próxima execução agendada.
Liste a próxima execução agendada do temporizador dnf-automatic
Liste a próxima execução juntamente com quaisquer outros temporizadores usando o seguinte comando:
systemctl list-timers dnf-automatic.timer
Exemplo de saída:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Fri 2026-03-27 06:34:18 UTC 15h - - dnf5-automatic.timer dnf5-automatic.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
Configuração opcional de dnf-automatic
Pode configurar o comportamento de atualizações automáticas adicionando o /etc/dnf/automatic.conf ficheiro. Este ficheiro controla se as atualizações são apenas descarregadas, aplicadas automaticamente ou restritas apenas a atualizações de segurança. Para todos os detalhes de configuração, consulte a documentação do dnf5-automatic
Note
As atualizações automáticas são instaladas através do dnf-automatic, mas o sistema não é reiniciado automaticamente. Se um kernel (ou outro pacote que requer reinicialização) for atualizado, a nova versão só entra em vigor no próximo reinício. Após as atualizações, verifique se é necessário um reinício e agende-o conforme apropriado.
Comandos DNF frequentemente usados
Os comandos seguintes cobrem a maior parte da gestão diária de pacotes no Azure Linux.
dnf clean all
dnf clean all remove tudo o que o DNF guardou em cache em /var/cache/libdnf5. Utilize-o para:
- Recuperar de metadados corrompidos ou obsoletos que causam erros de transação.
- Reduza imagens de contentores removendo a cache do pacote após as instalações na mesma
RUNcamada. - Recuperar espaço no disco.
Exemplo de contentor:
RUN dnf install -y package1 package2 \
&& dnf clean all
dnf search
dnf search Compara palavras-chave com nomes de pacotes e resumos. Por exemplo:
dnf search lsof
Exemplo de saída:
Updating and loading repositories:
Azure Linux 4.0 - x86_64 - Microsoft 100% | 7.6 KiB/s | 4.8 KiB | 00m01s
Repositories loaded.
Matched fields: name (exact)
lsof.x86_64 A utility which lists open files on a Linux/UNIX system
dnf provides
dnf provides encontra o pacote que possui um determinado ficheiro, comando ou capacidade. Por exemplo:
dnf provides lsof
Exemplo de saída:
Updating and loading repositories:
Repositories loaded.
lsof-4.98.0-8.azl4.20260303.x86_64 : A utility which lists open files on a Linux/UNIX system
Repo : @System
Matched From :
Provide : lsof = 4.98.0-8.azl4.20260303
dnf install
dnf install instala um ou mais pacotes juntamente com as suas dependências em tempo de execução:
sudo dnf install lsof
Exemplo de saída:
Updating and loading repositories:
Repositories loaded.
Package Arch Version Repository Size
Installing:
lsof x86_64 4.98.0-8.azl4.20260303 azurelinux 578.5 KiB
Transaction Summary:
Installing: 1 package
Total size of inbound packages is 226 KiB. Need to download 226 KiB.
After this operation, 579 KiB extra will be used (install 579 KiB, remove 0 B).
Is this ok [y/N]: y
[1/1] lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 641.9 KiB/s | 226.0 KiB | 00m00s
[1/1] Total 100% | 640.1 KiB/s | 226.0 KiB | 00m00s
Running transaction
[1/3] Verify package files 100% | 500.0 B/s | 1.0 B | 00m00s
[2/3] Prepare transaction 100% | 23.0 B/s | 1.0 B | 00m00s
[3/3] Installing lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 3.0 MiB/s | 580.2 KiB | 00m00s
Complete!
dnf remove
dnf remove Desinstala um pacote juntamente com quaisquer dependências que tenham sido instaladas apenas por causa dele:
sudo dnf remove -y lsof
Exemplo de saída:
Package Arch Version Repository Size
Removing:
lsof x86_64 4.98.0-8.azl4.20260303 azurelinux 578.5 KiB
Transaction Summary:
Removing: 1 package
After this operation, 579 KiB will be freed (install 0 B, remove 579 KiB).
Is this ok [y/N]: y
Running transaction
[1/2] Prepare transaction 100% | 27.0 B/s | 1.0 B | 00m00s
[2/2] Removing lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 72.0 B/s | 11.0 B | 00m00s
Complete!
dnf upgrade
dnf upgrade atualiza os pacotes instalados para as versões mais recentes disponíveis.
sudo dnf upgrade
Quando tudo está atualizado, a saída é breve. Por exemplo:
Updating and loading repositories:
Repositories loaded.
Nothing to do.
Dica
Transmita -y para install, remove ou upgrade em contextos não interativos, como scripts, pipelines de CI e compilações de contentores. Qualquer operação DNF que modifique o sistema requer root, por isso execute-a sob sudo ou como root.
Conteúdo relacionado
-
Utilitário de gestão de pacotes DNF5: Referência completa na linha de comandos para
dnf5. - Alterações entre DNF e DNF5: O que mudou em relação ao DNF4, incluindo comandos removidos e diferenças de comportamento.
- Migração para DNF5: Orientação para mover scripts e automação de DNF4 para DNF5.