Arch Linux: Instalação, pacman e AUR
Guia avançado de Arch Linux: instalação passo a passo, domínio do pacman, AUR com yay e paru, PKGBUILD e manutenção de uma rolling release.
InSkillCoach
Arch Linux: Instalação, pacman e AUR
O Arch Linux ocupa um lugar à parte no panorama das distribuições: sem instalador gráfico por padrão, sem configuração pré-definida, sem versões. Você constrói o seu sistema peça por peça e, em troca, obtém uma máquina que entende por completo, sempre atualizada, acompanhada da melhor documentação do mundo Linux. Este guia é destinado a usuários que já se sentem à vontade com a linha de comando: cobrimos a instalação completa, o domínio do pacman, o AUR e, principalmente, a manutenção a longo prazo, que é onde se decide o sucesso de uma instalação Arch.
1. Filosofia: Rolling Release e KISS
O Arch se baseia em dois princípios que explicam todas as suas escolhas técnicas.
Rolling release: não existe uma “versão” do Arch. O sistema é atualizado continuamente; uma instalação de 2020 bem mantida é idêntica a uma instalação de hoje. Você nunca fará uma atualização de versão major, mas precisa atualizar regularmente e ler os anúncios.
KISS (Keep It Simple, Stupid): a simplicidade, no sentido do Arch, significa ausência de camadas de abstração, não facilidade. Os pacotes são entregues o mais próximo possível do que os desenvolvedores upstream publicam (vanilla), sem patches da distribuição. A configuração é feita nos arquivos originais dos programas, não por meio de ferramentas próprias da distribuição.
Consequências práticas: você é responsável pelo seu sistema. O Arch não o protege de si mesmo, mas nada ali é mágico nem oculto.
2. Instalação Resumida Passo a Passo
A instalação oficial é feita pela linha de comando a partir da ISO. A ferramenta archinstall automatiza o processo, mas percorrer a instalação manual pelo menos uma vez é o melhor investimento pedagógico possível. Eis o roteiro completo para uma máquina UEFI.
Preparação e particionamento
# Verificar o boot em modo UEFI (o diretório deve existir e estar populado)
ls /sys/firmware/efi/efivars
# Verificar a conexão de rede (o Wi-Fi é configurado com iwctl)
ping -c 3 archlinux.org
# Sincronizar o relógio
timedatectl set-ntp true
# Particionar o disco: uma partição EFI e uma partição raiz
fdisk /dev/nvme0n1
# g -> nova tabela GPT
# n, 1, +1G -> partição EFI (tipo: EFI System)
# n, 2, resto -> partição raiz (tipo: Linux filesystem)
# w -> gravar e sair
# Formatar
mkfs.fat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
# Montar
mount /dev/nvme0n1p2 /mnt
mount --mkdir /dev/nvme0n1p1 /mnt/boot
pacstrap: instalar o sistema base
# Instalar a base: base, kernel, firmwares e alguns itens indispensáveis
pacstrap -K /mnt base linux linux-firmware nano networkmanager sudo
fstab e chroot
# Gerar a tabela de sistemas de arquivos a partir das montagens atuais
genfstab -U /mnt >> /mnt/etc/fstab
# Verificar o resultado antes de continuar
cat /mnt/etc/fstab
# Entrar no novo sistema
arch-chroot /mnt
Configuração básica no chroot
# Fuso horário e relógio de hardware
ln -sf /usr/share/zoneinfo/America/Montreal /etc/localtime
hwclock --systohc
# Locales: descomentar fr_CA.UTF-8 (ou fr_FR.UTF-8) em /etc/locale.gen
nano /etc/locale.gen
locale-gen
echo "LANG=fr_CA.UTF-8" > /etc/locale.conf
# Nome da máquina
echo "archbox" > /etc/hostname
# Senha do root
passwd
# Criar um usuário com acesso sudo
useradd -m -G wheel votre_nom
passwd votre_nom
EDITOR=nano visudo # descomentar: %wheel ALL=(ALL:ALL) ALL
# Ativar a rede na inicialização
systemctl enable NetworkManager
Bootloader
# systemd-boot, simples e suficiente em UEFI
bootctl install
# Criar a entrada de boot
cat > /boot/loader/entries/arch.conf << 'EOF'
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/nvme0n1p2 rw
EOF
# Sair do chroot, desmontar e reiniciar
exit
umount -R /mnt
reboot
Ao reiniciar, você obtém um prompt de login em modo texto: um sistema Arch mínimo e funcional, pronto para receber o seu ambiente gráfico e as suas ferramentas.
3. pacman: o Gerenciador de Pacotes
O pacman concentra todas as suas operações em opções de uma letra. A sintaxe desconcerta no início e depois se torna notavelmente rápida.
As operações fundamentais
# Instalar um pacote (S = sync, a partir dos repositórios)
sudo pacman -S firefox
# Atualizar TODO o sistema: o comando mais importante do Arch
# S = sync, y = atualizar os índices, u = atualizar
sudo pacman -Syu
# Remover um pacote
sudo pacman -R firefox
# Remover um pacote, suas dependências órfãs e sua configuração
sudo pacman -Rns firefox
# Pesquisar nos repositórios
pacman -Ss navegador
# Exibir os detalhes de um pacote dos repositórios
pacman -Si firefox
Regra absoluta: nunca execute pacman -Sy pacote (atualizar os índices e depois instalar sem atualizar tudo). Essa “atualização parcial” instala um pacote compilado contra bibliotecas mais recentes do que as do seu sistema e pode quebrá-lo. É sempre -Syu.
Consultar o sistema instalado (Q)
# Listar todos os pacotes instalados
pacman -Q
# Pacotes instalados explicitamente (a sua lista de compras)
pacman -Qe
# Detalhes de um pacote instalado
pacman -Qi firefox
# Listar os arquivos de um pacote
pacman -Ql firefox
# Encontrar o pacote dono de um arquivo
pacman -Qo /usr/bin/firefox
# Listar os órfãos (dependências que se tornaram inúteis)
pacman -Qdt
# Remover todos os órfãos
sudo pacman -Rns $(pacman -Qdtq)
Gerenciar o cache
O pacman guarda cada versão baixada em /var/cache/pacman/pkg/, o que permite voltar atrás, mas consome rapidamente vários gigabytes.
# Tamanho do cache
du -sh /var/cache/pacman/pkg
# Manter as 3 últimas versões de cada pacote (paccache está no pacman-contrib)
sudo pacman -S pacman-contrib
sudo paccache -r
# Remover as versões dos pacotes desinstalados
sudo paccache -ruk0
# Automatizar a limpeza semanal
sudo systemctl enable --now paccache.timer
4. O AUR: o Repositório da Comunidade
O AUR (Arch User Repository) é a verdadeira força do Arch: um repositório comunitário com mais de 80 000 receitas de compilação, cobrindo praticamente qualquer software existente. Atenção: o AUR não contém pacotes binários, mas PKGBUILDs, scripts que descrevem como construir o pacote. Nada ali é verificado pelos desenvolvedores do Arch: a cautela é de sua responsabilidade.
Instalação manual a partir do AUR
Entenda o processo manual antes de usar um assistente:
# Pré-requisitos para compilar
sudo pacman -S --needed base-devel git
# Clonar a receita
git clone https://aur.archlinux.org/visual-studio-code-bin.git
cd visual-studio-code-bin
# SEMPRE ler o PKGBUILD antes de construir
less PKGBUILD
# Construir e instalar (s = instalar as dependências, i = instalar o pacote)
makepkg -si
yay e paru: os assistentes do AUR
Os assistentes (AUR helpers) automatizam a clonagem, a compilação e, principalmente, as atualizações dos pacotes do AUR. As duas referências atuais são o yay (escrito em Go) e o paru (escrito em Rust, pelo mantenedor histórico do yay).
# Instalar o yay... a partir do AUR, manualmente (uma única vez)
git clone https://aur.archlinux.org/yay.git
cd yay && makepkg -si
# Depois, o yay unifica repositórios oficiais e AUR
yay -S spotify # instalar (repositórios ou AUR)
yay -Syu # atualizar tudo, inclusive o AUR
yay -Ss teams # pesquisar em todos os lugares
yay -Qua # listar as atualizações do AUR pendentes
O paru é usado com exatamente as mesmas opções. Diferença notável: o paru exibe o PKGBUILD por padrão antes da compilação, uma configuração mais segura que você também pode ativar no yay.
Anatomia de um PKGBUILD
# Exemplo mínimo de PKGBUILD
pkgname=mon-outil
pkgver=1.2.0
pkgrel=1
pkgdesc="Un outil d'exemple"
arch=('x86_64')
url="https://exemple.com"
license=('MIT')
depends=('glibc')
makedepends=('go')
source=("$url/releases/$pkgname-$pkgver.tar.gz")
sha256sums=('...')
build() {
cd "$pkgname-$pkgver"
go build -o "$pkgname"
}
package() {
cd "$pkgname-$pkgver"
install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
}
O que verificar ao ler um PKGBUILD: a fonte aponta para o site oficial do projeto? As funções build() e package() fazem algo além de compilar e copiar arquivos? Um PKGBUILD malicioso pode executar qualquer coisa com as suas permissões.
5. Manutenção de uma Rolling Release
É aqui que se decide a longevidade da sua instalação. Um Arch bem cuidado funciona por anos; um Arch abandonado por seis meses é atualizado com sofrimento.
A rotina de atualização
# 1. Consultar os anúncios antes de uma grande atualização
# https://archlinux.org/news/ (eventuais intervenções manuais)
# 2. Atualizar
sudo pacman -Syu
# 3. Tratar os arquivos .pacnew (veja abaixo)
# 4. Reiniciar após uma atualização do kernel ou do systemd
Frequência recomendada: pelo menos uma vez por semana. Após vários meses sem atualizar, atualize primeiro o chaveiro de chaves (sudo pacman -Sy archlinux-keyring e depois -Su) para evitar erros de assinatura.
Os arquivos .pacnew
Quando um pacote traz uma nova versão de um arquivo de configuração que você modificou, o pacman não sobrescreve a sua versão: ele deposita a nova ao lado, com a extensão .pacnew. Ignorá-los indefinidamente acaba causando mau funcionamento.
# Localizar os .pacnew e .pacsave pendentes
sudo pacman -S pacman-contrib
pacdiff --output
# Mesclar de forma interativa (usa vim -d por padrão)
sudo pacdiff
# Com outra ferramenta de merge
DIFFPROG=meld sudo -E pacdiff
Voltar atrás (downgrade)
Se uma atualização quebrar algo, o cache do pacman permite reinstalar a versão anterior:
# Reinstalar uma versão a partir do cache local
sudo pacman -U /var/cache/pacman/pkg/firefox-128.0-1-x86_64.pkg.tar.zst
# Congelar temporariamente o pacote enquanto o bug é corrigido no upstream
# (adicionar em /etc/pacman.conf, seção [options])
# IgnorePkg = firefox
Para as versões ausentes do cache, o Arch Linux Archive guarda todos os pacotes publicados, e a ferramenta downgrade (AUR) automatiza a busca. Mantenha o congelamento apenas temporário: uma rolling release com pacotes fixados de forma duradoura acaba caindo em atualização parcial, o estado a evitar a todo custo.
6. As Armadilhas da Rolling Release
- A atualização parcial: nunca
pacman -Sy pacote, nunca umIgnorePkgpermanente. O sistema inteiro avança junto. - Atualizar antes de viajar ou antes de um prazo importante: se algo quebrar, você não terá tempo de consertar. Atualize quando tiver uma hora livre pela frente.
- O kernel atualizado sem reinicialização: os módulos do kernel antigo são removidos do disco; conectar um pendrive USB pode então falhar até a reinicialização.
- Os pacotes do AUR que quebram após uma atualização das bibliotecas: recompile-os (
yay -S pacote --rebuild) depois das grandes mudanças de versão (Python, ICU, OpenSSL). - A ausência de backup: snapshots Btrfs com snapper, ou o Timeshift, transformam uma atualização malsucedida em um incidente de cinco minutos.
7. O Arch Wiki: Sua Referência Permanente
O Arch Wiki (wiki.archlinux.org) é unanimemente considerado a melhor documentação Linux existente, a ponto de usuários de Debian, Fedora ou Gentoo consultá-lo diariamente. Cada página segue a mesma estrutura: instalação, configuração, casos de uso, solução de problemas.
# Consultar o wiki offline, a partir do terminal
sudo pacman -S arch-wiki-lite
wiki-search "systemd-boot"
Reflexo a adquirir: antes de qualquer pergunta em um fórum, procure a página do wiki do software em questão. Em nove de cada dez casos, a resposta está lá, com as particularidades do Arch documentadas.
Boas Práticas
- Faça a instalação manual pelo menos uma vez antes de usar o
archinstall: é o melhor curso intensivo sobre o funcionamento de um sistema Linux. pacman -Syucompleto, pelo menos semanalmente, nunca-Syparcial.- Consulte os anúncios de archlinux.org antes das atualizações importantes.
- Trate os arquivos
.pacnewcompacdiffapós cada atualização. - Leia cada PKGBUILD antes de instalá-lo a partir do AUR, mesmo via yay ou paru.
- Limpe o cache com
paccache -r, mas mantenha algumas versões para poder fazer downgrade. - Configure snapshots (snapper + Btrfs ou Timeshift) antes de precisar deles.
- Mantenha a ISO de instalação em um pendrive USB:
arch-chroota partir do live é a ferramenta de resgate universal.
Conclusão
O Arch Linux exige mais no início e devolve mais depois: um sistema mínimo que você mesmo montou, pacotes sempre atualizados, nenhuma atualização de versão major a temer e uma documentação de referência. A contrapartida é uma responsabilidade permanente: atualizações regulares, leitura dos anúncios, gerenciamento dos .pacnew. Se essa disciplina combina com você, provavelmente nunca mais voltará atrás; e, mesmo que permaneça em uma distribuição tradicional, uma instalação de Arch levada até o fim terá lhe ensinado mais sobre Linux do que meses de uso comum. Próximo passo natural: explorar os snapshots Btrfs, os hooks do pacman para automatizar a sua manutenção e, por que não, a criação dos seus próprios PKGBUILDs.
Sobre InSkillCoach
Especialista em treinamento e tecnologias
Coach especializado em tecnologias avançadas e IA, apoiado pela GNeurone Inc.
Certificações:
- AWS Certified Solutions Architect – Professional
- Certificações Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão