Home

Published on 08/01/18 by Tomás Abril


instalando arch linux

Decidi reinstalar ArchLinux no meu computador e vou escrever os passos aqui.

Para a documentação atualizada e mais detalhada consulte a archwiki. https://wiki.archlinux.org

Preparando o pendrive de boot

Download do arquivo .iso do site oficial https://www.archlinux.org/download/

Para gravar o .iso no pendrive utilizei um programa chamado etcher https://etcher.io mas pode ser utilizado o comando dd ou outra ferramenta.

Faça o boot pelo seu pendrive e você encontrará uma tela como a da imagem.

Configurando o teclado

Listar os layouts de teclado disponíveis.

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

Ativar teclado brasileiro.

$ loadkeys br-abnt2    

Para ter certeza que está no modo EFI

$ ls /sys/firmware/efi/efivars   

Se tiver coisas ai está tudo certo.

Conectar a internet

Por padrão o archlinux-live tenta se conectar a uma rede com dhcp. Normalmente vai estar tudo certo já, mas recomendo se conectar por cabo.

$ ping archlinux.org  

Configurar hora

Para ver como está a configuração.

$ timedatectl status  

Para atualizar horário pela internet.

$ timedatectl set-ntp true    

Particionar os discos

Agora vem a hora mais difícil, se errar agora pode perder os dados de partições que você não queria mexer.

Listar partições existentes.

$ fdisk -l    

Vou usar o programa chamado cfdisk para fazer as minhas partições, ele tem uma interface pseudo-gráfica no terminal. Os programas fdisk e parted são também comumente usados.

A interface do cfdisk é relativamente fácil de usar.

Eu fiquei com:

/dev/sda2 como minha partição efi
/dev/sda5 para usar como / (root)
/dev/sdb3 para usar como /home 

No meu computador sda é um ssd de 120Gb e sdb é um HD de 1Tb.

Formatar as partições

Agora estamos com as partições feitas, mas não tem nada dentro delas ainda.

Formatar com o tipo de file system desejado, no meu caso ext4.

$ mkfs.ext4 /dev/sda5
$ mkfs.ext4 /dev/sdb3 

Montar as partições

Montando o root.

$ mount /dev/sda5 /mnt    

Montando o boot.

$ mkdir /mnt/boot
$ mount /dev/sda2 /mnt/boot    

Montando o home.

$ mkdir /mnt/home
$ mount /dev/sdb3 /mnt/home    

Instalando o sistema base

$ pacstrap /mnt base networkmanager    

São aproximadamente 200Mb de download com tudo o que é necessário para um sistema funcional básico em terminal.

Salvando suas partições no novo sistema

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

Este comando salva suas partições montadas para que o novo sistema encontre e monte automaticamente todo o sistema de arquivos sempre que ligar o computador.

Verifique se ficou correto.

$ cat /mnt/etc/fstab    

Entrando no novo sistema

$ arch-chroot /mnt    

Agora estamos logados no sistema operacional que acabou de ser instalado.

Configurando a hora

Para o horário de Curitiba.

$ ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
$ hwclock --systohc 

Locale

Descomente os locales que quiser usar.

$ nano /etc/locale.gen    

Eu vou utilizar o en_US.UTF-8 UTF-8 e o pt_BR.UTF-8 UTF-8.

Para gerar os locales.

$ locale-gen    

Para selecionar um locale no próximo boot escreva no arquivo /etc/locale.conf , eu vou usar o locale brasileiro.

$ LANG=pt_BR.UTF-8    

Edite o arquivo /etc/vconsole.conf para configurar o teclado.

KEYMAP=br-abnt2    

Hostname

Arquivo /etc/hostname com:

myhostname   

Arquivo /etc/hosts com:

127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 myhostname.localdomain myhostname    

Internet

Instale o networkmanager para ter acesso a internet quando fizer o boot normal.

$ pacman -S networkmanager    

Senha de root

$ passwd    

Boot loader

Para que seu novo sistema ligue é preciso de um bootloader, o mais comum e mais fácil é o GRUB. https://wiki.archlinux.org/index.php/GRUB

Eu vou utilizar o rEFInd por ser mais simples. https://wiki.archlinux.org/index.php/REFInd

Instalar o pacote.

$ pacman -S refind-efi    

Gravar o bootmanager na partição EFI, esse é um script automático que procura pela sua partição EFI e coloca os arquivos necessários. Na maioria das vezes isto é o suficiente, casos especiais ver archwiki.

$ refind-install 

IMPORTANTE! o refint-install vai colocar as opções de boot do kernel de acordo com o boot pelo pendrive, então precisamos modificar o arquivo /boot/refind-linux.conf

O que você vai fazer é deletar o arquivo /boot/refind-linux.conf , copiar /usr/share/refind/refind_linux.conf-sample para /boot/refind-linux.conf e editar este arquivo.

$ rm /boot/refind-linux.conf
$ cp /usr/share/refind/refind_linux.conf-sample /boot/refind-linux.conf

A única linha não comentada deve ficar assim:

“Boot using default options” “root=/dev/sda5 rootfstype=ext4 rw add_efi_memmap”    

Onde /dev/sda5 é a partição como o seu root (/).

Se você usa um processador intel é uma boa ideia habilitar o microcode updates, para processadores amd isto já está incluso no sistema base do arch.

$ pacman -S intel-ucode    

Saindo do chroot

$ exit    

Desmontando todas as partições.

$ umount -R /mnt
$ reboot    

Lembre de tirar o pendrive do computador.

Agora estamos no seu novo sistema operacional !!

Mas ainda não acabou

Refazer a configuração do refind automaticamente com o comando.

$ mkrlconf --force    

https://wiki.archlinux.org/index.php/Microcode

E habilitar o ucode da intel. Para isso editamos a primeira linha do /boot/refind_linux.conf para que fique:

“Boot with standard options” “root=/dev/sda5 rootfstype=ext4 rw add_efi_memmap initrd=intel-ucode.img initrd=initramfs-linux.img”    

Agora sim está tudo ok, mas tem algumas coisas que é recomendável fazer ainda.

Recomendações Gerais

Criando um usuário.

$ useradd -m -G wheel username
$ passwd username    

Configurando sudo.

Se não estiver conectado a internet o comando abaixo liga o networkmanager que configura automaticamente redes cabeadas.

$ systemctl start NetworkManager.service
$ systemctl enable NetworkManager.service    
$ pacman -S sudo
$ EDITOR=nano visudo   

Após comando visudo descomente a linha

%wheel ALL=(ALL) ALL 

para que o nosso usuário possa utilizar o comando sudo.

Configurando os mirrors

Vamos utilizar o reflector para gerar uma lista de bons mirrors.

https://wiki.archlinux.org/index.php/Reflector

$ pacman -S reflector rsync
$ reflector --latest 50 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist 
$ pacman -Syyu 

Driver nvidia

https://wiki.archlinux.org/index.php/NVIDIA

$ pacman -S nvidia 

Outras coisas da nvidia.

$ pacman -S mesa-vdpau libva-mesa-driver nvidia-settings xorg-server-devel opencl-nvidia nvidia-utils 

Placas de video intel

Ver https://wiki.archlinux.org/index.php/Intel_graphics

Placas de video amd

Ver https://wiki.archlinux.org/index.php/AMDGPU

Desktop enviroment

https://wiki.archlinux.org/index.php/Desktop_environment

Eu vou instalar o xfce, mas fique livre para instalar qualquer outro como gnome ou kde.

$ pacman -S xfce4 xfce4-goodies 

https://wiki.archlinux.org/index.php/Display_manager

Para inicializar nosso desktop precisamos de um display manager. Eu vou usar o SDDM, mas pode usar qualquer outro como o GDM ou LightDM.

$ pacman -S sddm
$ systemctl enable sddm.service 

Depois de um reboot tudo deve estar funcionando com interface gráfica.

Alguns pacotes úteis para completar o xfce.

$ pacman -S file-roller gvfs gconf zenity network-manager-applet catfish mlocate 

Firewall

$ pacman -S gufw
$ systemctl enable ufw.service 

Abrir o programa gráfico gufw e ligar o firewall.

Swap

https://wiki.archlinux.org/index.php/Swap

Eu uso um swap em arquivo (swap file), vou criar um arquivo na minha pasta /home porque é o meu HD de 1Tb.

$ fallocate -l 16G /home/swapfile
$ chmod 600 /home/swapfile
$ mkswap /home/swapfile
$ swapon /home/swapfile 

no arquivo /etc/fstab escrever

$ /home/swapfile none swap defaults 0 0 

Configurações para SSD

https://wiki.archlinux.org/index.php/Solid_State_Drives

É uma boa ideia executar um TRIM periodicamente https://en.wikipedia.org/wiki/Trim_(computing)

Montar as partições usando a opção discard não é mais recomendado, tenha certeza que no seu /etc/fstab nada está montado com a opção discard.

Para verificar se o seu ssd tem suporte a TRIM execute o seguinte comando:

$ lsblk --discard 

Se os valores de DISK-GRAN e DISK-MAX forem maiores que zero seu ssd tem suporte.

Este comando habilita a execução automática de um trim uma vez por semana.

$ systemctl enable fstrim.timer 

Som e codecs

$ pacman -S pavucontrol pulseaudio vlc qt4 libdvdcss twolame gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav 

Fontes

$ pacman -S ttf-fira-mono ttf-freefont ttf-liberation ttf-roboto adobe-source-code-pro-fonts ttf-droid ttf-dejavu ttf-bitstream-vera ttf-linux-libertine font-mathematica noto-fonts-cjk noto-fonts noto-fonts-emoji noto-fonts-extra 

Isso é um download de mais de 200Mb só de fontes! Não precisa de tudo isso mas é bom instalar pelo menos a ttf-dejavu e a ttf-liberation.

Temas GTK

Para deixar o xfce mais bonito pode ser instalado um desses temas:

adapta-gtk-theme
arc-gtk-theme
mate-themes
numix-gtk-theme 

Ícones

Existem muitos, procure um que você goste aqui

https://www.archlinux.org/packages/?sort=&q=icon-theme

ou aqui

https://aur.archlinux.org/packages.php?K=icon-theme

Browser

$ pacman -S firefox midori w3m 

Outros programas úteis

https://wiki.archlinux.org/index.php/List_of_applications

gnome-disk-utility, particionador e visualizador de discos

ntfs-3g, permite montar partições do windows

flatpak, ver https://flathub.org/

calibre, para organizar ebooks

libreoffice ver https://wiki.archlinux.org/index.php/LibreOffice

transmission-gtk, torrents

p7zip lrzip unace unrar unzip zip, compressão de vários formatos

evince, ler pdfs

simple-scan, para usar um scanner

baobab, disk usage analyser

pinta, cópia do paint