Inicialmente este blog foi criado para armazenar algumas dicas e links de UNIX/Linux, OpenVMS, linguagem C, Assembly, TCP/IP e nerdezas afins. No entanto devido ao autor ter abandonado o seu plano de ser um super hacker e dominar o mundo (devido esposa, família, filhos, trabalho), a partir de 2012 este blog tem um tipo de nerdeza mais light (Android, Linux, RetroPie (retrogames), produtividade, e por aí vai). Estas dicas raramente serão criações minhas.

domingo, 29 de junho de 2014

Instalacao basica do Arch Linux

Estou me aventurando pelo Arch Linux (e estou empolgado!). Aqui colocarei o meu jeito de instalar o Arch. A maneira que descrevo na verdade é como se fosse um checklist para me servir como um lembrete para futuras instalações. Isso não é uma explicação para novos usuários. Se você está lendo isso e não está familiarizado com termos como /dev/sda, dd, cfdisk, mount, /mnt, e afins, talvez seja o caso de tentar uma distribuição Linux mais amigável (eu recomendo a Linux Mint <http://www.linuxmint.com/>). Mas se mesmo assim você quiser se aventurar pelo Arch Linux, eu indico a leitura do Installation Guide. Eu aprendi muita coisa lá. ;-)

Se você está pensando "Tá bom, mais uma das milhares de distribuições Linux que aparecem por aí... Por que eu deveria tentar essa tal de Arch Linux?", está pensando certíssimo! Eu pensei a mesma coisa. Mas aí fui me informando sobre o Arch e consequentemente fui me lembrando daquele meu velho sonho utópico de linuxeiro adolescente: montar um sistema "from scratch", enxutinho, só com os programas que eu vou realmente utilizar. Montar o seu sistema Arch Linux, é como se fosse montar um Linux "from scratch", só que bem mais fácil! ;-)

Com o Arch você terá um sistema enxutinho, só com os programas que VOCÊ escolheu instalar. E muitas outras vantagens (comunidade ativa, sistema rolling release, etc.). Se quer saber quais são elas olhe aqui: https://wiki.archlinux.org/index.php/Arch_Linux_%28Portugu%C3%AAs%29

Ao final das etapas descritas neste post teremos um sistema Arch Linux superbasicão, cru, sem adereço algum (tá bom, na verdade teremos dois adereços: grub como bootloader, e capacidade de se conectar em uma rede). Vamos à instalação.

Primeira etapa - baixando o disco de instalação e preparando uma mídia bootável

Baixar o iso: http://www.archlinux.org/download

Criar um pendrive de boot (OBS.: é interessante que o pendrive não esteja montado em diretório algum):

# dd bs=4M if=/caminho/ate/archlinux.iso of=/dev/sdx
# sync

Segunda etapa - instalando um sistema basicão

- Dar boot pelo pendrive usb preparado na primeira etapa.


- Assim que der de cara com o prompt, configurar teclado:

# loadkeys br-abnt2


- Configurar sua conexão. Caso tenha wifi disponível, isso aqui resolve:

# wifi-menu

Caso esteja atrás de um proxy, comigo funcionou assim:

# export http_proxy="http://user:password@proxyserver:proxyport/"
# export ftp_proxy=$http_proxy
# export https_proxy=$http_proxy
# export rsync_proxy=$http_proxy
# export no_proxy="127.0.0.1,localhost"

Ainda no proxy... editar o arquivo /etc/pacman.conf e descomentar a linha que contém isso aqui:

# XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

Fiz isso no pacman.conf pois por algum motivo o pacman não foi capaz de me atenticar no proxy. O wget vai de boa. [E essa pra mim foi uma das primeiras demonstrações do poder do Arch Linux: deixar você ciente do que está acontecendo e te dar oportunidade de resolver o problema. Outras distribuições falariam algo do tipo "Conexão falhou. Verifique sua conexão e tente novamente mais tarde."]


- Editar o arquivo /etc/pacman.d/mirrorlist para utilizarmos os mirrors geograficamente mais próximos.

Tem também a dica de rankear os mirrors

# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
# rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist


- Particionar disco(s) ao gosto do freguês. Usar cfdisk para isso é uma boa pedida. OBS.: não criei partição swap, mais pra frente criarei um arquivo swap para este propósito.


- Formatar as partições. Como não sou profundo conhecedor das vantagens/desvantagens de todos os sistemas de arquivos disponíveis, fui no basicão: ext4.

# mkfs.ext4 /dev/sdxX


- Montar a partição que será raiz em /mnt.

# mount /dev/sdxX /mnt


- Instalar o sistema na nova partição. Para instalar um sistema o mais basicão possível e mais o grub como bootloader, basta isso:

# pacstrap /mnt base grub

Mas como no novo sistema você certamente vai precisar de uma conexão para instalar novos pacotes, é importante instalar agora as ferramentas que permitirão realizar esta conexão. No caso de estar usando uma conexão wifi, eu usaria isso:

# pacstrap /mnt base grub netctl dialog wireless_tools wpa_supplicant


Neste passo veremos outra ótima característica do Arch, resolução de dependências. Ao instalar estes pacotes, serão instalados automaticamente todos os pacotes dos quais os primeiros são dependentes.

No caso de estar atras de um proxy, eu tive que usar isso:

# pacstrap /mnt base grub wget net-tools dhcpcd


- Criar o /etc/fstab no novo sistema:

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

(Calma que o swap vem depois!)


- Vamos usar o chroot para fazer de conta que estamos no sistema novo:

# arch-chroot /mnt


- Depois de um chroot o diretório raiz já é o do novo sistema.


- Executar o mkinitcpio. Vou ser bastante sincero, não estudei muito o que o mkinitcpio faz. Apenas executei na configuração padrão mesmo.

# mkinitcpio -p linux


- Configurar o grub:

# grub-install --target=i386-pc --recheck --debug /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg


- Criar um arquivo de swap:

# fallocate -l 512M /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

Avisar ao /etc/fstab que temos swap! Incluir esta linha no arquivo:

/swapfile none swap defaults 0 0

Terceira etapa - pequenas configurações na munheca

- Escrever o nome do host em /etc/hostname


- Configurar a zona geográfica:

# ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime


- Retirar o comentário dos locales desejados no arquivo "/etc/locale.gen". Eu escolhi en_US.UTF-8 e pt_BR.UTF-8. Em seguida executar:

# locale-gen


- Configurar "/etc/locale.conf". O meu ficou assim:

LANG=pt_BR.UTF-8
LC_MESSAGES=en_US.UTF-8


- Configurar "/etc/vconsole.conf". O meu ficou assim:

KEYMAP=br-abnt2


- Estes dois passos só precisam ser feito no caso do proxy:

  - Editar o /etc/pacman.conf para usar o wget, se necessário (caso do proxy), pois aquela edição que fizemos anteriormente era no sistema "instalador", agora estamos no sistema recentemente instalado, lembra? ;-)

  - Ainda no caso do proxy, é interessante habilitarmos logo o dhcpcd (no comando abaixo, substitua eth0 pelo nome da sua interface de rede, se for o caso):

# systemctl enable dhcpcd@eth0.service


- Configurar uma senha para o root.


- Sair do ambiente chroot.

# exit

Agora a raiz já é novamente o sistema instalador do LiveCD. Desmontaremos o /mnt e rebootamos:

# umount -R /mnt
# reboot


Pronto! Agora o Arch Linux já está instalado! Porém o sistema está cruzão. A customização é assunto para um próximo post.

P.S.: outros pacotes que eu gosto muito: vim, openbsd-netcat, nmap, lynx...

Nenhum comentário:

tags