terça-feira, 21 de dezembro de 2010

Testamos o GNU/Hurd... ou quase isso

Como todos sabem (ou não), o GNU/Hurd é o kernel do sistema operacional 100% livre do projeto GNU cujo desenvolvimento começou em 1990 e não foi concluído até hoje. A principal razão para o atraso é que, durante o ciclo de desenvolvimento, surgiu um finlandês chamado Linus Torvalds que criou um kernel chamado Linux o qual podia rodar os utilitários GNU e o Hurd foi sendo deixado pra escanteio. Neste post, vamos ver como ele é... ou quase isso.

A distribuição Hurd


Assim como existem inúmeras distribuições GNU/Linux, também existem algumas distribuições GNU/Hurd. como o Debian GNU/Hurd ou o Arch Hurd. No entanto, essas distribuições tem a cara e o jeito de suas contrapartes Linux e eu queria um Hurd puro. Assim, ao pesquisar no artigo em Inglês da Wikipedia sobre o Hurd, eu vi este screenshot e fui levado ao site superunprivileged.org que, segundo seus fundadores, é uma página de advocacia Hurd. O site contém um link para baixar um live-cd , disponível em duas versões: uma de 5 MB, que possui um sistema mínimo e uma imagem completa, de 74MB (após descomprimida, a imagem passa a ter 253 megas). É tipo um Hurd From Scratch, ideal para meu propósito: conhecer o sistema como ele é.

Após fazer o download da imagem de 74 megas, veio a primeira surpresa desagradável: o nome do arquivo é hurd-live-cd-20051117.iso, o que indica que a "mais recente" versão do sistema disponibilizada por eles foi feita há meia década atrás.

facepalm

Com a cagada já feita, decidi testar a distribuição assim mesmo no VirtualBox e ver no que dá.

A estrutura do live-cd


Como eu já havia imaginado, ao contrário das distribuições GNU/Linux e assim como o Solaris e o BSD, a imagem do sistema não é comprimida no live-cd, sendo que este já apresenta a árvore completa de pastas do Hurd. Note que algumas pastas, como a lib, chegam a ter 328 itens.

Árvore de pastas do live-cd do GNU/Hurd

O Boot


Ao iniciar o live-cd, somos apresentados ao GRUB, que nos dá quatro opções de Boot: o GNU/Hurd em modo de multiusuário com rede e o GNU/Hurd em modo de usuário único, além das mesmas opções para sistemas que tenham 1GB de RAM ou mais. Como minha máquina virtual tinha 310MB de RAM, escolhi a primeira opção.

O processo de boot, ao menos visualmente, é praticamente idêntico ao de uma distribuição GNU/Linux em modo texto, sem nada surpreendente. O sistema apenas aparentemente travou em dois pontos, ao detectar algumas portas e ao detectar o hardware, mas pôde ser iniciado normalmente.

Ao contrário do Solaris, que nomeia os discos com um código indecifrável, a nomenclatura que o Hurd dá é muito similar àquela utilizada pelo Linux mas, ao invés de letras, ele utiliza números: o IDE Master, que no Linux é hda ou sda, no Hurd é hd0. Já as partições são precedidas por um s: a partição primária do HD da máquina virtual, que tem o Ubuntu 9.10 instalado, foi reconhecida como hd0s1 - e sim, o sistema detectou o sistema Linux nela.

O Sistema em si


O Hurd oferecido por este site é um live-cd em modo texto, isto é, sem interface gráfica (apesar de haver uma pasta X11 nele e o X não estar instalado). O login é feito em modo texto e tem um diferencial: a imagem de um GNU na tela, algo que eu nunca tinha visto similar em nenhuma distro Linux e nem sei se é possível fazer:

Tela de login do GNU/Hurd (não, eu não consegui tirar SS só da janela do VirtualBox)

Mal acostumado com o Linux, eu nem prestei atenção à mensagem que dizia "Use 'login USER' to login" e  fui tentar logo me logar com os usuários disponíveis: guest ou tutorial. O resultado foi esse:

login fail

Bem, como vocês já devem ter percebido, a shell do GNU/Hurd é o mesmo Bash presente na maioria das distribuições GNU/Linux. Algo que eu achei estranho é que, na mensagem de login, é dito que existem dois usuários: guest e tutorial. Eu pensava que, ao logar como tutorial, seria iniciado um tutorial interativo do sistema. Que nada! É a mesma coisa! Outro ponto é que a saída do comando uname -a traz "gnu 0.3" e não Hurd. Deve ser uma referência ao "utópico" sistema operacional GNU.

Entre os programas inclusos, não poderia deixar de estar presente o todo-poderoso emacs:

emacs: presença confirmada no GNU/Hurd

E seu arqui-inimigo, Vim que, estranhamente, é apresentado com uma tela azul. Seria uma mensagem subliminar?

vim

Problemas


Alguns pequenos detalhes chamaram a atenção ao utilizar o sistema. Primeiro, um problema com as cores: quando eu estava no Vim, eu errei a sintaxe do comando :w ao não colocar um nome de arquivo após o mesmo. Nisto, apareceu uma mensagem de erro em uma faixa vermelha na parte inferior da tela. Após sair do editor, o Bash ficou nesta faixa vermelha e, ao dar clear, a tela toda ficou vermelha! Isso acontece no Linux?

Outro problema foi com o navegador Links - ou www-browser -, onde ao abrí-lo ele carrega um documento HTML de boas-vindas no CD que, simplesmente, NÃO ESTÁ no CD.

Aliás, não sei se é porque o Hurd não tem códigos proprietários, mas apesar de ele ter encontrado a placa de rede, foi incapaz de obter um endereço IP via DHCP do VirtualBox, o qual estava corretamente configurado e, assim, não pude navegar na net. Além disso, nem o comando free nem o comando top foram encontrados e, pasmem, os comandos halt e shutdown também estão ausentes e eu não soube como desligar corretamente a máquina virtual. Também não sei qual gerenciador de pacotes estava instalado, se estava.

Conclusão


Talvez por ter sido por uma versão acidentalmente antiga, minha experiência inicial com o GNU/Hurd não foi das mais agradáveis. Aliás, como ele se baseia nos utilitários GNU, um ponto positivo de quem esteja migrando do Linux para o Hurd é que não será necessário reaprender os comandos básicos, sempre lembrando de que o Hurd ainda não tem uma versão estável e seu uso não é recomendado em ambientes de produção. Agora, vou tentar baixar o Debian GNU/Hurd ou o Arch Hurd para ver a evolução do sistema e tentar um comparativo de velocidade entre ele e o Linux.

Nenhum comentário:

Postar um comentário