Comando yum: uso e opções, yum-utils e verificação de repositórios

Ambiente de testeFamília RHELAlmaLinux 9.8conta root
Comandos de pacotesyumyum-utilsrpmLocalização/usr/bin/yum

O comando yum é o comando de gerenciamento de pacotes que instala, atualiza e remove pacotes em Linux da família RHEL. Ao executar os comandos de consulta e de verificação de atualizações e as ferramentas do yum-utils em um servidor AlmaLinux 9, o yum rodou como o mesmo programa que o dnf, e a saída também foi igual à do dnf.

A lista de repositórios, os números de release dos pacotes e os horários de instalação na saída abaixo são valores de exemplo.

1️⃣ Uso básico do comando yum: yum e dnf

No AlmaLinux 9, digitar yum executa o dnf. Isso acontece porque /usr/bin/yum é um link que aponta para dnf-3.

ls -l /usr/bin/yum /usr/bin/dnf
lrwxrwxrwx 1 root root 5 Oct  5 10:12 /usr/bin/dnf -> dnf-3
lrwxrwxrwx 1 root root 5 Oct  5 10:12 /usr/bin/yum -> dnf-3

Os dois arquivos eram links que apontam para dnf-3. Por isso, mesmo executando yum --version, aparece a versão do dnf.

yum --version
4.14.0
  Installed: dnf-0:4.14.0-21.el9_8.alma.1.noarch at Mon Oct  5 10:12:30 2026
  Built    : AlmaLinux Packaging Team <packager@almalinux.org> at Fri May  1 09:30:00 2026

  Installed: rpm-0:4.16.1.3-23.el9.x86_64 at Mon Oct  5 10:12:08 2026
  Built    : AlmaLinux Packaging Team <packager@almalinux.org> at Thu Mar 12 08:15:20 2026

A primeira linha, 4.14.0, é a versão do dnf, e abaixo vêm os horários em que os pacotes dnf e rpm foram instalados. A versão do rpm também aparece porque o yum, no fim, instala os pacotes que recebe do repositório com o rpm.

A forma básica do comando é yum, opções, comando e nome do pacote, nessa ordem. A primeira linha do --help mostra essa forma, e abaixo vem a lista de comandos.

yum --help | head -n 12
usage: yum [options] COMMAND

List of Main Commands:

alias                     List or create command aliases
autoremove                remove all unneeded packages that were originally installed as dependencies
check                     check for problems in the packagedb
check-update              check for available package upgrades
clean                     remove cached data
deplist                   [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them
distro-sync               synchronize installed packages to the latest available versions
downgrade                 Downgrade a package

Os comandos mais usados estão reunidos na tabela.

ComandoTarefa
list installedLista de pacotes instalados (com um nome de pacote, só esse pacote)
list updatesLista de pacotes com uma versão mais nova no repositório
check-updateVerificar se há atualizações (código de saída 100 se houver)
infoVersão, tamanho, repositório e descrição de um pacote
searchBuscar pacotes por nome e resumo
installInstalar um pacote (com as dependências)
removeRemover um pacote (igual a erase)
updateAtualizar os pacotes instalados para uma versão nova (igual a upgrade)
autoremoveRemover pacotes que foram instalados como dependências e não são mais necessários
makecacheBaixar antecipadamente os metadados do repositório e criar o cache
clean allApagar todo o cache baixado
repolistLista de repositórios ativados
deplistDependências e pacotes que as fornecem (recomenda-se repoquery --deplist)
historyHistórico de transações de instalação e remoção

2️⃣ Opções do comando yum: -y, -C, exclude, enablerepo

As opções ficam entre yum e o comando. O -y responde sim às perguntas, então é usado em scripts; quando você executa update manualmente em um servidor de produção, é melhor não usar -y, ler a tabela da transação e responder você mesmo.

OpçãoCopiarDescrição
-C, --cacheonlyUsa só o cache baixado, sem se conectar aos repositórios.
-q, --quietOculta avisos como a linha de metadados e mostra só o resultado.
--showduplicatesMostra tanto a versão instalada quanto as versões do repositório do mesmo pacote.
--exclude=PKG, -x PKGTira esse pacote deste comando (aceita padrões como kernel*).
--enablerepo=REPOAtiva um repositório desativado só para este comando.
--versionMostra as versões do yum (dnf) e do rpm.
-h, --helpMostra a ajuda.
OpçãoCopiarDescrição
-y, --assumeyesResponde sim a todas as perguntas.
-v, --verboseMostra em detalhes o que está sendo feito.
--disablerepo=REPODesativa um repositório ativado só para este comando.
--skip-brokenPula os pacotes com dependências quebradas e segue com o resto.

O -C mostra o resultado só com o cache baixado, sem se conectar aos repositórios. A primeira linha indica quando o cache foi atualizado pela última vez, e o resultado começa na segunda linha.

yum -C list tree
Last metadata expiration check: 0:35:03 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

Com -q, a primeira linha some e só aparece o resultado.

yum -C -q list installed tree
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

O --showduplicates mostra lado a lado a versão instalada e as versões que estão no repositório.

yum -C --showduplicates list libavif
Last metadata expiration check: 0:38:15 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
libavif.x86_64                      0.11.1-7.el9                       @epel
Available Packages
libavif.x86_64                      1.1.1-2.el9                        epel

0.11.1 em Installed Packages e 1.1.1 em Available Packages são duas versões do mesmo pacote. A versão do repositório é mais alta, então o libavif tem atualização.

O --exclude tira esse pacote deste comando.

yum -C --exclude=libavif check-update libavif libdav1d
Last metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.

libdav1d.x86_64                         1.5.4-2.el9                         epel

Foram indicados dois pacotes, mas o libavif saiu e só ficou o libdav1d. Junto com update, atualiza tudo menos esse pacote.

3️⃣ Gerenciamento de pacotes com yum e ordem de atualização

Mesmo conhecendo as opções, é preciso ver primeiro o que está instalado e o que saiu de novo para decidir quais pacotes atualizar. Por isso começamos pelos comandos que verificam os pacotes instalados.

yum -C list installed tree
Installed Packages
tree.x86_64                         1.8.0-12.el9                         @baseos

O @baseos na última coluna é o repositório de onde o pacote foi instalado. Consultando com rpm -q, a versão aparece em uma só linha.

rpm -q tree htop libavif
tree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64

Para um pacote que não está instalado, a saída termina com uma única linha not installed, e o código de saída é 1.

Os pacotes com uma versão nova no repositório são verificados com list updates.

yum -C list updates libavif libdav1d
Last metadata expiration check: 0:35:07 ago on Thu Oct 29 05:32:35 2026.
Available Upgrades
libavif.x86_64                          1.1.1-2.el9                         epel
libdav1d.x86_64                         1.5.4-2.el9                         epel

Os pacotes abaixo de Available Upgrades são os que têm versão nova. Sem nome de pacote, verifica tudo o que está instalado.

O check-update também informa a mesma lista pelo código de saída.

yum -C check-update libavif libdav1d; echo $?
Last metadata expiration check: 0:35:08 ago on Thu Oct 29 05:32:35 2026.

libavif.x86_64                          1.1.1-2.el9                         epel
libdav1d.x86_64                         1.5.4-2.el9                         epel
100

O 100 na última linha é o código de saída. É 100 quando há atualizações e 0 quando não há, então os scripts decidem por esse valor.

A atualização segue a ordem makecache, update, autoremove.

yum makecache

O makecache baixa antecipadamente os metadados do repositório. O update os baixa por conta própria, então dá para pular essa etapa.

yum update

O update leva todos os pacotes instalados para a versão nova e também cuida das dependências.

yum update libavif

Com um nome de pacote, só esse pacote é atualizado.

yum autoremove

O autoremove remove os pacotes que foram instalados junto como dependências e não são mais necessários. Execute-o depois do update.

yum update --exclude='kernel*'

Para atualizar sem o kernel, adicione um padrão de kernel ao --exclude. Depois de atualizar o kernel, é preciso reiniciar para rodar com o kernel novo; para saber se o reinício é necessário, use o needs-restarting do yum-utils.

4️⃣ Ferramentas do yum-utils: yumdownloader, repoquery, needs-restarting

No AlmaLinux 9, o yum-utils é uma camada de compatibilidade fornecida pelo dnf-plugins-core. Os nomes dos comandos são os mesmos da época do antigo YUM, mas o que roda são plugins do dnf.

yum -C info yum-utils
Last metadata expiration check: 0:38:12 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
Name         : yum-utils
Version      : 4.3.0
Release      : 14.el9
Architecture : noarch
Size         : 23 k
Source       : dnf-plugins-core-4.3.0-14.el9.src.rpm
Repository   : @System
From repo    : baseos
Summary      : Yum-utils CLI compatibility layer
URL          : https://github.com/rpm-software-management/dnf-plugins-core
License      : GPLv2+
Description  : As a Yum-utils CLI compatibility layer, supplies in CLI shims for
             : debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
             : repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
             : download and yum-groups-manager that use new implementations using DNF.

Source é dnf-plugins-core e Summary é Yum-utils CLI compatibility layer. Se não estiver instalado, instale com [yum install yum-utils].

Os 17 comandos que este pacote instala aparecem com rpm -ql.

rpm -ql yum-utils | grep bin/
/usr/bin/debuginfo-install
/usr/bin/find-repos-of-install
/usr/bin/needs-restarting
/usr/bin/package-cleanup
/usr/bin/repo-graph
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yum-groups-manager
/usr/bin/yumdownloader
ls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-manager
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/needs-restarting -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/repoquery -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/yum-config-manager -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar  3  2026 /usr/bin/yumdownloader -> /usr/libexec/dnf-utils

Todos eram links que apontam para um único arquivo, /usr/libexec/dnf-utils. As ferramentas mais usadas e o que fazem estão agrupadas em uma árvore.

yum-utilsUm pacote — os 17 comandos são links para /usr/libexec/dnf-utils
yumdownloaderDownload de arquivos de pacote (.rpm) · --urls mostra só os endereços
repoqueryConsulta da lista de arquivos, das dependências e das dependências reversas de um pacote
needs-restartingVerificar se é preciso reiniciar depois de uma atualização
package-cleanupEncontrar pacotes duplicados, órfãos e com problemas
yum-builddepInstalar os pacotes necessários para compilar um RPM fonte
yum-config-managerAtivar, desativar e adicionar repositórios (altera os arquivos de configuração)
repoclosure · repodiff · repomanage · repo-graphVerificar, comparar, limpar e gerar gráficos de repositórios
reposync · repotrackBaixar repositórios e grupos de pacotes
debuginfo-install · find-repos-of-install · yum-debug-dump · yum-debug-restore · yum-groups-managerInformações de depuração · repositório de origem · dump e restauração da configuração · gerenciamento de grupos

O yumdownloader só baixa os arquivos de pacote, sem instalá-los. Com --urls, mostra só os endereços de onde baixaria.

yumdownloader --urls tree
Last metadata expiration check: 0:35:16 ago on Thu Oct 29 05:32:35 2026.
https://repo.almalinux.org/almalinux/9.8/BaseOS/x86_64/os/Packages/tree-1.8.0-12.el9.x86_64.rpm

O endereço do repositório e o nome do arquivo aparecem em uma linha. Com esse endereço, você pode baixar antecipadamente os arquivos que vai levar para um servidor sem acesso à internet e instalar lá.

O repoquery consulta os arquivos que um pacote instala e suas dependências.

repoquery -l tree
Last metadata expiration check: 0:35:17 ago on Thu Oct 29 05:32:35 2026.
/usr/bin/tree
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/e2ec3d46003583b56979e08d437395bd0d2a07
/usr/share/doc/tree
/usr/share/doc/tree/README
/usr/share/licenses/tree
/usr/share/licenses/tree/LICENSE
/usr/share/man/man1/tree.1.gz

O -l é a lista de arquivos desse pacote. Ela contém um executável, além da documentação, da licença e do manual.

repoquery --requires tree
Last metadata expiration check: 0:35:19 ago on Thu Oct 29 05:32:35 2026.
libc.so.6(GLIBC_2.34)(64bit)
rtld(GNU_HASH)

O --requires mostra as bibliotecas necessárias. O yum deplist mostra o mesmo e ainda os pacotes que as fornecem, mas a ajuda o marca como deprecated, então se usa repoquery --deplist no lugar.

yum -C repoquery --deplist tree
Last metadata expiration check: 0:38:17 ago on Thu Oct 29 05:32:35 2026.
package: tree-1.8.0-12.el9.x86_64
  dependency: libc.so.6(GLIBC_2.34)(64bit)
   provider: glibc-2.34-170.el9_8.x86_64
  dependency: rtld(GNU_HASH)
   provider: glibc-2.34-170.el9_8.i686
   provider: glibc-2.34-170.el9_8.x86_64

As linhas dependency são o que é necessário, e as linhas provider são os pacotes que fornecem isso.

Para saber se é preciso reiniciar depois de uma atualização, use needs-restarting -r.

needs-restarting -r
No core libraries or services have been updated since boot-up.
Reboot should not be necessary.

Depois de atualizar o kernel ou uma biblioteca principal, o aviso muda para dizer que é preciso reiniciar, e o comando termina com código de saída 1.

Executado sem opções, o package-cleanup só mostra um aviso pedindo para escolher qual verificação fazer.

package-cleanup
package-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes

5️⃣ Verificar os repositórios do yum: repolist e a opção enablerepo

Mesmo com as ferramentas, o yum não encontra nada se o pacote não estiver em um repositório. Por isso, primeiro veja quais repositórios do yum estão ativados.

yum repolist
repo id             repo name
appstream           AlmaLinux 9 - AppStream
baseos              AlmaLinux 9 - BaseOS
epel                Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras              AlmaLinux 9 - Extras

O repolist mostra só os repositórios com enabled=1 no arquivo de configuração. baseos e appstream são os repositórios padrão da distribuição, e epel é um repositório adicionado à parte.

yum repolist --all | head -n 12
repo id                       repo name                                 status
appstream                     AlmaLinux 9 - AppStream                   enabled
appstream-debuginfo           AlmaLinux 9 - AppStream - Debug           disabled
appstream-source              AlmaLinux 9 - AppStream - Source          disabled
baseos                        AlmaLinux 9 - BaseOS                      enabled
baseos-debuginfo              AlmaLinux 9 - BaseOS - Debug              disabled
baseos-source                 AlmaLinux 9 - BaseOS - Source             disabled
crb                           AlmaLinux 9 - CRB                         disabled
crb-debuginfo                 AlmaLinux 9 - CRB - Debug                 disabled
crb-source                    AlmaLinux 9 - CRB - Source                disabled
epel                          Extra Packages for Enterprise Linux 9 - x enabled
epel-cisco-openh264           Extra Packages for Enterprise Linux 9 ope enabled

O --all mostra também os repositórios desativados, junto com a coluna status. Os pacotes de um repositório disabled como o crb não podem ser instalados do jeito que está.

Para ativar um repositório desativado só neste comando, adicione --enablerepo.

yum --enablerepo=crb repolist
repo id             repo name
appstream           AlmaLinux 9 - AppStream
baseos              AlmaLinux 9 - BaseOS
crb                 AlmaLinux 9 - CRB
epel                Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras              AlmaLinux 9 - Extras

O crb entrou na lista. O arquivo de configuração continua igual, então no próximo comando ele sai de novo. Para manter um repositório ativado, altere o arquivo de configuração com o yum-config-manager. Dá para ver os repositórios sendo ativados e desativados pressionando os botões de comando no diagrama abaixo.

🧭 Repositórios onde o yum procura pacotes
Diagrama explicativo
🔍 Comando
$ yum repolist--enablerepo=crb repolist--disablerepo=epel repolist
baseosAtivadoAtivado só desta vezDesativado só desta vez
appstreamAtivadoAtivado só desta vezDesativado só desta vez
extrasAtivadoAtivado só desta vezDesativado só desta vez
epelAtivadoAtivado só desta vezDesativado só desta vez
crbDesligadoAtivado só desta vezDesativado só desta vez
➜
yumRepositórios onde os pacotes são procurados564
O repolist mostra só os repositórios com enabled=1 no arquivo de configuração. O yum procura pacotes só nos repositórios desta lista. Os pacotes de um repositório desativado como o crb não aparecem.
Com --enablerepo=crb, o crb é ativado só neste comando e entra na lista. O arquivo de configuração não muda, então no próximo comando ele sai de novo.
Com --disablerepo=epel, o epel sai só neste comando. Para ativar ou desativar um repositório de forma permanente, use o yum-config-manager, que altera o arquivo de configuração.

Adicionar um repositório novo como o EPEL se resume a instalar um único pacote de repositório.

yum install epel-release

Depois de instalar, o arquivo epel.repo é criado em /etc/yum.repos.d/, e o epel aparece no repolist.

🔲 Simulador do comando yum

No simulador abaixo, você pode digitar yum list, check-update, repolist e os comandos do yum-utils e ver a saída. A lista de repositórios usa os mesmos valores de exemplo do artigo, e os comandos de instalação, remoção e atualização só mostram um aviso.

Simulador do comando yumyum 4.14.0
[root@server work]#
Use as teclas ↑↓ para chamar de volta os comandos digitados antes.

🔢 FAQ & conteúdo recomendado

Não. Digitar yum delete termina com o erro No such command: delete. Para remover um pacote, use yum remove; o erase faz a mesma coisa.

São o mesmo comando. No dnf, update é outro nome de upgrade, então até yum help update mostra uma ajuda que começa com usage: yum upgrade.

Com -C, list e info rodam com o cache baixado, sem se conectar aos repositórios. Para instalar um pacote, baixe o arquivo .rpm com yumdownloader em outro servidor, leve-o para o servidor e passe o caminho do arquivo para install.

ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Demonstre sua humanidade: 9   +   10   =