Vai al contenuto

Instalação do Arch Linux

1. Verificação de Assinatura

Ɖ recomendĆ”vel verificar a assinatura da imagem antes de usĆ”-la, especialmente ao fazer o download de um espelho HTTP, onde os downloads estĆ£o sujeitos Ć  interceptação para fornecer imagens maliciosas.

Em um sistema com GnuPG instalado, baixe a assinatura PGP da ISO para o diretório ISO e verifique-a com o seguinte comando:

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig

Alternativamente, a partir de uma instalação existente do Arch Linux, execute:

$ pacman-key -v archlinux-version-x86_64.iso.sig





2. Configuração Inicial

Para começar, precisamos definir o idioma do teclado, o idioma padrão sem digitar o comando é US. As disposições disponíveis podem ser listadas com:

# ls /usr/share/kbd/keymaps/**/*.map.gz

defina o idioma do teclado com o comando:

# loadkeys it

Os caracteres do console podem ser encontrados em /usr/share/kbd/consolefonts/ e tambƩm podem ser definidos com o comando setfont. Por exemplo, para usar caracteres maiores adequados para telas de HiDPI, execute:

# setfont ter-132b





3. Conexão com a Internet

Se você conectou a mÔquina à Internet via cabo ou mÔquina virtual, pode verificar o endereço IP adquirido usando este comando:

# ip a

A conexão pode ser testada com um comando de teste de ping:

# ping -c 3 archlinux.org

Conecte-se Ć  rede Wi-Fi usando a ferramenta iwctl:

  • # iwctl Inicie o iwctl
  • # device list Encontre o nome do seu dispositivo, por exemplo, wlan0
  • # station wlan0 scan Verifique as redes sem fio disponĆ­veis
  • # station wlan0 get-networks Obtenha a lista de redes
  • # station wlan0 connect yournetworkname Conecte-se Ć  sua rede
  • # exit

Se, no caso, nossos dispositivos estiverem desativados e não conseguirmos executar o iwctl:

  • # rfkill list Verifique o status bloqueado ou desbloqueado dos dispositivos
  • # rfkill unblock all Desbloqueie todos os nossos dispositivos bloqueados
  • # systemctl restart iwd Reinicie o serviƧo iwd

Tente novamente # iwctl e continue como acima.





4. Preparação do disco





BIOS-MBR

Particionamento

Identifique seu disco para saber qual convenção de nomenclatura usar. Por exemplo, no caso de um SSD /dev/sda ou no caso de M.2 /dev/nvme0n1 e, finalmente, o disco virtual /dev/vda.

# lsblk -l

Assim que a nomenclatura de nosso disco for identificada, use o cfdisk, aqui assumiremos ter /dev/sda. Você pode ser solicitado o tipo de tabela de partição se o disco for bruto. Nesse caso, selecione DOS:

# cfdisk /dev/sda

Crie as partições necessÔrias para a instalação bÔsica, assumindo que temos um SSD de 128GiB:

  • # 4Gib Crie uma partição para swap e selecione o tipo de swap
  • # 124Gib Crie a partição raiz
  • # write (yes) and quit Escreva as alteraƧƵes e saia

Formatação de partições

  • # mkswap /dev/sda1 Partição de swap
  • # mkfs.ext4 /dev/sda2 Partição raiz em EXT4

Montagem de partiƧƵes

  • # mount /dev/sda2 /mnt Monte a partição raiz
  • # swapon /dev/sda1 Monte a partição de swap





UEFI ext4

Particionamento de disco

Identifique seu disco para saber qual convenção de nomenclatura usar. Por exemplo, no caso de um SSD /dev/sda ou no caso de M.2 /dev/nvme0n1 e, finalmente, o disco virtual /dev/vda.

# lsblk -l

Assumindo que temos um SSD de 128GiB e usaremos o particionamento GPT para a instalação UEFI:

# cfdisk /dev/sda

  • # 512Mib Crie uma partição EFI e selecione o tipo de partição do sistema EFI
  • # 4Gib Crie uma partição para swap e selecione o tipo de swap
  • # 23.5Gib Crie a partição raiz
  • # 100Gib Crie a partição Home
  • # write (yes) e quit Escreva as alteraƧƵes e saia

Formatação de partições

  • # mkfs.vfat -F32 /dev/sda1 Partição do sistema EFI em FAT32 para inicialização
  • # mkswap /dev/sda2 Partição de swap
  • # mkfs.ext4 /dev/sda3 Partição raiz em EXT4
  • # mkfs.ext4 /dev/sda4 Partição Home em EXT4

