doc-linux

Instalando o Arch Linux (BASE) configurando BTRFS

Partindo do ponto de que foi feito o boot do instalador no computador “1.1 a 1.4”:

1) Teclado:

loadkeys br-abnt2

2) Lista de espelhos:

Primeiro, fazer um teste de comunicação com a internet:

ping -c 4 archlinux.org

Se não tiver comunicação com a internet, seguir as etapas descritas no Arch Wiki, guia de instalação

Também pode dar uma lida nestes links:
Diolinux, Como instalar ArchLinux
Arch Wiki, Network configuration

Configurar espelhos:

reflector --verbose --latest 3 --sort rate --country Brazil --save /etc/pacman.d/mirrorlist
cat /etc/pacman.d/mirrorlist
pacman -Syy

WARNING: failed to rate PROTOCOLO download (PROTOCOLO://SERVIDOR/archlinux/community/os/x86_64/community.db):
Download timed out after 5 second(s).

Tente usar a opção “–download-timeout XX” e, se continuar o erro, use o comando sem a opção “–country PAÍS”.
Opcionalmente use a opção “–age XX”.

–age XX Significa horas após a última atualização do espelho, use um número pequeno
–download-timeout XX Segundos a aguardar antes de um download atingir o tempo limite. Padrão: 5
–latest XX Busca os servidores sincronizados mais recentemente
–sort rate Classificar mirrorlist com base na taxa de download
–fastest XX Retorne os n espelhos mais rápidos que atendem aos outros critérios.
–threads XX Esta opção acelerará a etapa de classificação, mas os resultados serão imprecisos se a largura de banda local estiver saturada em qualquer ponto durante a operação, se a classificação demorar muito.

A opção –sort rate torna a classificação geralmente muito lenta. Ao usar países, você pode não precisar usar a opção de taxa. Usar também a opção –sort country pode ser útil.

Exemplo 01:

reflector --verbose --age 2 --latest 5 --sort rate --download-timeout 10 --save /etc/pacman.d/mirrorlist

Exemplo 02:

reflector --verbose --age 2 --latest 5 --fastest 20 --threads 20 --sort rate --download-timeout 10 --save /etc/pacman.d/mirrorlist

3) Configurando partições e usando BTRFS, usando como exemplo: /dev/sda de 35 GB:

cgdisk /dev/sda

Configuração:

sda1 = Swap, Código 8200, 2GB (Se tiver 4+ GB RAM, recomendável 4 GB Swap)
sda2 = EFI, Código ef00, 600MB (Recomendado ter no mínimo 512mb)
sda3 = ROOT, Código 8300, 32,4GB

3.1) Formatando

mkswap -L swap /dev/sda1 && swapon /dev/sda1
mkfs.fat -F32 -n EFI /dev/sda2
mkfs.btrfs /dev/sda3

3.2) Montando partição BTRFS e criando subvolumes:

Sobre os principais subvolumes:

@ - Este é o subvolume raiz principal no topo do qual todos os subvolumes serão montados.
@home - Diretório HOME, se for usar uma partição separada, não adicionar nos comandos
@cache - Contém dados armazenados em cache de aplicativos
@log - Contém todos os arquivos de logs do Linux
@var - Contém logs, temp. arquivos, caches, jogos, etc. (Recomendável NÃO USAR ESTE SUBVOLUME. Use @cache e @log)
@opt - Contém produtos de terceiros (Opcional)
@tmp - Contém certos arquivos e caches temporários (por ser uma pasta volátil, é recomendável NÃO USAR ESTE SUBVOLUME)
@.snapshots - Diretório para armazenar instantâneos para o pacote snapper (pode excluir isso se você planeja usar Timeshift)

Pode-se usar o subvolume e a configuração que quiser, dependendo do que for fazer com o sistema;

Se você usa a pasta /home em uma partição separada, não é necessário criar um subvolume @home, monte diretamente o seu /home na sua partição respectiva;

mount /dev/sda3 /mnt
btrfs su cr /mnt/@
btrfs su cr /mnt/@home
btrfs su cr /mnt/@cache
btrfs su cr /mnt/@log
umount /mnt

3.3) Montando subvolumes BTRFS:

Opções utilizadas:

noatime - Sem tempo de acesso. Melhora o desempenho do sistema ao não escrever a hora em que o arquivo foi acessado (relatime é o mesmo, mas para arquivos e pastas)
commit - Intervalo peridóico (em segundos) no qual os dados são sincronizados com o armazenamento permanente
compress - Escolhendo o algoritmo para compactar. Zstd, tem um bom nível de compactação e velocidade.
space_cache - Permite que o kernel saiba onde o bloco de espaço livre está em um disco para permitir que ele grave dados imediatamente após a criação do arquivo.
subvol - Escolhendo o subvol para montar.
discard=async - Suporte a descarte assíncrono
autodefrag - Auxiliar de desfragmentação automática.
ssd - Se está instalando no ssd, use a opção “ssd”.

Montando volume principal (root):

mount -o relatime,space_cache=v2,discard=async,autodefrag,compress=zstd,commit=10,subvol=@ /dev/sda3 /mnt

Criando pastas para os subvolumes:

mkdir -p /mnt/{boot/efi,home,var/cache,var/log}

Montando os subvolumes:

mount -o relatime,space_cache=v2,discard=async,autodefrag,compress=zstd,commit=10,subvol=@home  /dev/sda3 /mnt/home
mount -o relatime,space_cache=v2,discard=async,autodefrag,compress=zstd,commit=10,subvol=@cache  /dev/sda3 /mnt/var/cache
mount -o relatime,space_cache=v2,discard=async,autodefrag,compress=zstd,commit=10,subvol=@log  /dev/sda3 /mnt/var/log

3.4) Montando EFI:

mount /dev/sda2 /mnt/boot/efi

3.5) Verificar se as partições montadas estão realmente montadas:

mount

5) Instalar o sistema base

Sobre os principais pacotes:

base - sistema linux básico
linux - Kernel e módulos linux mais recentes (você pode substituir por linux-lts se quiser um kernel mais estável)
linux-headers - Cabeçalhos e scripts para construir módulos para o kernel Linux (também pode substituir por linux-lts-headers)
linux-firmware - Arquivos de firmware para linux (você pode pular isso em uma vm)
intel-ucode - Arquivos de atualização de microcódigo para CPUs Intel
amd-ucode - Imagem de atualização de microcódigo para CPUs AMD
btrfs-progs - utilitários do sistema de arquivos Btrfs
nano - Um editor de texto simples baseado em terminal
ntp - Implementação de referência do Network Time Protocol
reflector - Update mirrors (Opcional)
git - Sistema de controle de versão (VCS), no Arch é usado para manter pacotes AUR. Veja o wiki para mais informações.

Um sistema mínimo exige o pacote do grupo base, também a instalação do grupo de pacote base-devel neste momento é altamente recomendado.

Ps.: Eu uso uma máquina com CPU Intel, então vou usar o pacote “intel-ucode”. Se você usa máquina com CPU AMD, troque o pacote por “amd-ucode”.

pacstrap /mnt base base-devel linux linux-headers linux-firmware intel-ucode btrfs-progs nano ntp reflector git

6) Gerar o fstab

genfstab -U /mnt >> /mnt/etc/fstab

7) Acesso ao sistema via Chroot

arch-chroot /mnt

8) Fuso horário

ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
hwclock --systohc
ntpdate a.ntp.br
hwclock -w

9) Locales

sed -i '/en_US/s/^/#/' /etc/locale.gen
sed -i '/pt_BR.UTF-8/s/#//' /etc/locale.gen
locale-gen
echo LANG=pt_BR.UTF-8 >> /etc/locale.conf
echo KEYMAP=br-abnt2 >> /etc/vconsole.conf
export LANG=pt_BR.UTF-8

10) HOSTNAME:

Ps.: Hostname criado para o teste: archvm

HOSTNAME="archvm"
echo -e "$HOSTNAME" | tee /etc/hostname
echo -e "
127.0.0.1  localhost
127.0.1.1  "$HOSTNAME"
::1        localhost ip6-localhost ip6-loopback
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters
" | tee -a /etc/hosts

11) Usuários:

Nesta configuração, é ativado a linha do grupo “wheel” no arquivo sudoers e posteriormente é criado o usuário já adicionado no grupo do sudo e criação automática da pasta HOME do mesmo.
Opcionalmente, foi adicionado o usuário em mais 3 grupos. Pode adicionar os grupos que achar necessário ou não adicionar, é de preferência de cada um.
Depois é feito o comando passwd para adicionar uma senha ao usuário.

Ps.: Usuário criado para o teste: arch

sed -i '/NOPASSWD/!s/# %wheel/%wheel/' /etc/sudoers
grep wheel /etc/sudoers
useradd -m -G wheel arch
usermod -a -G storage,power,audio arch
passwd arch

12) Pacotes:

Os pacotes foram instalados por categorias:

Pacotes de manuais, pois são muito úteis para consultas;
Pacotes para a instalação do gerenciador de boot. Se não for usar Dual Boot, só é necessário o pacote GRUB e o EFI;
Pacotes para o gerenciamento de rede.

pacman -Syy
pacman -S --needed --noconfirm man-db man-pages texinfo
pacman -S --needed --noconfirm grub-efi-x86_64 efibootmgr dosfstools os-prober mtools
pacman -S --needed --noconfirm networkmanager wpa_supplicant wireless_tools dialog sudo
systemctl enable NetworkManager

network-manager-applet. Applet para gerenciar conexões de rede.
Se for usar uma GUI como o Gnome, Budgie, Cinnamon, instale este pacote junto. Se for usar outro, por exemplo o Plasma que não usa, este pacote não é necessário.

13) Instalação do GRUB EFI:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux --recheck
grub-mkconfig -o /boot/grub/grub.cfg

14) Sair e rebootar

exit
reboot

15) Após o boot:

Opcional, se estiver configurando o sistema via conexão remota:

sudo systemctl start sshd
sudo systemctl enable sshd

A partir daqui, basta configurar a Distro conforme as suas necessidades.

Leitura recomendada:

Recomendações Gerais
Lista de aplicações

Antes de continuar a instalação e configuração do sistema, se assim como eu, usa aplicações como VPN ou jogos que exigem bibliotecas 32 bits, é recomendável habilitar o repositório multilib. Se você não usa nada que exige dependências de bibliotecas ou outras aplicações 32 bits, não precisa habilitar este repositório.
Para configurar multilib, edite o arquivo /etc/pacman.conf e descomente as seguintes linhas:

[multilib]
Include = /etc/pacman.d/mirrorlist

Aproveitando que já está editando o arquivo, descomente a seguinte linha para ativar instâncias de Download e configure o número de instâncias que quiser (Padrão 5):

ParallelDownloads = 10

Para a instalação do driver de vídeo, Intel, NVidia ou AMD, siga este link: ArchWiki, Xorg, Driver Installation

ArchLinux em BTRFS:

https://wiki.archlinux.org/title/Btrfs_(Portugu%C3%AAs)
https://plus.diolinux.com.br/t/tuto-instalacao-do-arch-uefi-com-btrfs-e-snapshots-15-09-2021/38384
https://danielsales.com.br/pt-br/instalacao-arch-linux-com-btrfs/
https://thelostwanderer.tedomum.org/linux/3_install_guide_arch/
https://www.nishantnadkarni.tech/posts/arch_installation/
https://www.arcolinuxd.com/installing-arch-linux-with-a-btrfs-filesystem/

Outros tópicos:

…btrfs root partition mounted on /,/var/cache & log
https://diolinux.com.br/2019/07/como-instalar-arch-linux-tutorial-iniciantes.html
https://livrelinux.wordpress.com/2016/05/11/instalando-arch-linux-descomplicado/
https://wiki.archlinux.org/index.php/Installation_guide_(Portugu%C3%AAs)
https://forum.archlinux-br.org/viewtopic.php?id=3624
https://wiki.archlinux.org/title/GRUB#UEFI_systems_2
https://wiki.archlinux.org/title/EFI_system_partition#Mount_the_partition
https://forum.endeavouros.com/t/mirrors-are-really-slow-reflector-cant-rate-any-mirror/15135/3

Link’s recomendáveis:

https://btrfs.readthedocs.io/en/latest/index.html

Vídeos ensinando a fazer instalação usando Archinstall, canal Caravana Cloud:

Nova Instalação do Arch Linux 2021 - Archinstall
Arch Linux Instalação 2022 - DEFINITIVA

Grupo Telegram recomendável:

Telegram Arch Linux Brasil

Para comentários e sugestões, clique aqui