Introdução ao Arch Linux

Introdução ao Arch Linux

Introdução

    Arch Linux é um sistema operacional rolling release baseado em Linux com arquitetura x86_64 ( suportada oficialmente), desenvolvido pelo programador canadense Judd Vinet em 2002, que se inspirou principalmente no Crux, Slackware e BSD e apesar da admiração pela forma como tais sistemas foram construídos Judd Vinet estava insatisfeito com a forma que os pacotes eram gerenciados fazendo duras críticas aos gerenciadores de pacotes disponíveis na época, Judd então iniciou o projeto do pacman, o gerenciador de pacotes do Arch, que veio a se tornar um dos melhores gerenciadores de pacotes.

    O Arch, como é comumente chamado, segue a filosofia kiss, que é uma filosofia herdada da engenharia aeronáutica da marinha dos EUA, que em uma tradução levando em consideração o contexto da época significa: “mantenha-o estupidamente simples”, para os engenheiros aeronáuticos da época era extremamente difícil dar manutenção nas aeronaves, principalmente em combate, então Kelly Johnson – um engenheiro da Lockheed – disse aos designers da Lockheed que os projetos deveriam ser simples a ponto de um mecânico conseguir dar manutenção no campo de batalha, porém, por ser algo adaptado de outro campo da engenharia, essa simplicidade na engenharia de software é bastante relativa e depende de bastante coisa, não vou me aprofundar agora pois pretendo falar disso no futuro.

Além de simplicidade, o Arch segue outros princípios são eles: modernidade, pragmatismo, centralidade no usuário e versatilidade, ou seja, o Arch é uma distribuição de extrema simplicidade, entregando ao usuário final um ambiente onde o próprio pode personalizar da forma que desejar, ao invés de trazer ferramentas e ambientes prontos para o uso. Segundo Aaron Griffin – atual Lead Developer do Arch – ao depender de ferramentas para esconder a complexidade do sistema, o resultado será um sistema mais complexo ainda.

O Arch possui 3 repositórios oficiais que vem “ativado” por padrão, são eles: Core – onde contêm os pacotes que são necessários para o funcionamento do Arch, o Extra – que possui pacotes que não foram para o core por não serem essenciais para o funcionamento básico e o Community – onde ficam os pacotes adicionais. Os repositórios oficiais são gerenciados pelo pacman (PACkage MANanger) que é o gerenciador de pacotes, como o nome sugere, padrão do Arch, também existe outro repositório aberto a qualquer usuário chamado de AUR ou Arch User Repository no qual você pode ou não ter um gerenciador de pacotes próprio para ele, eu mesmo criei um chamado yogurt (é open source e esta no github).

Introduzido o assunto, vamos para sua instalação…

 

Instalação

Talvez o grande divisor de águas do Arch Linux seja a sua instalação que é tida por muitos como “complexa” quando na verdade só é chata, instalar o Arch Linux requer sim um pouco de conhecimento Linux, mas nada muito avançado. A ISO (imagem de instalação) pode ser encontrada no site oficial do Arch Linux , escolha uma das opções ou mirror e baixe a ISO, que é bem pequena se comparado a de outras distribuições Linux. Para gravar a ISO verifique um programa de sua preferência caso esteja no Windows, mas se tiver em algum sistema Linux, recomendo o comando dd, que é bem simples e útil, a sintaxe é a seguinte:

dd  if=’/home/downloads/archlinux.iso’ of=’/dev/sdX’ status=progress bs=4M && sync

    Lembrando de substituir o X no /dev/sdX pela unidade do pendrive, tomando cuidado para não selecionar o seu HD.

 

Básico

Após fazer o boot do Arch pela unidade de mídia que acabou de criar, você estará numa tela preta, chamamos isso de terminal, tty, linha de comando, enfim…. nesta tela execute o seguinte comando para verificar se as variáveis do EFI existem, como vamos instalar nesse modo precisamos garantir isso para que não encontremos nenhum erro lá na frente e não saibamos o por quê.

#efivar -l

Se surgir uma lista com as variáveis EFI, significa que está tudo certo para continuarmos!

Vamos configurar o teclado para o padrão brasileiro, caso esteja usando ele, se não configure para o seu padrão.

# localectl set-x11-keymap br abnt2

Esse é o novo padrão para a configuração de teclados no Arch. Dica: tente usar a tecla TAB para autocompletar alguns comandos….

Se esse comando falhar, tente com o padrão antigo:

# loadkeys br-abnt2

Conectar à internet é o próximo passo, se estiver usando um notebook e quiser conectar pelo wifi:

# wifi-menu

Se não…

# dhcpd

Para a rede cabeada.

Teste sua conexão com a internet com:

# ping -c 3 archlinux.org

Atualize o relógio…

# timedatectl set-ntp true

 

Particionamento

Aqui estou assumindo algumas coisas, por exemplo, que seu HD/SSD esta em GPT ao invés de MBR, visto que GPT tem muitas vantagens em relação ao MBR, existem diversos utilitários Linux para este fim.

Para particionar o disco costumo usar o cfdisk, que é bem fácil.

Se tiver só um disco no seu computador é só rodar o comando

# cfdisk

Caso tenha mais de um, você terá que especificar…

# cfdisk /dev/sda  # por exemplo…

Eu utilizo o seguinte modelo de particionamento…

sda1 | 512M | efi boot partition

sda2 | 2G | swap

sda3 | resto| /

Você pode separar o /home da / é só criar outra partição para ser o /home

 

Formatando as partições

# mkfs.ext4 /dev/sda3 – formatando a / para ext4

# mkswap /dev/sda2 && swapon /dev/sda2 – criando a swap e já ativando para quando for gerar o fstab

# mkfs.vfat -F32 -n BOOT /dev/sda1 – formatando a partição efi

 

Montagem das partições

# mount /dev/sda3 /mnt – montamos a partição / no /mnt

# mkdir -p /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi – montamos a partição efi no /boot/efi, tem que ser assim a menos que seja um bootloader personalizado.

Veja se está tudo certo, rodando o seguinte comando:

# lsblk /dev/sda – caso o seu hd seja o sda

 

Instalando o base e o base devel

Nesse ponto temos que configurar nosso mirrorlist para que o download não fique muito lento, recomendo ir testando os mirrors do Brasil contidos em /etc/pacman.d/mirrorlist, procure por comentários como #Brazil e copie o mirror logo abaixo dele, colando acima do primeiro comentário de mirror, que será um nome de um país, caso ache isso muito complicado eu fiz um script que automatiza tal processo, é bem simples de obter:

# wget https://github.com/JAugusto32/eureka-mirrorlist-generator/tarball/master -O – | tar xz

Instale o pacman-contrib para obter o rankmirrors

# pacman -S pacman-contrib

Após a instalação terminar, entre na pasta do gerador de mirrorlist e rode o script.

# cat /etc/pacman.d/mirrorlist

Se tudo der certo, o comando acima retornará somente mirrors do Brasil. Após isso é só continuar com a instalação.

# pacstrap /mnt base base-devel

Após o término, gere o fstab

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

Depois é só “entrar” no sistema recém instalado

# arch-chroot /mnt

 

Configuração de teclado e idioma

Configure o teclado…

# echo -e “KEYMAP=br-abnt2\nFONT=Lat2-Terminus16\nFONT_MAP=” > /etc/vconsole.conf

Idioma…

# nano /etc/locale.gen

descomente a linha pt_BR.UTF-8, salve e saia.

Agora execute:

# locale-gen

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

Isso se quiser tudo em Português-Brasil, caso contrário procure seu idioma e sua configuração de teclado.

Configurando o timezone:

# ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

Se você estiver em um timezone diferente, coloque no lugar de Sao_Paulo.

Configurando o relógio para utc

# hwclock -w -u

Configure o hostname

# echo archlinux > /etc/hostname

Se estiver num notebook ou for usar o wifi

# pacman -S wpa_supplicant wpa_actiond dialog iw networkmanager

Ative o serviço

# systemctl enable NetworkManager

Crie seu usuário…

# useradd -m -g users -G wheel,power,storage -s /bin/bash username

Defina um password para o novo usuário criado…

# passwd username

Defina um password para o usuário root

# passwd

Altere as informações no novo usuário…

# chfn username

Descomente a linha %wheel ALL=(ALL) ALL do sudoers…

# nano /etc/sudoers

Instale o Grub …

# mkinitcpio -p linux

# pacman -S grub efibootmgr intel-ucode

# grub-install /dev/sda

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

#  exit

# umount -R /mnt

# reboot

Se tudo deu certo, você irá ver a tela de login padrão do Linux e apesar de já ter criado seu usuário, pode logar como root, para rodar comando sem sudo ou entrar com seu usuário e logar como root, isso fica a seu critério.

Após logar, como instalamos o network manager, vamos usar seu utilitário de linha de comando para para nos conectarmos novamente a internet:

# nmtui

Caso esteja conectado via cabo basta conectar ele. Após conectado, vamos começar a instalação da interface gráfica, começando pelo xorg, que é um display server, ele roda numa camada de mais baixo nível da interface gráfica e muitas interfaces ainda dependem dele.

# pacman -S xorg-server xorg-xinit  gvfs-mtp

Agora vamos instalar um driver para o vídeo, em geral não se tem problemas com esses drivers, porém em caso de problemas podemos verificar a wiki do Arch Linux.

# pacman -S xf86-video-amdgpu  – amd-radeon

# pacman -S xf86-video-intel – placas da Intel

Após isso, podemos instalar alguns utilitários de som

# pacman -S alsa-utils pulseaudio pavucontrol

É uma instalação bem rápida, já podemos partir para a interface gráfica de escolha, o Arch suporta oficialmente as seguintes interfaces: xfce, gnome, kde, cinnamon, budgie, deepin, mate, enlightenment, lxde e lxqt, você pode instalar qualquer uma delas, eu vou de xfce.

# pacman -S xfce4 xfce4-goodies

Para os gerenciadores de login, também existem diversas opções, por exemplo, se instalou o gnome pode usar o gdm, eu como instalei o xfce, que não vem com um login manager em seu pacote vou instalar o lightdm

# pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings

Temos que habilitar o serviço, isso vale para o gdm também, por exemplo:

# systemctl enable lightdm.service

Configure novamente o teclado para a sua nova instalação

# localectl set-x11-keymap br abnt2

Montando uma estrutura básica de diretórios para seu usuário

# pacman -S xdg-user-dirs

# xdg-user-dirs-update

adicionando o applet, no meu caso por usar xfce, caso use gnome ou kde não há necessidade.

# pacman -S network-manager-applet

Instale também um pacote de fontes de alta qualidade, eu geralmente uso dois:

# pacman -S ttf-dejavu – para o sistema

# pacman -S ttf-liberation – para terminais

Softwares adicionais

# pacman -S firefox terminator chromium vlc

após terminar, pode-se reiniciar novamente seu computador, espera-se que ele fique na tela de login, digite sua senha definida la em cima e comece a configurar seu novo sistema instalado, com o tempo você vai querer se aprofundar, se realmente se interessar pelo sistema (e sei que vai!) poderá começar a personalizar a sua instalação, adicionando ou removendo pacotes que julgar necessários para sua utilização, otimizando alguns pontos.

Nenhuma distro te impede de se aprofundar em Linux, mas acredito que o Arch Linux dê um empurrãozinho.

 

CURSOSCONSULTORIA    CONTATO

Anterior Recrutamento e seleção rápida e certeira usando a Rankdone
Próxima Entrevista com Nicolas Grekas do Symfony

About author

José Augusto
José Augusto 1 posts

Analista de Infraestrutura e Programador na 4linux, contribuidor opensource nas horas vagas, apaixonado por video games e leitura (amo Dan Brown).

View all posts by this author →

Você pode gostar também

Infraestrutura

Reduza custos com instâncias AWS

Acabe com desperdícios com instâncias ligadas sem uso. Projeto de análise e automação da 4Linux permite reduzir gastos com serviços da nuvem AWS Certamente sua empresa possui instâncias na AWS

Destaques

[Parte #1] – FreeIPA – Configuração do Servidor

Este post é o Primeiro de uma série de posts sobre o FreeIPA O que é o FreeIPA ? O FreeIPA (Free Identity, Policy and Audit) é um sistema FOSS

Infraestrutura

MongoDB Aggregation

Descubra como processar documentos distintos agrupados em uma única saída para facilitar a geração de resultados e performance quando preciso efetuar buscas em banco de dados MongoDB A seguir explicarei