2013-02-22

Linux Radical Parte II: Comparar LFS, Gentoo e Arch Linux


Neste segundo post continuamos a série que compara LFS, Gentoo e Arch Linux.

No primeiro post espreitamos o LFS, hoje vamos ver o Arch Linux.

O documento "The Arch Way" começa com a ideia de simplicidade, citando Leonardo da Vinci: "A simplicidade é a derradeira forma de sofisticação", assegurando que a simplicidade é o objetivo absolutamente principal deste projeto.

Descobrimos que, genericamente, Arch Linux é uma maravilha, um sistema muito elegante, independente, versátil e minimalista.

Das três distribuições em análise, Arch Linux parece ser a mais prática: ela instala um sistema básico e rápido, que podemos extender com um gestor de pacotes estilo yum ou apt chamado pacman.

A sua elegância é conseguida evitando ferramentas redundantes e dando privilégio à linha de comandos para a configuração de todo o sistema.

Afinal, se as interfaces gráficas manipulam estas configurações, porque não evitar problemas com ferramentas intermediárias e realizar as configurações manualmente? Pode ser menos intuitivo mas aprende-se muito mais!

Além disso, a ideia de "intuitivo" é cheia de falsidade: qualquer coisa é intuitiva sob efeito do hábito. Mas... basta de filosofia! Para quem usa Ubuntu ou Fedora e está farto de ver o computador lento, o Arch Linux é ar fresco e puro!

Se a instalação manual for demais, ainda assim pode beneficiar da leveza do Arch: há uma distribuição derivada chamada Archbang, com um instalador mais fácil e um ambiente gráfico preparado.

O Arch Linux existe para arquiteturas i386 e x86_64, ou seja, PC's de 32 bits e 64 bits. Parte do interesse que tenho pelo Arch, é que há também um projeto paralelo que distribui o Arch em plataforma ARM.

Tudo começa com o descarregamento do ficheiro ISO, que pode ser "estampado" num CD-ROM, gravado para um cartão SD ou pen com o comando "dd", ou usado como CD virtual introduzido no VirtualBox. O mesmo ficheiro permite instalar tanto em arquitetura 32 bits como 64 bits.

Ao iniciar o live system um menu de arranque diz-nos: "Uma distribuição linux leve e simples".

E é verdade, especialmente para quem gosta de mexer em sistemas, porque o sistema de arranque deixa-nos numa linha de comandos para que o possamos instalar!

Mas não é difícil: o wiki no site do Arch tem tudo o que é preciso, todos os passos para terminarmos com êxito a instalação, que é feita comando a comando. É só seguir o guia de instalação.

Teclado maluco? Para muitos países, o teclado não vai a funcionar bem logo à partida: alguns carateres vão aparecer trocados, por isso faz-se um:

cd /usr/share/kbd/keymaps/i386/qwerty

(no meu caso é i386 porque é um pc 32 bits, e qwerty porque é um teclado QWERTY obviamente)

Fazendo um ls, vemos que o teclado português usa o mapeamento de teclas pt-latin9:

loadkeys pt-latin9

O guia de instalação inicia com um conjunto de passos que são explicados em detalhe em páginas próprias. A ideia foi  seguir com rigor as instruções, saltando para as páginas de detalhe sempre que necessário e retomando no ponto em que se ficou.

Basicamente o sistema "live" serve para ter os comandos necessários para criarmos um sistema de ficheiros iniciável com o Arch.

Daí que o próximo passo lógico foi criar um sistema de ficheiros, com partições e formatar as partições.

Aqui é preciso saber se o PC usa UEFI ou BIOS. O meu é mais antigo, usa BIOS e, como tenho interesse nas plataformas ARM, o UEFI é coisa que pessoalmente não me interessa.

De qualquer forma, achei que o melhor foi usar o comando cfdisk, que permite rapidamente apagar partições, adicionar novas, marcá-las para boot, e definir o tipo de cada partição, neste caso Linux.

Criei uma partição primária de 8GB e nenhuma de swap. A ideia é que vou preferir usar um ficheiro de swap, que é de tamanho variável e por isso mais adaptado a sistemas com pouca capacidade de disco.

Marquei a partição como "bootable". No meu caso, o disco ficou acessível em /dev/sda e, ao criar partições, o sistema atribui números a cada uma, /dev/sda1 para a primeira, /dev/sda2 para a segunda, etc.

Significa que, ao trabalharmos numa partição usamos o número, mas se estamos a trabalhar ao nível de disco, não usamos o número.

No cfdisk, não esquecer de fazer "Write" antes de sair, ou todas as alterações que fazemos ficam perdidas.

De seguida foi preciso formatar a partição: mkfs -t ext4 /dev/sda1

E começa a parte interessante: a ideia é usar o nosso sistema live para instalar o novo sistema nessa partição.

No Linux não existem drives, o que se faz é "montar" um sistema de ficheiros num diretório qualquer. No nosso caso montamos a nova partição em /mnt:

mount -t ext4 /dev/sda1 /mnt

Se fizermos cd /mnt e depois ls vemos um diretório "lost+found", o que significa que já estamos a navegar no nosso novo sistema de ficheiros.

O Arch já vem com um serviço DHCP para obter um ip na rede local - se há um cabo de rede ligado ele entra na net automaticamente. Senão, é preciso usar o comando wifi-menu para ligar à net.

