Recentemente passei a usar Funtoo a sério e estou gostando muito da experiência. Esse artigo é para ajudar pessoas que também querem usar Funtoo, mas
precisam de um incentivo. Deixarei neste artigo algumas simples informações, minha experiência, e tentarei esclarecer algumas das dúvidas que eu tinha antes
de
começar a usar Funtoo. Pode ser que algum usuário curioso com Funtoo tenha as mesmas dúvidas que eu tive. Vamos lá.
Gentoo, provavelmente, é a distribuição de compilação (source-based) mais famosa que existe. A distribuição Funtoo é um "Gentoo melhorado", tanto Funtoo
como
Gentoo foram criadas pela mesma pessoa: Daniel Robbins.
Devido ao seu nível de exigência por parte do usuário, a distribuição Funtoo pode assustar usuários novatos em
GNU/Linux (mas em alguns casos pode
despertar
interesse).
Há alguns anos, antes de eu começar a usar o GNU/Linux, um colega me falou sobre a distribuição Gentoo. Ele disse que era uma distribuição muito boa e do
jeito
que ele falava, parecia ser a melhor. Mas esse meu colega também disse que eu deveria começar a conhecer o GNU/Linux usando Ubuntu, que era mais fácil.
Quando comecei a usar GNU/Linux, há uns 7 anos (mais ou menos) eu tive dificuldade e dúvidas até durante o processo de instalação do Ubuntu (sim, aquele
amigável instalador, para mim, era algo novo, desconhecido). Depois testei outras distribuições e passei a admirar muito Slackware e Arch Linux.
Mas eu queria, um dia, poder usar Gentoo, pois sempre ouvi dizer que era uma das melhores distribuições. Eu tinha muita curiosidade. Mas ante de usar Gentoo,
passei a admirar muito as seguintes distribuições binárias: Slackware, Debian, Fedora, Arch Linux, Ubuntu (apesar de não gostar do ambiente padrão) e Linux Mint.
Cada uma por motivos diferentes. Hoje eu compreendo que Linux é tão somente o kernel, e escolher distribuição é apenas uma questão de gosto pessoal.
Quando fiquei sabendo que o criador do Gentoo deixou o projeto e passou a se dedicar a um outro, chamado Funtoo, eu perdi um pouco a vontade de usar Gentoo
e
fiquei mais curioso sobre usar Funtoo. Nesse meio tempo eu já havia instalado Gentoo, mas não havia usado "pra valer", pois diante das primeiras dificuldades,
após
instalar o ambiente GNOME, eu desisti. Deixei essa história de usar distribuição de compilação para lá, por um tempo. Até que um dia, com mais paciência,
resolvi
tentar novamente, dessa vez Funtoo, e passei a usá-lo.
Agora algumas dúvidas que eu tinha antes de usar Funtoo e minha opinião atual sobre elas.
1. Vale a pena todo o trabalho e demora em busca de uma, tão falada, otimização do sistema?
Eu sempre achei que não, pois não percebia diferenças de desempenho entre, por exemplo, Slackware e Funtoo ou Ubuntu e Funtoo na realização de tarefas
rotineiras. Sempre pensei que a diferença só seria perceptível em computadores parrudos.
Mas recentemente realizei uma tarefa que usa muito processamento no meu modesto notebook: gravar imagem e som com o aplicativo SimpleScreenRecorder.
O que é que acontece? Na distribuição Debian, se eu iniciar a gravação, tudo fica um pouco mais lento, a exibição de vídeos, a execução de programas, etc.,
ficam
meio "travados". No Funtoo, com o mesmo hardware, eu gravo em HD sem travamentos executando as mesmas tarefas.
Então concluí que o desempenho, devido a otimização do sistema, pode ser perceptível sim, em ALGUNS casos. Agora, se isso vale o trabalho... depende muito
do
usuário. Antes eu achava que não valia a pena, mas hoje eu já acho que sim, mas também sei que esse ganho de desempenho é, na maioria das vezes,
imperceptível.
Um usuário daqui do VOL,
albfneto, que usa Gentoo há muitos anos, e tem computadores melhores do que a
média, é
usuário experiente de Linux, já disse que a distribuição Arch Linux é quase tão rápida quando Gentoo. Isso significa que, com base na experiência dele, a otimização
é
perceptível também.
Não creio, porém, que seja esse motivo (a otimização do sistema), o maior argumento a favor do uso do Funtoo. Mais importante que isso eu considero a diversão
do
processo de configurá-lo e usá-lo. Alguns podem chamar isso de masoquismo (rsrs) mas eu vejo como um hobby.
Na própria página do Funtoo, o seu criador diz que o principal motivo para alguém usar uma distribuição de compilação, como Funtoo, é a experiência de uso,
muitas
vezes apreciada por entusiastas. Se esse não for o seu caso, não tem problema em continuar a usar uma distribuição binária comum que faz exatamente o que
você
quer.
2. Por que a instalação do Funtoo é tão complicada?
O processo de instalação do Funtoo pode assustar mesmo, já que não tem imagens, nem botão de instalação, nem CD de instalação! É preciso usar um CD de
outra
distribuição, ou uma distribuição previamente instalada em outro lugar, para poder instalar Funtoo.
Mas será que é mesmo difícil? Eu achei que era, anos antes, mas isso foi quando eu tentei instalar Gentoo pela primeira vez e tinha menos familiaridade com o
terminal do que tenho hoje. Atualmente vejo que a instalação do Funtoo é muito simples. O processo é trabalhoso, no sentido de ser "manual", mas é simples.
Veja, por exemplo, durante a instalação do Slackware, há um script que é executado perguntando coisas como o tipo de teclado, etc., tudo isso "esconde", sob
uma
fina camada, alguns simples comandos que, de tão simples, pode nos fazer questionar se seria realmente necessário um script para executá-los.
Em determinado momento o script de instalação do Slackware automaticamente encontra a partição swap e a ativa. Mas o que script faz é nada mais, nada menos,
que executar os comandos mkswap e swapon. Se você mesmo tivesse que digitar esses comandos, não seria nada complicado, só seria mais manual.
Principalmente em distribuições fáceis de instalar, como Ubuntu, que possuem um instalador bonitinho, o que acontece na verdade é que o instalador só está
"escondendo" de você os comandos que você mesmo está executando.
Não nego a vantagem de um instalador. Não estou dizendo isso! Há ganho de tempo com um instalador, e o processo é, de longe, muito mais intuitivo. O que
eu
estou dizendo é que na ausência de um instalador, se alguém disser para você os comandos que precisam ser executados, o processo torna-se mais manual sim,
mas não é muito mais difícil.
Então, no caso do Funtoo, o que acontece é que você vai seguir um manual (o handbook) que diz quais comandos você deve executar. Apenas isso. Se tiver paciência,
prestar bem atenção e digitar os comandos corretamente, vai dar tudo certo com a instalação.
3. Terei que aprender a configurar o kernel?
Mais do que o processo de instalação do Funtoo, a ideia de "brincar" com o kernel pode afugentar muitos usuários. Se este for seu caso, tenho uma boa notícia para
você: para usar
Funtoo
você não precisa configurar o kernel manualmente. Inclusive, a opção recomendada pelo manual oficial do Funtoo, é o uso de um kernel pré-configurado, com
tudo
funcionando, disponível pelo gerenciador de pacotes, bastando seguir as instruções do manual.
Configurar kernel manualmente, normalmente é uma opção, independente da distribuição. O que acontece é que algumas distribuições de compilação (source-based)
obrigam o usuário a configurar o kernel manualmente durante a instalação, pois não disponibilizam outra opção para o usuário. Mas Funtoo não obriga o usuário
a
configurar o kernel.
Ainda sobre configuração de kernel, o importante é saber apenas o básico, como por exemplo habilitar o driver de rede, escolher a família do processador,
habilitar
suporte aos formatos de arquivos que você vai usar... Não creio que seja necessário compreender cada uma das várias centenas de opções do Kernel para torná-
lo
funcional. Muitas das opções do kernel, em suas descrições, dizem mais ou menos assim: "se não souber o que isso faz, configure assim". Isso já ajuda se você
for
configurar o seu "na mão".
Pessoalmente não vejo muita necessidade em se preocupar muito com a questão do kernel. Primeiro porque ele sempre poderá ser "enxugado" posteriormente,
aos
poucos, e segundo porque configurar um sistema de forma eficaz não precisa exatamente de muito requinte e perfeccionismo. Imagino que a maioria dos
usuários
não configura seu próprio kernel e vivem felizes.
4. Quanto tempo leva para deixar o Funtoo pronto para uso?
Isso depende de muitos fatores, como a familiaridade do usuário com o sistema, a configuração do computador, o ambiente gráfico escolhido, tempo disponível
para
tirar dúvidas em fóruns, etc. Como os programas são compilados na máquina do usuário, o poder de processamento tem uma grande influência no tempo de
configuração do sistema para deixá-lo pronto para uso. Por isso é difícil dizer em quanto tempo o Funtoo vai ficar pronto para uso. Mas seria usar um final de
semana
tranquilo para "meter a cara" na instalação e configuração do Funtoo.
Já ouvi de um usuário experiente que ele leva menos 24 horas, mas perto disso, para deixar o Gentoo com KDE pronto para uso, e, (apenas por curiosidade)
uma
semana para deixar o Linux From Scratch pronto para uso com ambiente Xfce. Demorado? Com certeza. Mas ter o sistema funcional após um trabalho duro é
muito
gratificante.
Olhe só a alegria de um usuário após instalar e configurar Gentoo (ou Funtoo):
5. O que são USE flags, como saber qual escolher?
O sistema do Funtoo possui um arquivo (o make.conf) que contém instruções globais (ou seja, para todos os programas) com diretrizes sobre o que "ligar" ou
"desligar" em termos de funcionalidades no sistema. Exemplo: se eu não quero ter o ambiente KDE, posso desligar a flag "kde". Então qualquer pacote que
tiver
suporte opcional ao KDE, se for compilado, não terá mais esse suporte. O compilador (GCC) não irá preparar o programa para suportar o KDE,
consequentemente
esse programa não terá suporte a uma coisa inútil, já que eu decidi não instalar o KDE. Isso também evita que um pacote "puxe" outras dependências inúteis, que
eu
nunca pretendo usar.
Claro que o ponto fraco disso é que podem surgir conflitos diversos entre pacotes, pois alguns exigem uma determinada flag ou então outros exigem que se
tenha
uma de duas opções, etc. Aí entra em cena a habilidade e experiência do usuário, e a atenção às mensagens do gerenciador de pacotes para saber lidar com
esses
conflitos.
Conceitualmente isso é fácil de entender. Mas a minha maior dúvida era a prática. Como saber o que colocar no arquivo make.conf, para habilitar e desabilitar?
Há uma lista com todas as flags que pode ser consultada em:
Eu teria que ler esse arquivo toda vez antes de instalar um programa novo, para ajustar as flags? E depois eu teria que recompilar o sistema inteiro para poder
ajustá-lo? Acho que essas foram as minhas maiores dúvidas quando comecei a usar Gentoo e Funtoo.
Por fim eu aprendi que há, basicamente, três formas de usar as flags.
Uma forma, a mais fácil, é baixar um arquivo make.conf já pronto e configurado, dar uma ajustada se necessário, e usá-lo. Com o tempo, pode ir enxugando o
arquivo, removendo o excesso de flags.
A segunda forma é não usar flags no arquivo make.conf de imediato (talvez só umas poucas que o usuário já conhece), deixar isso sob responsabilidade do
perfil
(profile, escolhido pelo usuário) e esperar o gerenciador de pacotes pedir as flags, depois disso decidir se aquela flag solicitada deve ir para o make.conf ou para
o
package.use (que, ao contrário do make.conf, especifica flags para pacotes específicos).
A terceira forma é uma combinação das duas anteriores.
Atualmente eu estou preferindo a segunda forma. Acho melhor dar ênfase em USE flags locais e não globais. Sobre ter que recompilar o sistema após alterar
uma
USE flag, seja flag global ou local. Só é necessário recompilar o sistema inteiro apenas quando isso for, bem... necessário (=P), indicado pelo gerenciador de
pacotes, por exemplo durante uma atualização ou para resolver uma dependência.
E na prática? Na prática, tudo isso sobre USE flags é resolvido da seguinte forma: lendo com atenção as saídas do gerenciador de pacotes para ter uma ideia do
que
fazer, pesquisando em fóruns e wikis. Só sendo um tipo de guru do GNU/Linux, ou um usuário muito experiente, para não precisar recorrer à documentação.
Trabalhoso? Sim, mas se você busca esse nível de interação com o sistema, pode achar até divertido. Talvez seja por isso que alguns dizem que usuários de
Funtoo
são masoquistas.
6. Parece complicado o fato de existir tantos arquivos de configuração no Portage (gerenciador de pacotes). Para que servem?
No tópico anterior eu falei sobre USE flags, que é um item do arquivo make.conf, mas há vários outros itens nesse arquivo. Além disso, ainda existem outros
arquivos no Funtoo como: package.use, package.mask, package.unmask, package.accept_keywords.
Esses arquivos são essenciais para que o gerenciador de pacotes funcione e atenda as necessidades do usuário. Em resumo: o "package.use" serve para
definir
USE flags para programas específicos; o "package.mask" serve para evitar que os pacotes especificados nele sejam instalados; o "package.unmask" serve
para
permitir a instalação de programas que estão "mascarados" (bloqueados automaticamente, por terem risco de quebrar o sistema); e o "package.accept_keywords"
serve para
especificar se determinado programa será usado em sua forma estável ou instável.
Para finalizar o artigo veja a próxima página.