Conhecendo o Gentoo Linux

Nessa análise, não pretendo me aprofundar muito no funcionamento do sistema, apenas o suficiente para servir como um guia para os curiosos que possam estar interessados em um desafio a mais, ou apenas em conhecer essa
grande distribuição.

Sobre o Gentoo

O Gentoo foi inicialmente criado sob o nome Enoch Linux por Daniel Robbins. Seu objetivo era apresentar um sistema otimizado ao hardware, compilado do fonte e que apenas incluísse programas essenciais.

A fama do Gentoo surgiu, curiosamente, devido à alguns problemas de compilação do GNU Compiler Collection (gcc). Por conta desses problemas, Daniel e outros contribuidores começaram a testar vários forks do gcc, até achar com o qual era possível obter
entre 10% a 200% de aumento de velocidade em comparação com o gcc ‘oficial’. Foi assim que que o Enoch ganhou fama pela sua grande velocidade, e seu nome foi trocado para Gentoo (o Gentoo é a espécie mais rápida de pingüins). Na versão 2.95 do gcc, essas
otimizações foram inseridas no código, e a velocidade deixou de ser característica apenas do Gentoo.

Depois de problemas com um bug, Daniel passou algum tempo usando o FreeBSD, onde se familiarizou com o sistema de Ports, o que o animou a criar o Portage, o gerenciador de pacotes usado no Gentoo.

O Gerenciador de Pacotes: Portage

E esse é o segredo do Gentoo, seu gerenciador de pacotes. O Portage é escrito usando apenas Bash e Python, o que o torna acessível à um número maior de pessoas. Ele se baseia em uma árvore de pacotes, que é uma coleção de pequenos scripts, chamados
ebuilds, que dizem ao Portage o que fazer. Isso inclui instruções para download, dependências e compilação. Sim, compilação. O Gentoo, ao invés de usar binários pré-fabricados, utiliza o código-fonte.

Ao contrário de outras distribuições, o Gentoo não precisa de mirrors para hospedar seus programas. Ele hospeda os ebuilds, que se encarregam de baixar o código-fonte do programa diretamente de seu site oficial. Além disso, é fácil para qualquer um com
conhecimento em Python e Shell criar seu ebuild para algum programa que porventura não esteja na árvore do Gentoo. Essa combinação é perfeita, tanto para o usuário quanto para os mantenedores: não há problemas comuns de outras distros com sources.list,
por exemplo. Para atualizar a árvore de pacotes, basta o comando:

emerge –sync

Esse comando baixará os pequenos ebuilds para o disco rígido. A partir desse momento, qualquer programa que conte com uma ebuild pode ser instalado por um simples:

emerge programa

A partir daí o Portage encarrega-se de todo o trabalho, baixando, compilando e instalando o programa automaticamente. Uma mínima desvantagem desse método é que, com o tempo, você vai ver que seu HD está cheio com as tarballs baixadas. Para contornar isso,
um simples rm -f /usr/portage/distfiles/* semanalmente (boa hora para usar o crontab) é mais do que suficiente.

Também, essa forma de lidar com os programas permite um grande números de programas disponíveis. Checando o site oficial do Gentoo, há a informação que já passou dos 10000 pacotes.

O Portage também permite que os programas sejam compilados com várias otimizações para seu hardware, deixando-os muito mais rápidos. Isso é feito utilizando-se flags, que dizem ao compilador que otimizações fazer. Isso pode ser feito em qualquer sistema.
A diferença é que o Gentoo incorpora isso no sistema inteiro como padrão.

Além disso, você pode desabilitar várias opções que não usaria, como por exemplo, o suporte ao protocolo Gadu no Pidgin, deixando o programa menor e mais enxuto

Esse controle é feito com o uso de variáveis de USE, que são variáveis do sistema utilizadas pelos scripts de instalação. Ela indica o que deve ser incluído e o que deve ser deixado de lado.

Essas variáveis podem ser definidas para o sistema inteiro ou apenas para programas individuais. Assim, eu posso definir que qualquer programa com suporte ao KDE deve ser instalado com o tal, mas também posso habilitar o suporte ao Theora apenas para o
mplayer.

Essas variáveis são definidas no arquivo /etc/make.conf, que contém, além das variáveis de USE, outras variáveis, como as de otimização de compilação, ou de LINGUAS ou mesmo VIDEO_CARDS (esse último é usado, por exemplo, no mplayer e na instalação do
X.org). Com isso, você tem um controle extremo sobre o seu sistema

Infelizmente, a otimização tem seu preço. e nesse caso é o tempo. Instalar um sistema Gentoo leva em média uns 2 dias, pois todos os componentes e programas precisam ser baixados e compilados. Além disso, sempre que quiser instalar um programa novo, ele
terá de ser compilado. Raramente isso levará mais de meia-hora, mas em alguns casos, como o Firefox, o Xorg e o Openoffice.org, o processo de compilação pode levar várias horas, até um dia inteiro, dependendo da sua máquina. Felizmente, alguns desses
programas já contam com binários pré-compilados para conveniência do usuário (o OpenOffice.org é um exemplo).

Além do Portage, temos que considerar que a curva de aprendizagem é mais longa que a de outros sistemas, pois você tem que instalar componente por componente, e muitas vezes configurá-los manualmente (fstab é um exemplo). Em contra-partida, por causa
disso, o Gentoo é uma das distros melhor documentadas que existem, além de que o seu fórum é bem ativo e conseguir respostas lá é uma tarefa relativamente fácil (inclusive, há uma seção para falantes do português, lá).

Conclusão

Então, chegamos ao ponto mais importante, devo usar o Gentoo?

O Gentoo com certeza cai como uma luva para usuários Linux entusiastas (preferencialmente que já tenham bastante familiaridade com o Linux), que podem usá-lo para descobrir os maiores segredos do Linux, seu funcionamento, desbravar os campos elíseos do
kernel e aventurar-se pelas trevas do iptables 🙂 Esses terão tempo e disposição de tratar sua distro com o maior carinho, selecionar seus programas, testar, brincar e fazer tudo mais.

Agora, aonde o Gentoo não é uma idéia tão boa? Ambiente corporativo, obviamente. Pelo simples motivo de que não se pode dar ao luxo de parar uma máquina durante um dia inteiro para um simples update. Existe um sistema de compilação compartilhada, aonde
uma máquina faz o trabalho para uma outra dentro da rede local, mas, mesmo assim, deixar uma máquina apenas para atualizar outros componentes é jogar recursos fora, nesse cenário.

Tirando o ambiente corporativo, o Gentoo também pode não ser uma boa idéia quando seu objetivo é ter um sistema rápido e pronto. Instalar o Gentoo demanda bastante investimento. Poderia dizer que o Gentoo é como um cão, que precisa ser adestrado. No
começo, é um tanto lento e trabalhoso, mas depois de feito, você tem pouco trabalho em conviver com ele (a qualidade da comparação é discutível, eu sei).

O que podemos concluir? O Gentoo pode se mostrar como a melhor distro que você já usou, ou pode ser a maior perda de tempo da sua vida. Tudo depende de você e do contexto em que o sistema vai ser usado.

Autor: Satoshi Hayazaki

Postado por
Siga em:
Compartilhe
Deixe seu comentário
Veja também
Publicações Relacionadas
Img de rastreio
Localize algo no site!