Gerenciadores de Pacotes#
Diferente do Windows (baixar .exe), Linux usa gerenciadores de pacotes centralizados que:
- Instalam software de repositórios confiáveis
- Resolvem dependências automaticamente
- Mantêm sistema atualizado
- Removem software completamente
Principais Gerenciadores por Distribuição#
| Distribuição | Gerenciador | Formato | Comando |
|---|
| Ubuntu/Debian | APT | .deb | apt, apt-get, dpkg |
| Fedora/RHEL | DNF | .rpm | dnf, yum |
| Arch Linux | Pacman | .pkg.tar.zst | pacman |
| openSUSE | Zypper | .rpm | zypper |
APT - Debian/Ubuntu#
Comandos Essenciais#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| # Atualizar lista de pacotes
sudo apt update
# Atualizar sistema
sudo apt upgrade
# Atualizar com remoção de pacotes obsoletos
sudo apt full-upgrade
# Instalar pacote
sudo apt install nginx
# Instalar múltiplos pacotes
sudo apt install vim git curl
# Remover pacote (mantém configurações)
sudo apt remove nginx
# Remover completamente (inclui configurações)
sudo apt purge nginx
# Remover pacotes não utilizados
sudo apt autoremove
# Buscar pacote
apt search nginx
# Informações sobre pacote
apt show nginx
# Listar pacotes instalados
apt list --installed
# Listar pacotes atualizáveis
apt list --upgradable
# Limpar cache de pacotes
sudo apt clean
sudo apt autoclean
|
apt vs apt-get#
apt é mais moderno e user-friendly:
1
2
3
4
5
6
7
| # Preferir (apt)
sudo apt update
sudo apt install pacote
# Antigo (apt-get)
sudo apt-get update
sudo apt-get install pacote
|
dpkg - Gerenciador de Baixo Nível#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # Instalar pacote .deb local
sudo dpkg -i pacote.deb
# Remover pacote
sudo dpkg -r pacote
# Listar pacotes instalados
dpkg -l
# Listar arquivos de um pacote
dpkg -L nginx
# Verificar qual pacote instalou um arquivo
dpkg -S /usr/bin/vim
# Corrigir dependências quebradas
sudo apt --fix-broken install
|
Repositórios#
1
2
3
4
5
6
7
8
9
10
11
12
| # Adicionar repositório PPA (Ubuntu)
sudo add-apt-repository ppa:nome/ppa
sudo apt update
# Remover PPA
sudo add-apt-repository --remove ppa:nome/ppa
# Editar sources.list
sudo vim /etc/apt/sources.list
# Repositórios adicionais
ls /etc/apt/sources.list.d/
|
DNF/YUM - Fedora/RHEL/CentOS#
Comandos DNF (Fedora 22+)#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| # Atualizar cache
sudo dnf check-update
# Atualizar sistema
sudo dnf upgrade
# Instalar pacote
sudo dnf install nginx
# Remover pacote
sudo dnf remove nginx
# Buscar pacote
dnf search nginx
# Informações sobre pacote
dnf info nginx
# Listar pacotes instalados
dnf list installed
# Listar grupos de pacotes
dnf group list
# Instalar grupo
sudo dnf group install "Development Tools"
# Limpar cache
sudo dnf clean all
# Histórico de transações
dnf history
# Desfazer última transação
sudo dnf history undo last
|
Comandos YUM (CentOS 7, RHEL 7)#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Atualizar sistema
sudo yum update
# Instalar pacote
sudo yum install nginx
# Remover pacote
sudo yum remove nginx
# Buscar pacote
yum search nginx
# Informações
yum info nginx
# Listar instalados
yum list installed
# Limpar cache
sudo yum clean all
|
RPM - Gerenciador de Baixo Nível#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Instalar pacote .rpm local
sudo rpm -ivh pacote.rpm
# Atualizar pacote
sudo rpm -Uvh pacote.rpm
# Remover pacote
sudo rpm -e pacote
# Listar pacotes instalados
rpm -qa
# Informações sobre pacote
rpm -qi nginx
# Listar arquivos de pacote
rpm -ql nginx
# Verificar qual pacote instalou arquivo
rpm -qf /usr/bin/vim
|
Repositórios EPEL#
1
2
3
4
5
6
| # Instalar EPEL (Extra Packages for Enterprise Linux)
# RHEL/CentOS 8
sudo dnf install epel-release
# RHEL/CentOS 7
sudo yum install epel-release
|
Pacman - Arch Linux#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| # Atualizar sistema
sudo pacman -Syu
# Instalar pacote
sudo pacman -S nginx
# Remover pacote
sudo pacman -R nginx
# Remover com dependências não usadas
sudo pacman -Rs nginx
# Buscar pacote
pacman -Ss nginx
# Informações sobre pacote
pacman -Si nginx
# Listar pacotes instalados
pacman -Q
# Listar arquivos de pacote
pacman -Ql nginx
# Limpar cache
sudo pacman -Sc
# Remover pacotes órfãos
sudo pacman -Rns $(pacman -Qtdq)
|
AUR - Arch User Repository#
1
2
3
4
5
6
7
8
9
10
| # Instalar yay (AUR helper)
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
# Usar yay
yay -S pacote-aur
# Atualizar incluindo AUR
yay -Syu
|
Zypper - openSUSE#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| # Atualizar sistema
sudo zypper update
# Instalar pacote
sudo zypper install nginx
# Remover pacote
sudo zypper remove nginx
# Buscar pacote
zypper search nginx
# Informações
zypper info nginx
# Listar repositórios
zypper repos
# Adicionar repositório
sudo zypper addrepo URL nome
# Limpar cache
sudo zypper clean
|
Snap - Universal Package Manager#
Funciona em várias distribuições:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # Instalar snapd
sudo apt install snapd # Ubuntu
sudo dnf install snapd # Fedora
# Buscar snap
snap find nome
# Instalar snap
sudo snap install nome
# Listar snaps instalados
snap list
# Atualizar snaps
sudo snap refresh
# Remover snap
sudo snap remove nome
# Informações
snap info nome
|
Exemplos populares:
1
2
3
| sudo snap install code --classic # VS Code
sudo snap install spotify # Spotify
sudo snap install docker # Docker
|
Flatpak - Universal Package Manager#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| # Instalar flatpak
sudo apt install flatpak # Ubuntu
sudo dnf install flatpak # Fedora
# Adicionar Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Buscar aplicação
flatpak search nome
# Instalar
flatpak install flathub org.gimp.GIMP
# Listar instalados
flatpak list
# Executar
flatpak run org.gimp.GIMP
# Atualizar
flatpak update
# Remover
flatpak uninstall org.gimp.GIMP
# Remover dados não usados
flatpak uninstall --unused
|
AppImage - Portable Apps#
1
2
3
4
5
6
7
8
9
10
11
| # Baixar AppImage
wget https://exemplo.com/app.AppImage
# Tornar executável
chmod +x app.AppImage
# Executar
./app.AppImage
# Integrar ao sistema (opcional)
sudo apt install libfuse2 # Dependência
|
Compilar do Código Fonte#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| # Instalar ferramentas de compilação
# Ubuntu/Debian
sudo apt install build-essential
# Fedora
sudo dnf groupinstall "Development Tools"
# Baixar código fonte
wget https://exemplo.com/software-1.0.tar.gz
tar xzf software-1.0.tar.gz
cd software-1.0
# Configurar
./configure --prefix=/usr/local
# Compilar
make
# Instalar
sudo make install
# Desinstalar (se suportado)
sudo make uninstall
|
CMake#
1
2
3
4
5
6
7
8
9
| # Instalar CMake
sudo apt install cmake
# Compilar
mkdir build
cd build
cmake ..
make
sudo make install
|
Checkinstall - Criar Pacote#
1
2
3
4
5
6
7
| # Instalar checkinstall
sudo apt install checkinstall
# Usar no lugar de make install
sudo checkinstall
# Cria pacote .deb/.rpm que pode ser removido depois
|
Gerenciamento de Dependências#
Resolver Dependências Quebradas#
Ubuntu/Debian:
1
2
| sudo apt --fix-broken install
sudo dpkg --configure -a
|
Fedora:
1
2
| sudo dnf check
sudo dnf distro-sync
|
Verificar Dependências#
1
2
3
4
5
6
7
| # Ubuntu/Debian
apt-cache depends nginx
apt-cache rdepends nginx # Dependências reversas
# Fedora
dnf repoquery --requires nginx
dnf repoquery --whatrequires nginx
|
Atualizações de Sistema#
Ubuntu/Debian#
1
2
3
4
5
6
7
| # Atualização completa
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
# Atualização de versão (ex: 22.04 -> 24.04)
sudo do-release-upgrade
|
Fedora#
1
2
3
4
5
6
| # Atualização completa
sudo dnf upgrade -y
# Atualização de versão
sudo dnf system-upgrade download --releasever=39
sudo dnf system-upgrade reboot
|
Arch Linux#
1
2
| # Atualização completa (sempre full upgrade)
sudo pacman -Syu
|
Segurança e Verificação#
Verificar Assinaturas#
1
2
3
4
5
6
| # Ubuntu/Debian - chaves GPG
sudo apt-key list
sudo apt-key add chave.gpg
# Fedora - chaves RPM
rpm --import chave.gpg
|
Verificar Integridade#
1
2
3
4
5
6
| # Verificar pacote instalado
# Ubuntu/Debian
sudo debsums -c
# Fedora
rpm -V pacote
|
Casos de Uso Práticos#
1. Instalar Stack LAMP#
Ubuntu/Debian:
1
2
3
4
| sudo apt update
sudo apt install -y apache2 mysql-server php libapache2-mod-php php-mysql
sudo systemctl enable apache2
sudo systemctl start apache2
|
Fedora:
1
2
3
| sudo dnf install -y httpd mariadb-server php php-mysqlnd
sudo systemctl enable httpd mariadb
sudo systemctl start httpd mariadb
|
2. Instalar Ferramentas de Desenvolvimento#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # Ubuntu/Debian
sudo apt install -y \
build-essential \
git \
vim \
curl \
wget \
python3-pip \
nodejs \
npm
# Fedora
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y \
git \
vim \
curl \
wget \
python3-pip \
nodejs \
npm
|
3. Manter Sistema Atualizado (Script)#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #!/bin/bash
# update-system.sh
if [ -f /etc/debian_version ]; then
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
sudo apt autoclean
elif [ -f /etc/redhat-release ]; then
sudo dnf upgrade -y
sudo dnf autoremove -y
sudo dnf clean all
elif [ -f /etc/arch-release ]; then
sudo pacman -Syu --noconfirm
fi
echo "Sistema atualizado!"
|
4. Backup de Pacotes Instalados#
Ubuntu/Debian:
1
2
3
4
5
6
| # Exportar lista
dpkg --get-selections > pacotes.txt
# Restaurar em outro sistema
sudo dpkg --set-selections < pacotes.txt
sudo apt-get dselect-upgrade
|
Fedora:
1
2
3
4
5
| # Exportar lista
dnf list installed > pacotes.txt
# Instalar de lista
sudo dnf install $(cat pacotes.txt | awk '{print $1}')
|
Troubleshooting Comum#
Problema: Pacote não encontrado#
1
2
3
4
5
6
7
| # Atualizar cache
sudo apt update # Ubuntu
sudo dnf check-update # Fedora
# Buscar em todos repositórios
apt search nome
dnf search all nome
|
Problema: Dependências quebradas#
1
2
3
4
5
6
7
| # Ubuntu/Debian
sudo apt --fix-broken install
sudo dpkg --configure -a
# Fedora
sudo dnf check
sudo dnf distro-sync
|
Problema: Conflito de versões#
1
2
3
4
5
6
7
8
9
| # Ubuntu/Debian - segurar versão
sudo apt-mark hold pacote
# Liberar
sudo apt-mark unhold pacote
# Fedora - excluir de updates
# Editar /etc/dnf/dnf.conf
exclude=pacote
|
Problema: Espaço em disco cheio#
1
2
3
4
5
6
7
8
9
10
11
12
| # Limpar cache
sudo apt clean # Ubuntu
sudo dnf clean all # Fedora
# Remover pacotes antigos
sudo apt autoremove # Ubuntu
sudo dnf autoremove # Fedora
# Verificar espaço
df -h
du -sh /var/cache/apt/archives # Ubuntu
du -sh /var/cache/dnf # Fedora
|
Boas Práticas#
1. Sempre Atualize Antes de Instalar#
1
| sudo apt update && sudo apt install pacote
|
2. Use Repositórios Oficiais#
Evite adicionar PPAs/repositórios desconhecidos.
3. Mantenha Sistema Atualizado#
1
2
3
4
| # Configure atualizações automáticas de segurança
# Ubuntu
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
|
4. Faça Backup Antes de Grandes Atualizações#
1
2
3
| # Snapshot com Timeshift
sudo apt install timeshift
sudo timeshift --create
|
5. Leia Changelogs#
Comandos de Referência Rápida#
Ubuntu/Debian (APT)#
1
2
3
4
5
6
| sudo apt update # Atualizar lista
sudo apt upgrade # Atualizar pacotes
sudo apt install pacote # Instalar
sudo apt remove pacote # Remover
sudo apt search pacote # Buscar
apt show pacote # Informações
|
Fedora (DNF)#
1
2
3
4
5
6
| sudo dnf check-update # Verificar atualizações
sudo dnf upgrade # Atualizar
sudo dnf install pacote # Instalar
sudo dnf remove pacote # Remover
dnf search pacote # Buscar
dnf info pacote # Informações
|
Arch (Pacman)#
1
2
3
4
5
| sudo pacman -Syu # Atualizar sistema
sudo pacman -S pacote # Instalar
sudo pacman -R pacote # Remover
pacman -Ss pacote # Buscar
pacman -Si pacote # Informações
|
Recursos Adicionais#
Documentação#
1
2
3
| man apt
man dnf
man pacman
|
Links Úteis#
Próximo capítulo: 6 - Configuração de Rede
Capítulo anterior: 4 - Gerenciamento de Arquivos e Permissões