Montagem de partiƧƵes

  • # mount /dev/sda3 /mnt Monte a partição raiz
  • # mkdir -p /mnt/{home,boot} Crie os diretórios /home e /boot
  • # mount /dev/sda4 /mnt/home Monte a partição Home
  • # mount /dev/sda1 /mnt/boot Monte a partição de inicialização
  • # swapon /dev/sda2 Monte a partição de swap





UEFI btrfs

Particionamento de disco

Identifique seu disco para saber qual convenção de nomenclatura usar. Por exemplo, no caso de um SSD /dev/sda ou no caso de M.2 /dev/nvme0n1 e, finalmente, o disco virtual /dev/vda.

# lsblk -l

Assumindo que temos um SSD de 128GiB e usaremos o particionamento GPT para a instalação UEFI:

# cfdisk /dev/sda

  • # 512Mib Crie uma partição EFI e selecione o tipo de partição do sistema EFI
  • # 27.5Gib Crie a partição raiz
  • # 100Gib Crie a partição Home
  • # write (yes) e quit Escreva as alteraƧƵes e saia

Formatação de partições

  • # mkfs.vfat -F32 /dev/sda1 Partição do sistema EFI em FAT32 para inicialização
  • # mkfs.btrfs /dev/sda2 Partição raiz em BTRFS
  • # mkfs.btrfs /dev/sda3 Partição Home em BTRFS

Montagem de partiƧƵes

Crie os subvolumes @ e @home:

  • # mount /dev/sda2 /mnt

  • # btrfs su cr /mnt/@

  • # umount /mnt

  • # mount /dev/sda3 /mnt

  • # btrfs su cr /mnt/@home

  • # umount /mnt

  • # mount -o noatime,ssd,space_cache=v2,compress=zstd,discard=async,subvol=@ /dev/sda2 /mnt

  • # mkdir -p /mnt/{home,boot} Crie os diretórios /home e /boot Ā 

  • # mount /dev/sda1 /mnt/boot Ā 
  • # mount -o noatime,ssd,space_cache=v2,compress=zstd,discard=async,subvol=@home /dev/sda3 /mnt/home





UEFI lvm-ext4

Particionamento de disco

Identifique seu disco para saber qual convenção de nomenclatura usar. Por exemplo, no caso de um SSD /dev/sda ou no caso de M.2 /dev/nvme0n1 e, finalmente, o disco virtual /dev/vda.

# lsblk -l

Assumindo que temos 3 discos de 128GiB para LVM: sda sdb sdc use o cfdisk para um disco de cada vez:

# cfdifk /dev/sda

  • # 512Mib Crie uma partição EFI e selecione o tipo de partição do sistema EFI
  • # 127.5GiB Crie uma partição e selecione o tipo LVM
  • # write (yes) e quit Escreva as alteraƧƵes e saia

# cfdifk /dev/sdb

  • # 128GiB Crie uma partição e selecione o tipo LVM
  • # write (yes) e quit Escreva as alteraƧƵes e saia

# cfdifk /dev/sdc

  • # 128GiB Crie uma partição e selecione o tipo LVM
  • # write (yes) e quit Escreva as alteraƧƵes e saia

Para criar partiƧƵes em LVM, precisamos primeiro criar um volume fƭsico:

Crie o volume fĆ­sico

# pvcreate /dev/sda2 /dev/sdb1 /dev/sdc1

Crie o grupo de volume

Crie e estenda seu grupo de volume; vocĆŖ precisa criar um grupo de volume em um ou mais volumes fĆ­sicos # vgcreate grupo_de_volume volume_fĆ­sico por exemplo:

# vgcreate lvm /dev/sda2 /dev/sdb1 /dev/sdc1

Este comando primeiro configurarÔ as três partições como volumes físicos (se necessÔrio) e, em seguida, criarÔ o grupo de volumes com os três volumes. O comando o alertarÔ se detectar um sistema de arquivos existente em qualquer dispositivo.

Crie volumes lógicos

Crie volumes lógicos; para uma configuração bÔsica, precisaríamos de um para raiz, swap e home.

  • # lvcreate -L 120G lvm -n root
  • # lvcreate -L 8G lvm -n swap
  • # lvcreate -l 100%FREE lvm -n home

Formatação de partições

  • # mkfs.vfat -F32 /dev/sda1 Partição do sistema EFI em FAT32 para inicialização
  • # mkfs.ext4 /dev/lvm/root
  • # mkfs.ext4 /dev/lvm/home
  • # mkswap /dev/lvm/swap

Montagem de partiƧƵes

  • # mount /dev/lvm/root /mnt Monte a partição raiz
  • # mkdir -p /mnt/{home,boot} Crie os diretórios /home e /boot
  • # mount /dev/lvm/home /mnt/home
  • # mount /dev/sda1 /mnt/boot
  • # swapon /dev/lvm/swap

Estender um grupo LVM

Se no futuro você quiser adicionar um novo volume físico ao grupo, veja qual comando usar, supondo um quarto disco sdd e tendo particionado como antes, estendemos o espaço, por exemplo, para /dev/lvm/home:

  • # pvcreate /dev/sdd1
  • # vgextend lvm /dev/sdd1
  • # lvextend -l +100%FREE /dev/lvm/home

5. Lista de servidores espelho

Salve a lista de servidores para os repositórios em /etc/pacman.d/mirrorlist usando a ferramenta reflector, especificando o país para sincronizar os servidores, por exemplo it. VÔrios países podem ser adicionados usando uma vírgula, por exemplo, it,us:

# reflector --verbose -c it -a 12 --sort rate --save /etc/pacman.d/mirrorlist





6. Pacstrap

Instale o kernel Linux e pacotes base para criar nosso sistema Arch, adicione também um editor, como vim. Se estiver seguindo a instalação do lvm, adicione o pacote lvm2 ao comando a seguir:

# pacstrap -K /mnt base base-devel linux linux-firmware vim





7. Gerar Fstab

O arquivo /etc/fstab permite controlar quais sistemas de arquivos são montados em seu sistema Linux durante a inicialização, incluindo as partições do Windows e os compartilhamentos de rede:

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





8. Chroot

Entre no chroot e configure as etapas a seguir: configuração de hora local, relógio de sistema, idioma, mapeamentos de teclado, nome do host, senha do root, criação de usuÔrio e senha.

Entre no chroot:

# arch-chroot /mnt





Fuso horƔrio

  • # ln -sf /usr/share/zoneinfo/Europe/Italy /etc/localtime
  • # hwclock --systohc





Localização

  • # echo "it_IT.UTF-8 UTF-8" >> /etc/locale.gen
  • # locale-gen
  • # echo "LANG=it_IT.UTF-8" >> /etc/locale.conf
  • # echo "KEYMAP=it" >> /etc/vconsole.conf





Nome de host e Hosts

  • # echo "NOMEDAMAQUINA" > /etc/hostname
  • # echo "127.0.0.1 localhost" >> /etc/hosts
  • # echo "::1 localhost" >> /etc/hosts





UsuƔrio e Root

Configure a senha do Root, tenha cuidado!

# passwd

Configure um novo usuÔrio em minúsculas, criando o diretório /home/USUARIO com -m, o grupo wheel com -G e o shell com -s:

# useradd -mG wheel -s /bin/bash USUARIO

Configure o nome real (que aparece em grÔficos com letra inicial maiúscula por exemplo "Alessio")

# usermod -c 'NOMEREAL' USUARIO

Configure uma senha para o usuƔrio recƩm-adicionado, tenha cuidado!

# passwd USUARIO

Configure o arquivo sudoers para o grupo wheel:

# echo "USUARIO ALL=(ALL:ALL) ALL" >> /etc/sudoers.d/USUARIO





mkinitcpio para lvm

adicionar o lvm2 em hooks no arquivo /etc/mkinitcpio.conf

HOOKS="base udev ... block lvm2 filesystems"

em seguida, usar o comando:

# mkinitcpio -p linux





9. Carregador de boot

GRUB (Bios-MBR)

  • # pacman -S grub
  • # grub-install --target=i386-pc /dev/sda
  • # grub-mkconfig -o /boot/grub/grub.cfg





GRUB (UEFI)

  • # pacman -S grub
  • # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
  • # grub-mkconfig -o /boot/grub/grub.cfg

O GRUB suporta totalmente o secure boot usando CA keys ou shim, no entanto, o comando de instalação é diferente dependendo de qual for usar.

Para usar as CA keys, o comando Ć©:

# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --modules="tpm" --disable-shim-lock

Para usar o shim-lock, o comando Ć©:

# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --modules="normal test efi_gop efi_uga search echo linux all_video gfxmenu gfxterm_background gfxterm_menu gfxterm loadenv configfile tpm"





Systemd-boot (EXT4)

  • # pacman -S efibootmgr
  • # bootctl --path=/boot install
  • # echo "default arch-*" >> /boot/loader/loader.conf
  • # vim /boot/loader/entries/arch.conf

Agora, crie a configuração do arquivo arch.conf que foi aberto com vim, é importante escrever a partição de inicialização raiz correta como root=/dev/sdax onde x é o número da partição raiz.

  • title Arch Linux
  • linux /vmlinuz-linux
  • initrd /initramfs-linux.img
  • options root=/dev/sdax rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3





Systemd-boot (BTRFS)

  • # pacman -S efibootmgr
  • # bootctl --path=/boot install
  • # echo "default arch-*" >> /boot/loader/loader.conf
  • # vim /boot/loader/entries/arch.conf

Agora, crie a configuração do arquivo arch.conf que foi aberto com vim, é importante escrever a partição de inicialização raiz correta como root=/dev/sdax onde x é o número da partição raiz, adicione a bandeira para o subvolume @.

  • title Arch Linux
  • linux /vmlinuz-linux
  • initrd /initramfs-linux.img
  • options root=/dev/sdax rootflags=subvol=@ rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3





Systemd-boot (LVM)

  • # pacman -S efibootmgr
  • # bootctl --path=/boot install
  • # echo "default arch-*" >> /boot/loader/loader.conf
  • # vim /boot/loader/entries/arch.conf

Agora, crie a configuração do arquivo arch.conf que foi aberto com vim, é importante escrever a partição de inicialização raiz correta como para o lvm root=/dev/mapper/lvm-root

  • title Arch Linux (LVM)
  • linux /vmlinuz-linux
  • initrd /initramfs-linux.img
  • options root=/dev/mapper/lvm-root rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3





10. Pacotes BƔsicos

# pacman -S xorg wpa_supplicant wireless_tools netctl net-tools iw networkmanager alsa-utils pipewire-pulse mtools dosfstools mtools ntfs-3g f2fs-tools dosfstools exfatprogs fuse firewalld acpi cronie git reflector bluez bluez-utils cups reflector





11. Ambiente de Ɓrea de Trabalho

Escolha alguns dos ambientes de Ɣrea de trabalho populares sugeridos:

Gnome

Gnome completo com o gerenciador de exibição GDM

  • # pacman -S gnome gnome-extra gdm
  • # systemctl enable gdm

Xfce4

xfce4 com o gerenciador de exibição Lightdm

  • # pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
  • # systemctl enable lightdm

Lxde

lxde com o gerenciador de exibição Lightdm

  • # pacman -S lxde lxde-common lxsession openbox
  • # systemctl enable lightdm

Mate

mate com o gerenciador de exibição Lightdm

  • # pacman -S mate mate-extra
  • # systemctl enable lightdm

Plasma

plasma kde com o gerenciador de exibição SDDM

  • # pacman -S plasma kde-applications sddm
  • # systemctl enable sddm

Cinnamon

cinnamon com o gerenciador de exibição Lightdm

  • # pacman -S cinnamon nemo-fileroller gnome-terminal lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings xdg-user-dirs-gtk
  • # systemctl enable lightdm





12. ServiƧos

Se você tiver habilitado o serviço para o gerenciador de exibição, pode passar para a ativação de outros serviços necessÔrios.

  • # systemctl enable NetworkManager Tenha cuidado, o comando diferencia maiĆŗsculas e minĆŗsculas.
  • # systemctl enable bluetooth
  • # systemctl enable reflector
  • # systemctl enable cronie
  • # systemctl enable firewalld





13. Zram

O exemplo a seguir descreve como configurar a troca automÔtica para zram na inicialização usando uma única regra udev. Nenhum pacote adicional é necessÔrio para fazê-lo funcionar.

Carregar explicitamente o módulo na inicialização:

  • # vim /etc/modules-load.d/zram.conf

  • zram

Crie a seguinte regra udev ajustando o atributo disksize conforme necessƔrio para o tamanho da troca, neste exemplo Ʃ 16G:

  • # vim /etc/udev/rules.d/99-zram.rules

  • ACTION=="add", KERNEL=="zram0", ATTR{comp_algorithm}="zstd", ATTR{disksize}="16G", RUN="/usr/bin/mkswap -U clear /dev/%k", TAG+="systemd"

Adicione /dev/zram ao seu fstab com uma prioridade mais alta que o padrão:

  • # vim /etc/fstab

  • /dev/zram0 none swap defaults,pri=100 0 0






Ultimo aggiornamento: August 16, 2023
Creata: August 16, 2023