Capítulo 10.2 - yum/dnf (Red Hat/CentOS)
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Utilizar yum e dnf para instalar pacotes
- Atualizar o sistema
- Gerenciar repositórios
- Entender grupos de pacotes
- Utilizar transações
yum vs dnf
yum (Clássico)
Yellowdog Updater Modified:
- Red Hat/CentOS 7 e anteriores
- Ainda disponível
- Interface clássica
dnf (Moderno)
Dandified YUM:
- Red Hat/CentOS 8+ e Fedora
- Sucessor do yum
- Mais rápido e moderno
- Mesma sintaxe do yum
Nota: yum é frequentemente um alias para dnf em sistemas recentes.
Comandos Básicos
Atualização
# Atualizar lista de pacotes
sudo yum check-update
sudo dnf check-update
# Atualizar pacotes
sudo yum update
sudo dnf upgrade
# Atualizar pacote específico
sudo yum update nome-pacote
sudo dnf upgrade nome-pacote
Instalação
# Instalar pacote
sudo yum install nome-pacote
sudo dnf install nome-pacote
# Instalar múltiplos pacotes
sudo yum install pacote1 pacote2 pacote3
# Instalar sem confirmação
sudo yum install -y nome-pacote
# Instalar a partir de arquivo .rpm
sudo yum localinstall arquivo.rpm
Remoção
# Remover pacote
sudo yum remove nome-pacote
sudo dnf remove nome-pacote
# Remover pacote e dependências
sudo yum autoremove nome-pacote
# Limpar cache
sudo yum clean all
sudo dnf clean all
Pesquisa e Informação
Pesquisar
# Pesquisar pacote
yum search palavra-chave
dnf search palavra-chave
# Pesquisar por nome
yum list nome-pacote
dnf list nome-pacote
# Informações do pacote
yum info nome-pacote
dnf info nome-pacote
# Listar pacotes instalados
yum list installed
dnf list installed
# Listar pacotes disponíveis
yum list available
dnf list available
Informações
# Informações detalhadas
yum info nome-pacote
# Dependências
yum deplist nome-pacote
dnf repoquery --deplist nome-pacote
# Conteúdo do pacote
rpm -ql nome-pacote
Repositórios
Ver Repositórios
# Listar repositórios habilitados
yum repolist
dnf repolist
# Todos os repositórios
yum repolist all
dnf repolist all
# Informações do repositório
yum repoinfo nome-repo
dnf repoinfo nome-repo
Adicionar Repositório
# Instalar repositório RPM
sudo yum install epel-release
sudo dnf install epel-release
# Adicionar repositório manualmente
# Criar arquivo: /etc/yum.repos.d/meu-repo.repo
[meu-repo]
name=Meu Repositório
baseurl=http://repo.example.com/rhel/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.example.com/RPM-GPG-KEY
# Recarregar
sudo yum makecache
sudo dnf makecache
EPEL (Extra Packages)
# Instalar EPEL
sudo yum install epel-release
sudo dnf install epel-release
# Verificar
yum repolist | grep epel
Grupos de Pacotes
Gerenciamento de Grupos
# Listar grupos disponíveis
yum grouplist
dnf group list
# Informações do grupo
yum groupinfo "Development Tools"
dnf group info "Development Tools"
# Instalar grupo
sudo yum groupinstall "Development Tools"
sudo dnf group install "Development Tools"
# Remover grupo
sudo yum groupremove "Development Tools"
Transações e Histórico
Histórico
# Ver histórico
yum history
dnf history
# Ver transação específica
yum history info 5
dnf history info 5
# Desfazer transação
sudo yum history undo 5
sudo dnf history undo 5
# Repetir transação
sudo yum history redo 5
Exemplos Práticos
Instalação Completa
# Atualizar
sudo yum check-update
# Instalar pacote
sudo yum install httpd
# Iniciar serviço
sudo systemctl start httpd
sudo systemctl enable httpd
# Verificar
systemctl status httpd
Atualização do Sistema
#!/bin/bash
# Script de atualização
echo "Verificando atualizações..."
sudo yum check-update
echo "Atualizando pacotes..."
sudo yum update -y
echo "Limpando..."
sudo yum clean all
echo "Finalizado!"
Resolução de Problemas
Dependências
# Resolver dependências
sudo yum deplist nome-pacote
# Forçar instalação
sudo rpm -ivh --nodeps pacote.rpm # Atenção!
Cache
# Limpar cache
sudo yum clean all
sudo yum clean metadata
sudo yum clean packages
# Reconstruir cache
sudo yum makecache
Resumo
Neste capítulo, você aprendeu:
yum/dnf: Gerenciadores de pacotes Red Hat/CentOS/Fedora
Comandos: install, update, remove, search, info
Repositórios: repolist, epel-release, arquivos .repo
Grupos: grouplist, groupinstall
Histórico: history, undo, redo
Prática: Instalação, atualização, manutenção
Próximos Passos
Capítulo 10.3: Compilação a partir do código-fonte
Módulo 11: Monitoramento e Logs
Capítulo criado em: Dezembro de 2024