sexta-feira, 16 de abril de 2010

O meu "jeito Arch"

Em Maio desse ano, completarei 3 anos como usuário Arch Linux. Embora nesse meio tempo eu tenha tentado utilizar outras distribuições Linux, invariavelmente voltei ao Arch (e talvez só o trocaria pelo Gentoo). Por quê?

1. Simplicidade e transparência

O sistema todo é estruturado de forma bastante transparente, com a configuração centralizada em alguns arquivos no /etc. Interfaces gráficas para a configuração (shaman, Arch Assistant etc...) estão disponíveis aos interessados, mas não são obrigatórias para o uso do sistema.

Os arquivos de configuração são altamente comentados e usam uma sintaxe bastante clara (nada de XML para cá e para lá, como vemos em algumas outras distros). É o complexity without complication, conceito também definido na Arch Way.

Contrastar com algumas distros quais TUDO é realizado a partir de um painel de controle central (o que, por si só, contraria a Arch Way), e os arquivos de configuração muitas vezes são tão obscuros a ponto de fazer a pessoa que está configurando desistir.

2. Modelo de empacotamento

Pacotes podem ser gerados facilmente a partir de um arquivo PKGBUILD. Posteriormente, eles podem ser enviados para o AUR, repositório mantidos pela comunidade e que é alimentado por uma seleção baseada no feedback e nas demandas da comunidade: pacotes bastante votados entram para o [community], já aqueles que atendem um nicho (jogos, plug-ins para o GIMP, bibliotecas para a linguagem Haskell, drivers para hardwares exóticos etc...) continuam disponíveis aos interessados.

Recompilar um pacote com opções personalizadas (por exemplo, adicionando um patch ou mudando flags) também é prontamente feito a partir do ABS (Arch Build System).

Não existem pacotes -devel ou -doc como em outras distribuições, um pacote como o do GTK já incluirá toda a bateria de ferramentas necessárias para compilações. Evidentemente, isso é uma péssima ideia para usuários de conexões lentas ou de sistemas com pouco espaço em disco, mas eles certamente não são o público mais adequado para o Arch.

Não existe o conceito de meta-pacote (pacote que não contém arquivos, mas sim depende de outros pacotes e, portanto, os traz quando da sua instalação). Lembro de, nos Ubuntu antigos, haver um ubuntu-desktop que dependia de TUDO. Se eu quisesse remover o Evolution (que eu não usava), eu era praticamente obrigado a quebrar o sistema.

3. Comunidade

Tem uma relação sinal-ruído ótima; a Wiki do Arch também é bastante completa (embora às vezes esteja defasada). A participação dos usuários é encorajada de forma simples, o exemplo mais claro é o AUR, no qual vemos a importância da cultura do it yourself para o Arch.

Comparar com distribuições que criam todo um formalismo ao redor do processo de empacotamento ou de sugestão de patches ou melhorias.

4. Rolling Release

Não é preciso esperar sair uma versão nova da distro para ter um kernel novo ou a última versão de cada pacote. Não existe o conceito de um dist-upgrade como nas derivadas do Debian (um pacman -Syu basta), e uma mesma instalação pode durar anos.

Também, a necessidade de forçar a instalação de um pacote (sobrescrevendo arquivos já existentes) é rara (exceto, é claro, em atualizações mais radicais, como uma versão nova do KDE, ou quando uma máquina fica meses sem ser atualizada).

Evidentemente, esta característica torna o Arch inadequado para servidores de aplicações críticas ou máquinas cuja conexão com a Internet seja inexistente ou limitada (por exemplo, conexão discada).

Comparar com distros que confundem estabilidade com antiguidade. Ao menos em desktop, se a versão 2.0 de um programa está disponível oficialmente (ou seja, não compilada de GIT/SVN/CVS etc...), faz sentido empacotar uma versão anterior?

5. Desempenho

Na prática, notei que o Arch foi uma das distros mais rápidas na inicialização (inicia em menos de 20 segundos com diversos serviços ligados), e o Pacman também é um dos gerenciadores de pacotes mais rápidos. Claro que isso não é um benchmark formal, apenas baseado em observações práticas. Provavelmente isso se deve à simplicidade do seu processo de inicialização.

6. User-Centric.

O Arch é feito de geeks para geeks, de e para pessoas que têm condições e conhecimento para administrar seu próprio sistema. Como já afirmado no item 1, não há "wizards" ou interfaces gráficas para operações de sistema.

As outras distribuições que eu testei falhavam, principalmente, nos aspectos 1, 3 (não acho que seja adequado esperar uma versão nova da distro, ou ter que catar repositórios alternativos, para que eu possa ter um Firefox 3.6 ou um Wine sempre na versão mais atualizada - algo crucial para uma ferramenta em rápida evolução) e 6 (não considero que eu tenha necessidade de um next-next-finish).

Não serei eu que irei convencer alguém a usá-lo, até porque considero que, se uma pessoa precisa ser convencida ou forçada a usar ele, o Arch não é a distro mais adequada. Mas provavelmente recomendaria-o a todos aqueles que querem abandonar a condição de "end-user", um mero passageiro, para se tornarem verdadeiros pilotos dos seus sistemas Linux.