Instalando o Arch Linux

Lembrando que este post é um eterno esboço assim como todo o blog, de acordo com nossa política de públicação, ele será continuamente atualizado e aperfeiçoado (como a já prevista adição de imagens).

Observação: Este é um post fixo, portanto será continuamente atualizado para que sempre seja possível utiliza-lo como um guia de instalação, independente da época que seja lido, portanto não se surpreenda se mudanças ocorrerem desde a última leitura. Também é seguro dizer que sempre podera utilizar esse tutorial como base para futuras instalações já que ele será atualizado conforme o Arch demande alterações em seu processo de instalação.

Como parte inicial da série de públicações para newbies do Arch Brasil veremos hoje como fazer a instalação básica do Arch com criptografia de disco.

Antes de mais nada é melhor já irmos nos acostumando a ler e estudar a Wiki do Arch Linux, que cá entre nós é uma das melhores do mundo linux, para que se passarmos por algum problema sejamos menos dependentes dos fórums ou de respostas de outras pessoas, por isso linkarei abaixo o Guida de instalação do Arch Linux em português e inglês das wikis oficiais.

Arch Linux – Guia de instalação (Português)

Arch Linux – Installation Guide (Inglês)

Observação: O Guia da Wiki abrange a instalação de forma mais diversa pela quantidade de variaveis que ela precisa abordar, a nossa instalação básica fará o uso de dois volumes LVMs sda1 e sda2 com a /swap /home e / separados, publicarei mais tutoriais com formas diferentes de instalação no futuro, porém imagino que essa seja a instalação mais simples para novos usuários e oferece o mínimo de segurança local contando com a criptografia de disco.

Pendrives bootaveis e CDs.

Não abordaremos nesse tutorial formas de criar pendrives bootaveis ou CDs, isso por conta da simplicidade da criação e da abrangencia de conteúdo já disponível, então deixaremos esses links como recomendação inicial, caso alguém esteja realmente perdido.

Newbie – Etcher – Crie pen drives bootáveis de qualquer sistema facilmente

“Avançado” – Criando pendrives bootáveis via terminal – Viva o linux

E claro… A Wiki oficial:

Install from a USB flash drive (Português) – Arch Linux Wiki

LVM e LUKS

LVM (Logical Volume Manager – Gerenciador de Volume Lógico) permite gerenciar os discos com algumas funcionalidades interessantes, como por exemplo utilizar vários discos físicos para funcionar como um ou mais volumes, ou ainda poder remanejar o tamanho das partições e fazer toda essa gerência em tempo de execução. Ela que vai nos possibilitar aplicar a criptografia de disco em nosso sistema.

No final do texto deixarei links com um vasto conteúdo para quem deseja entender a fundo o surgimento as funções e operação da LVM, vale a pena conferir pois é possível fazer muita coisa interessante.

Instalando o Arch Linux

Configurando o teclado para Português do Brasil, já no terminal do Arch digite:

#loadkeys br-abnt2

Precisaremos de internet para instalar o sistema e os pacotes base do Arch, portanto se utilizar uma rede wifi logue-se nela com a interface wifi-menu:

#wifi-menu

Caso utilize um cabo de rede a internet já deve estar conectada, porém se for o caso iniciar sua interface de rede ethernet:

#systemctl start dhcpcd.service

Preparando o disco

Agora vamos preparar as partições para nosso sistema, devemos ter três coisas em mente:

  • Não se deve criptografar o */boot*, senão o sistema não iniciaria;
  • A partição de /boot vou utilizar com ext4, fica a seu critério. E deve ser marcada como bootável. (Devemos lembrar que ext4 é incompátivel com sistemas Windows, portanto se deseja fazer um dualboot deve usar ext3)
  • A partição a ser utilizada pelo LVM tem de ter a flag “Linux LVM”.

As partições ficaram desse forma:
/dev/sda1 800MB ext4 (vai ser utilizada para o boot)
/dev/sda2 (restante) Linux LVM (vamos separar aqui /, /home e swap)

Sugiro que formete ambas para ext4 (com os comandos abaixo) antes de definir as flags LVM e bootable nas aprtições, isso porque nem todos vem configuradas por padrão.

#mkfs.ext4 /dev/sda1

#mkfs.ext4 /dev/sda2

Criptografia

No terminal devemos carregar o módulo para utilizar o LUKS:

#modprobe dm-crypt

Agora vamos selecionar a cifra, eu vou utilizar AES512 mas deixarei a seu critério se desejar procurar por outras no man.

#cryptsetup -c aes-xts-plain64 -y -s 512 -h sha512 luksFormat /dev/sda2

Com a cifra aplicada, sera necessaŕio montar o disco LVM para prosseguir com a instalação:

#cryptsetup luksOpen /dev/sda2 lvm

Configurando a LVM

Agora cabe a breve explicação que citei na seção sobre LVM. Ele trabalha com alguns conceitos interessantes, que são os PV (Physical Volume), VG (Volume Group) e LV (Logical Volume). Vamos entender melhor!

Você precisará dizer ao LVM qual dispositivo ele vai poder utilizar para fazer a abstração hardware-software. Esses são os PV, ou physical volume (volumes físicos). Vamos criando logo:

#pvcreate /dev/mapper/lvm

Perceba que é o endereço dito mais acima, onde o disco está disponível para uso após abri-lo com Luks.

O VG ou grupo de volumes (Volume Group) vai ser responsável por agrupar volumes físicos, deixando disponível para criação das partições maiores que o tamanho dos discos físicos:

#vgcreate arch /dev/mapper/lvm

Optei pelo nome ‘arch’ por questões estáticas já que em toda inicialização do sistema ele apresentara uma mensagem “Digite a senha para montra o volume arch”, mas na realidade pode-se utilizar qualquer nome.

LV ou volumes lógicos (Logical Volume) é, portanto, as partições lógicas criadas pelo LVM. Será nelas que as interações do kernel vão ocorrer e não mais diretamente no hardware. Esse é o trabalho do LVM.

Tudo que precisará ser decidido é o tamanho das partições que deseja ter. Eu fiz o seguinte esquema:

/ 20G
swap 2G
/home restante

Se vai seguir a mesma configuração, os comandos ficam assim:

#lvcreate -L 2GB -n swap arch
#lvcreate -L 20GB -n root arch
#lvcreate -l 100%FREE -n home arch

Para ter melhor ideia dos wildcars disponíveis, veja a “man pages”.

Formatação

Aqui já volta a ponto comum de qualquer instalação Arch. O que vai mudar é o endereço dos dispositivos:

#mkfs.ext4 /dev/mapper/arch-root
#mkfs.ext4 /dev/mapper/arch-home
#mkswap /dev/mapper/arch-swap

Montando as partições

Vamos então montar os discos para prosseguir com a instalação:
#mount /dev/mapper/arch-root /mnt
#mkdir /mnt/boot
#mount /dev/sda1 /mnt/boot
#mkdir /mnt/home
#mount /dev/mapper/arch-home /mnt/home

Instalando o sistema base

Para instalar o sistema base digitamos no terminal:

#pacstrap /mnt base base-devel

Após concluir a instalação da base do sistema partimos para primeira parte do grub:

#pacstrap /mnt grub-bios

Agora iremos gerar o fstab para automatizar a montagem das partições

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

CHROOT

É o processo de mudar a raiz atual (do pendrive, CD, DVD, whatever) para a instalação recente. Basta fazer o seguinte:

#arch-chroot /mnt

Vale ressaltar que se após você fizer a instalação, precisar utilizar novamente o pendrive para fazer alguma modificação no sistema, os únicos passos que precisará seguir é abrir o volume com Luks, montá-lo e fazer o chroot.

Configurando teclado e idioma

Entre em /etc/locale.gen e descomente as linhas referêntes ao idioma desejado, no caso do português do Brasil são “pt_BR.UTF-8 UTF-8” e “pt_BR ISO-8859-1”.

#sudo nano /etc/locale.gen

(Descomente as linhas acima ctrl+o para salvar e depois ctrl+x para sair e siga para os próximos comando).

#locale-gen

#echo LANG=pt_BR.UTF-8 > /etc/locale.conf

Usuários e senha root

