0%
Arch Linux: Instalação, pacman e AUR

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.

I

InSkillCoach

· min

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 um IgnorePkg permanente. 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 -Syu completo, pelo menos semanalmente, nunca -Sy parcial.
  • Consulte os anúncios de archlinux.org antes das atualizações importantes.
  • Trate os arquivos .pacnew com pacdiff apó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-chroot a 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.

InSkillCoach

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+
929
275

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!