Isto porque o novo sistema será totalmente obtido da net.

O passo seguinte é a instalação do sistema-base. E para isso é boa ideia editar /etc/pacman.d/mirrorlist para colocarmos em primeiro lugar um "mirror" geograficamente perto de nós e assim tudo ser mais rápido.

O vi antigo é muito limitado mas vamos usá-lo por enquanto:

vi /etc/pacman.d/mirrorlist

(No Linux, use a tecla Tab para completar os comandos à medida que os escreve)

Localiza-se a linha com o "Server" que queremos, colocando lá o cursor de texto. Basta escrever /Portugal ENTER para encontrar.

2dd

(Isto corta fora as duas linhas a que se refere o servidor em Portugal. O cursor deverá estar localizado na primeira linha a cortar).

Movemos o cursor para o topo do ficheiro e tecla p - as duas linhas aparecem nesse sítio.

Para gravar:

:wq ENTER

Tudo a postos para instalar o sistema base:

pacstrap /mnt base base-devel

E começam a chegar os files...

Confirma-se: o Arch Linux é muito, muito leve!  A ideia aqui começa a ficar mais clara: estamos a usar um sistema para criar um sistema!

Em 3 minutos o sistema de ficheiros ficou instalado, basta ver com ls /mnt

Para que o sistema seja encontrado ao iniciar o pc, de seguida temos que instalar o boot loader e é preciso ter em conta se o pc é 32 bits, 64 bits, BIOS ou EFI.

No meu caso (BIOS, 32 bits), em vez do GRUB usei o syslinux, por nenhum motivo em especial:

arch-chroot /mnt pacman -S syslinux
arch-chroot /mnt /usr/sbin/syslinux-install_update -i -a -m


Seguidamente gerei o ficheiro fstab:

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

A ideia agora é "entrar" no novo sistema para acabar as configurações. Isso é feito com o comando arch-chroot, que muda a raíz do sistema para o novo sistema:

arch-chroot /mnt

Isto permite-nos "ver" e funcionar como se já estivéssemos a usá-lo.

Fazendo ls estamos a ver o novo sistema de ficheiros.

vi /etc/hostname

(tecla i)
teste
(tecla Esc)
:wq

ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime


vi /etc/locale.conf


(tecla i) Adicionar:

LANG="en_US.UTF-8"
LC_COLLATE="C"
LC_TIME="pt_PT.UTF-8"

(tecla Esc)
:wq
ENTER

vi /etc/locale.gen
/pt_PT
ENTER

Aqui, remover carater # movendo para lá o cursor e carregando na tecla x.

/#en_US
ENTER

Remover # também com a tecla x.

(em caso de erro, a tecla "u" desfaz sucessivamente as alterações)

Gravar com:

:wq
ENTER

Gerar locais:

locale-gen
ENTER

Agora temos que definir o mapa de carateres para as consolas (terminais).

cd /usr/share/kbd/keymaps/i386/qwerty
cp pt-latin9.map.gz personal.map.gz


...e declarar a configuração:

vi /etc/vconsole.conf
(tecla i)
KEYMAP=personal
(tecla Esc)
:wq
ENTER

Gerar o ramdisk inicial:

mkinitcpio -p linux

Criar uma password para administrador de sistema (root):

passwd root

Sair do ambiente chroot:

exit
ENTER (ou CTRL+D)

Desmontar partição do novo sistema:

umount /mnt

Com isto temos todo o sistema pronto e basta remover o CD ou drive com o sistema live para que não inicie mais.

shutdown -h now

A ideia é que o novo sistema vai ser iniciado, e não o "live" que estivemos a usar até agora.

Resultado? Mau!

O sistema está a tentar iniciar em /dev/sda3 e tenho-o em /dev/sda1...

Se alguma coisa correr mal, como é o caso, é simples: basta voltar a iniciar o sistema "live" e montar a partição do sistema novo para resolver algum problema.

Foi o que fizemos:

loadkeys pt-latin9

(Nota: a tecla de - está no lugar de apóstrofe!...)

mount -t ext4 /dev/sda1 /mnt

O problema é óbvio: configuramos mal o syslinux (boot loader).

cd /mnt/boot/syslinux
vi syslinux.cfg


(no sítio de /dev/sda3, por cima do caracter 3 faz-se r1 para substituir o carater por 1)

:wq

shutdown -h now


(remover o live system)

Done!

Em user colocamos root

Agora temos que criar um user normal:

useradd operador
passwd operador


A partir de agora... é conhecer o pacman para instalar tudo o que precisamos.

São milhares de pacotes à disposição que fazem do Arch o sistema completo para o que necessitamos.

Depois da instalação...

Depois de todos estes passos, verifiquei que o sistema não estava a conetar à internet e dois pacotes seriam úteis.

Como não tinha acesso à net para instalar pacotes, voltei ao live system para fazer:

loadkeys pt-latin9
mount -t ext4 /dev/sda1 /mnt
arch-chroot /mnt

pacman -S dialog

pacman -S net-tools
exit

reboot

Isto é mais um exemplo de como nunca ficamos prisioneiros do sistema! Temos sempre a versão live que serve de emergência.


Sem comentários:

Enviar um comentário