Agora vamos configurar nossos usuários e root, começamos definindo uma senha para o root.

#passwd

Após digitar e confirmar a nova senha vamos criar nosso usuário

#Useradd nome_do_usuário

E a senha:

#Passwd nome_do_usuário

Após definir a senha do novo usuário vamos instalar o sudo:

#pacman -S sudo

Agora devemos acessar o arquivo /etc/sudoers e abaixo da linha do root adicionar nome_de_usuário ALL=(ALL) ALL, lembrando que nome_de_usuário deve ser substituído pelo nome escolhido para sua conta.

Ficara mais ou menos assim:
##
## User privilege specification
##
root ALL=(ALL) ALL
Nome_de_usuário ALL=(ALL) ALL

INTERNET

Agora vamos instalar os pacotes necessários para que a internet funcione quando iniciarmos o sistema:

#pacman -S wireless_tools wpa_supplicant wpa_actiond dialog networkmanager network-manager-applet

E claro, habilitar o serviço de rede com a inicialização do sistema:

#systemctl enable NetworkManager.service

#systemctl enable dhcpcd.service

GRUB – Finalizando a instalação

Pera, antes do Grub, abra o arquivo /etc/mkinitcpio.conf. Procure por “HOOKS” e coloque antes de “filesystems” a seguinte sequência “keymap encrypt lvm2”:

#nano /etc/mkinitcpio.conf

keymap encrypt lvm2

Agora rodamos o comando para comprimir o boot

#mkinitcpio -p linux

Agora sim fazemos a instalação da última parte:

#grub-install /dev/sda

E edita o arquivo /etc/default/grub, mudando a opção:

GRUB_CMDLINE_LINUX=""

para:

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:arch"

E a opção:

GRUB_CMDLINE_LINUX_DEFAULT="quiet”

Para:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Salve o arquivo com ctrl+o e feche com ctrl+x, agora rodamos o comando:

#grub-mkconfig -o /boot/grub/grub.cfg

Interface gráfica

Agora chegamos na tão famigerada interface gráfica, neste ponto eu desejo em um futuro próximo trazer um tópico fixo sobre a instalação de todas as interfaces linux no Arch, porém como você pode estar lendo esse tutorial antes que o tópico seja publicado deixarei aqui os comandos de instalação das interfaces mais conhecidas no mundo linux, segue abaixo a lista:
Ops: lembre-se de instalar os servidores gráficos de sua interface, o xorg se instala assim:

#sudo pacman -S xorg xorg-server

Interfaces:

Gnome – sudo pacman -S gnome gnome-extra
LXDE – sudo pacman -S lxde
XFCE – sudo pacman -S xfce4
KDE – sudo pacman -S plasma
MATE – sudo pacman -S mate mate-extra
Deepin Desktop – sudo pacman -S deepin
Budgie Desktop – sudo pacman -S budgie-desktop

Gerênciadores de login

Lembrando que uma distribuição linux sem gerênciador de login pode tornar o login do sistema visualmente bem chato, aqui alguns opções conhecidas:

(Nunca esqueça de habilitar o login na inicialização do sistema).

LXDM – sudo pacman -S lxdm
sudo systemctl enable ldxm.service

GDM – sudo pacman -S gdm
sudo systemctl enable gdm.service

SSDM – sudo pacman -S ssdm
sudo systemctl enable ssdm.service

Deepin DM – sudo pacman -S lxdm

Como o Deepin utilizar um fork do lxdm é necessário configura-lo manualmente como segue abaixo:

Edite o arquivo:
#nano /etc/lightdm/lightdm.conf

Descomente a linha:
greeter-session=example-gtk-gnome
Ctrl+o para salvar ctrl+x fechar

#sudo systemctl enable lxdm.service

Fim!

Pronto! Finalizamos a instalação. Agora precisamos sair do chroot e desmontar os discos antes de reiniciar, siga o processo:

#exit
#umount /mnt/boot
#umount /mnt/home
#umount /mnt
#reboot

Após a inicialização seu Arch Linux está pronto para uso, lembre-se de consultar os tópicos de pós instalação para aprender a arredondar seu sistema para uso pessoal.