Obs.: eu estava digitando esse texto para enviar no fórum, na sessão de debates, mas acabou ficando muito extenso e eu resolvi transformá-lo em artigo.
Gostaria de compartilhar um pouco dos pensamentos que estou tendo sobre a distribuição
Gentoo. Por favor, discorde, concorde, comente. Mas sem brigas, hein! "Papo de bar" XD
Após um pouco de tempo usando a distribuição Gentoo, estou mais confiante para falar sobre ela.
Eu achava Gentoo uma distro fantástica, principalmente em computadores ANTIGOS. Porque, apesar de demorar MUITO para compilar as coisas em um computador antigo, aparentemente o Gentoo consegue extrair o melhor desempenho deles. Em computadores mais novos, no entanto, a diferença é nula.
Obs.: se você pensa diferente, por favor comente. Essa é a impressão que eu estou tendo.
De uns dias para cá, eu passei a me questionar sobre o uso do
Gentoo Linux. Algumas das coisas que me atraíram para o Gentoo não parecem mais fazer sentido. Vou explicar.
0. Documentação: sim, Gentoo tem uma excelente documentação wiki. Mas tirando o fato de que grande parte da wiki serve para resolver problemas específicos do Gentoo, qualquer pessoa pode usufruir da wiki do Gentoo ou do Arch, mesmo usando outra distribuição. Não precisa escolher o Gentoo pela wiki!
1. Aprendizado: dizem que você aprende bastante sobre Linux com o uso do Gentoo, inclusive com a instalação. Será mesmo? Talvez isso não seja realmente verdade! Se você for um usuário novato em Linux, certamente vai ficar encantado com os comandos que precisará executar para instalar Gentoo. Mas para um novato, TUDO é aprendizado! Até um
mount! Se um novato nunca ouviu falar em
chroot, vai aprender o que é na prática. No entanto, Esse tipo de aprendizado ainda é muito básico e bastaria LER um pouco a respeito para entender. Nem precisaria instalar Gentoo. Essa impressão de que "aprende mais instalando Gentoo", talvez seja porque o usuário leigo, digamos assim, nunca teve que usar tanto o terminal e acabou deslumbrado quando se deparou com o handbook do Gentoo.
É FALSO acreditar que você se torna um usuário avançado usando Gentoo. Isso depende do usuário, não da distribuição. Por isso o professor
Kretcheu (só para dar um exemplo), já era usuário avançado desde a época que usava Ubuntu.
Além disso, MUITA coisa que você aprende no Gentoo serve APENAS para o próprio Gentoo. São ferramentas do Gentoo, não do Linux! Por exemplo: eix, equery, profile, sets, arquivos env, flaggie, dispatch-conf, eselect, mascarar pacotes, variáveis de "make.conf" etc. Em outras palavras, "dominar" o Gentoo não te deixa mais capaz no Linux em geral, mas te deixa acostumado com ferramentas que não fariam sentido em outras distribuições.
2. Desempenho: agora que estou com um computador mais novo, o fator desempenho é insignificante. Usando Gentoo, Debian ou Arch, a experiência é igual. Em nenhuma delas tenho problemas com travamentos e lentidão (exceto no GNOME, mas isso é outro assunto). Em todas elas, todos os programas abrem virtualmente de forma instantânea. Nesse caso, o uso do Gentoo se torna apenas um "complicador", porque demora um pouco mais para instalar do que nas outras distribuições e ainda pode exigir ajustes de flags, que pode custar mais de uma tentativa de instalar o mesmo programa.
Já vi usuário experiente (guru, hehehe) de Gentoo dizendo que não usa Gentoo pelo desempenho, e sim pela flexibilidade e controle. O fator desempenho era totalmente descartável para ele. Imagino também que ele usa Gentoo por outro motivo: DIVERSÃO. Não é um motivo prático, mas ele existe. O próprio criador do Gentoo disse:
"Usar uma distribuição Linux baseada em código-fonte como o Funtoo [ou Gentoo] Linux pode ser comparado a dirigir um carro esportivo exótico. É uma experiência apreciada por profissionais e entusiastas de tecnologia porque simplesmente oferece uma experiência mais direta e envolvente com a tecnologia subjacente. Você pode levar a tecnologia ainda mais longe. Você tem mais controle. É mais satisfatório. Se você não está procurando por algo "especial", há uma série de distribuições Linux binárias para escolher. Elas o levarão do ponto A ao ponto B. Você não se divertirá tanto ou estará tão conectado com o que está acontecendo, nem terá tanto controle, mas talvez não seja isso o que você está procurando."
Resumindo este ponto: não é o desempenho, mas a satisfação pessoal, que atrai usuários experientes ao Gentoo.
3. Kernel compilado: você pode compilar o seu próprio kernel em QUALQUER distribuição. Não precisa Gentoo para isso. E tem mais: Gentoo "evoluiu" e não obriga você a compilar o kernel. Você pode simplesmente instalar o kernel BINÁRIO como no Arch ou Debian. O criador do Gentoo, inclusive, quando criou a distribuição Funtoo, incluiu o kernel binário do Debian para ajudar quem não precisa compilar o próprio kernel.
Além disso, compilar o próprio kernel tem algumas DESVANTAGENS práticas. Por exemplo: se você esquecer algum módulo ou se fizer algo errado, o kernel vai falhar em iniciar ou não vai reconhecer um dispositivo, como um pendrive ou controle de vídeo game! Aí você vai ter que perder outros tantos minutos (ou até uma hora) compilando tudo de novo para corrigir o problema.
OK, eu admito que bater no peito e falar "compilei meu próprio kernel" pode ser satisfatório, é "mais gostoso", mas em termos PRÁTICOS, me parece uma desvantagem. O único caso prático que imagino, onde compilar o kernel seja vantajoso, é para fazer algo funcionar, que não está funcionando com o kernel binário. E se você quiser aprender, instala uma distro em outra partição e fica brincando de compilar kernel.
4. Quantidade de programas: Gentoo não tem tantos programas nos repositórios como o Debian e o Arch. Mesmo se você incluir os
overlays (que são um tipo de AUR do Gentoo), ainda assim, Gentoo fica para trás. Já vi usuário de Gentoo dizendo "o Gentoo supre 98% do que eu preciso, e quase nunca preciso criar um ebuild". Beleza! Mas no Debian e no Arch as chances de você ter o que precisa são de 99,9999%!
Por exemplo, eu queria um programa que não tinha para Gentoo, então o que eu fiz? Após um pouco de pesquisa consegui criar um "ebuild" para ele. E desde a pesquisa até a publicação do ebuild no site do overlay, levou uns dois ou três dias. Se eu estivesse no Arch, teria resolvido essa carência em segundos. Também já li relato de usuário Gentoo que instalou um Arch em
chroot só para obter programas que não encontrava no Gentoo. Qual é o ponto? Não seria melhor ter instalado Arch de uma vez? Fica parecendo que só está com o Gentoo para poder dizer "eu uso Gentoo, btw".
5. Programas antigos: não que isso seja um problema real. Mas Gentoo estável (me parece) se aproxima de um Debian. Os pacotes são um pouco "desatualizados". Se você quiser usar pacotes mais novos, pode modificar o "make.conf" e adicionar "~amd64" (por exemplo) e assim o sistema vai baixar pacotes considerados de teste, mais novos. Mas já vi pessoas que tiveram problemas com isso! Ou seja, o sistema pode ficar instável. Não é recomendado.
Também já vi usuário dizendo que só usa pacotes de teste e NUNCA teve problema, tem um sistema mais estável que o Debian estável! Mas tem um detalhe: esse era um usuário técnico, fazendo mestrado na área de TI, estudando sobre compilação e o sistema dele era minúsculo (praticamente só tinha o Firefox e Sway). O caso seria totalmente diferente se fosse um usuário comum, com o KDE Plasma inteiro. Então, se você quiser ter acesso a pacotes mais novinhos, talvez Gentoo não seja a melhor opção.
6. Não é o único sistema: pescando comentários aqui e ali acabei percebendo que, talvez, eu estivesse fazendo algo errado. Hehehe.. =P - vou explicar: quando eu decidi usar Gentoo, decidi usar ele FULL TIME, direto. Sem opções para me salvar, sem alternativas. Se eu esbarrasse com um problema, teria que me virar para corrigir. Por outro lado, alguns usuários de Gentoo deixaram "escapar" coisas como... dizer que tem Gentoo em "dualboot" com Windows, ou que tem o Arch em outro computador, ou que foi forçado a usar outra distro diferente do Gentoo no trabalho, pois Gentoo demora demais! Aí é fácil dizer que é um "Gentoo user", pois quando a coisa aperta, o cara corre para uma alternativa!
Veja só um exemplo: uma pessoa tem Gentoo instalado com o gerenciador de janelas DWM, uma linda área de trabalho Geek, digna de
unixporn, mas ele só usa Gentoo para praticamente três coisas: navegar, ouvir música e usar Telegram. Todo o resto, como trabalhar e jogar, e até ver Netflix, ele faz no Windows! É quase como se usasse o Gentoo só para ostentar, só para dizer que usa. Sendo assim, esse fato pesou contra o Gentoo, na minha opinião, em termos de praticidade.
7. Tem muitas soluções, mas para problemas que só existem nele: Gentoo tem várias ferramentas, excelentes, mas é como se você tivesse um kit de chaves especiais que só funcionam para os parafusos de UM dispositivo específico. São inúteis para remover parafusos comuns. Vou exemplificar: compilar pacotes em um SSD pode ser ruim para a vida útil do disco. Mas, ei! Há uma solução para isso! Você pode mudar o diretório de compilação para a memória RAM ou conectar um HD convencional só para isso. Assim, você pode poupar o seu SSD. Só precisa comprar... uns 32Gb de RAM. É, acho que vai dar! Sim, eu fiz isso... Comprei 32GB de RAM só para compilar coisas na RAM e poupar o SSD.
E de fato foi bem útil, pois eu já vi o consumo de RAM ultrapassar 20GB.
Por um tempo essa solução foi boa até que... O computador travou por OOM! E eu fiquei "Como assim? 32GB de RAM não basta?!". Aparentemente não, se você tem um processador com 16 threads. O programa "qtwebengine" com a flag "jumbo-build" exige MUITA memória RAM. Ah, mas estamos falando de Gentoo, um sistema flexível! Você com certeza tem uma solução para isso, só precisa criar um arquivo de configuração alternativo ESPECIFICAMENTE para o "qtwebengine", e avisar ao sistema que ESSE programa não deve ser compilado na RAM, tudo bem. Só que ele vai demorar, no meu computador, mais de UMA HORA para ser compilado! E já vi gente falando que ele leva umas 8 HORAS, e gente dizendo até que levou quase TRÊS DIAS!!! Para um ÚNICO software, que é dependência de outro programa!
Aí você resolve fazer diferente, para ganhar tempo, e cria um arquivo ".env" não para compilar aquele programa no disco, mas para reduzir o número de processos em paralelo somente para aquele programa específico, pois cada "job" usa 1,5~2GB de RAM, e você não quer usar o SSD para compilar e nem quer ficar sem memória RAM. Pois é, apesar de ter 32GB de RAM, a falta de memória RAM ainda se tornar uma preocupação se você usa Gentoo! (no momento em que esse texto está sendo escrito, 32GB de RAM pode ser considerado muita RAM).
Outra alternativa seria criar um arquivo SWAP grande, temporariamente, mas usaria o disco de todo jeito, por isso descartei essa ideia e preferi reduzir os processos em paralelo. E esse foi um caso real recente pelo qual passei. Há outros casos também, mas são menos graves, como por exemplo: se o arquivo world estiver muito cheio de dependências, isso pode causar problemas. Mas a wiki do Gentoo tem a solução! Um script que detecta quais programas podem ou não ficar no arquivo world, só uma observação, diz a wiki: não confie no resultado do script! Pois você pode danificar o sistema! Esse é mais um caso de "poder" e "flexibilidade", mas para sanar problemas que só existem no Gentoo.
Conclusão
Concluindo, para não me alongar mais, Gentoo é flexível, dá controle ao usuário, é uma experiência muito boa e apreciável. Porém, é como um carro esportivo de colecionador, você tem, até dirige de vez em quando, mas não usa ele para ir ao trabalho todos os dias, ou para fazer compras. Usa por prazer e para ostentar.
Talvez eu mude de opinião, claro. Mas é como estou vendo agora. Por isso estou pensando em migrar para o Debian ou para o Arch. O que você acha?
Vou deixar aqui uns textos para enriquecer o debate: