Comando yum: uso e opções, yum-utils e verificação de repositórios
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/dnflrwxrwxrwx 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-3Os dois arquivos eram links que apontam para dnf-3. Por isso, mesmo executando yum --version, aparece a versão do dnf.
yum --version4.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 2026A 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 12usage: 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 packageOs comandos mais usados estão reunidos na tabela.
| Comando | Tarefa | |
|---|---|---|
| list installed | Lista de pacotes instalados (com um nome de pacote, só esse pacote) | |
| list updates | Lista de pacotes com uma versão mais nova no repositório | |
| check-update | Verificar se há atualizações (código de saída 100 se houver) | |
| info | Versão, tamanho, repositório e descrição de um pacote | |
| search | Buscar pacotes por nome e resumo | |
| install | Instalar um pacote (com as dependências) | |
| remove | Remover um pacote (igual a erase) | |
| update | Atualizar os pacotes instalados para uma versão nova (igual a upgrade) | |
| autoremove | Remover pacotes que foram instalados como dependências e não são mais necessários | |
| makecache | Baixar antecipadamente os metadados do repositório e criar o cache | |
| clean all | Apagar todo o cache baixado | |
| repolist | Lista de repositórios ativados | |
| deplist | Dependências e pacotes que as fornecem (recomenda-se repoquery --deplist) | |
| history | Histó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ção | Copiar | Descrição |
|---|---|---|
| -C, --cacheonly | Usa só o cache baixado, sem se conectar aos repositórios. | |
| -q, --quiet | Oculta avisos como a linha de metadados e mostra só o resultado. | |
| --showduplicates | Mostra tanto a versão instalada quanto as versões do repositório do mesmo pacote. | |
| --exclude=PKG, -x PKG | Tira esse pacote deste comando (aceita padrões como kernel*). | |
| --enablerepo=REPO | Ativa um repositório desativado só para este comando. | |
| --version | Mostra as versões do yum (dnf) e do rpm. | |
| -h, --help | Mostra a ajuda. |
| Opção | Copiar | Descrição |
|---|---|---|
| -y, --assumeyes | Responde sim a todas as perguntas. | |
| -v, --verbose | Mostra em detalhes o que está sendo feito. | |
| --disablerepo=REPO | Desativa um repositório ativado só para este comando. | |
| --skip-broken | Pula 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 treeLast 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 @baseosCom -q, a primeira linha some e só aparece o resultado.
yum -C -q list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseosO --showduplicates mostra lado a lado a versão instalada e as versões que estão no repositório.
yum -C --showduplicates list libavifLast 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 epel0.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 libdav1dLast metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.
libdav1d.x86_64 1.5.4-2.el9 epelForam 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 treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseosO @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 libaviftree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64Para 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 libdav1dLast 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 epelOs 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
100O 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 makecacheO makecache baixa antecipadamente os metadados do repositório. O update os baixa por conta própria, então dá para pular essa etapa.
yum updateO update leva todos os pacotes instalados para a versão nova e também cuida das dependências.
yum update libavifCom um nome de pacote, só esse pacote é atualizado.
yum autoremoveO 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-utilsLast 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/yumdownloaderls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-managerlrwxrwxrwx 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-utilsTodos 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.
O yumdownloader só baixa os arquivos de pacote, sem instalá-los. Com --urls, mostra só os endereços de onde baixaria.
yumdownloader --urls treeLast 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.rpmO 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 treeLast 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.gzO -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 treeLast 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 treeLast 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_64As 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 -rNo 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-cleanuppackage-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes5️⃣ 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 repolistrepo 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 - ExtrasO 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 12repo 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 enabledO --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 repolistrepo 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 - ExtrasO 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.
Adicionar um repositório novo como o EPEL se resume a instalar um único pacote de repositório.
yum install epel-releaseDepois 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.
🔢 FAQ & conteúdo recomendado
Linux · Conceitos
O que é um pacote do Linux
Explica o que são os pacotes com que o yum trabalha e por que surgem dependências, comparando com os instaladores do Windows.
Ubuntu · Pacotes
Comando apt do Ubuntu
O comando apt, que faz o papel do yum na família Debian, a diferença para o apt-get e como instalar e atualizar.
Linux · Pacotes
Instalar o snapd no Linux
Como instalar com snap os programas que não estão nos repositórios da distribuição, testado no Rocky Linux.
ℹ️ 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.