Gentoo, uma distro sob medida

Sempre fui usuário de distros como Debian e Arch Linux, e nunca tinha tido vontade nem de pesquisar sobre Gentoo. Até que, em uma conversa com colegas sobre distros, fiquei curioso e decidi embarcar nessa aventura. Quero contar um pouco sobre o que é essa distro, como tem sido minha experiência utilizando a distro em um pouco menos de duas semanas, algumas possibilidades e porque acredito que vou ficar com ela por um bom tempo.

Para começar, o Gentoo se descreve como uma metadistribuição, e isso é crucial para entender sua essência. A diferença está no fato do sistema permitir que você não só instale pacotes pré-compilados (os binários), mas também construa, configure e personalize tudo “do zero” usando o Portage (gerenciador de pacotes). Em vez de oferecer um conjunto fixo de pacotes com opções limitadas, o Gentoo fornece um framework completo (ebuilds + Portage) que serve de base para criar distribuições customizadas, adaptadas a diferentes arquiteturas, perfis de uso e preferências de compilação.

Isso é outro nível de personalização. Lembro que o próprio canal Diolinux já comentou em alguns vídeos a dificuldade de analisar o Arch Linux por não ter um padrão pré-estabelecido (embora hoje isso tenha sido resolvido em partes com o archinstall). Já o Gentoo é impossível de ser analisado kkkk, porque ele pode ser literalmente o que você quiser. Quer um sistema sem suporte a 32 bits? Dá. Prefere usar OpenRC em vez de systemd? Dá. Deseja um sistema 100% Wayland (ou 100% X11)? Dá. Até trocar a glibc por musl é possível. Isso vai muito além de escolher entre GNOME ou Plasma via binários: no Gentoo, você pode até personalizar o código fonte desses ambientes. Você basicamente cria sua própria distro.
Tive um choque a primeira vez descobrindo a enormidade de coisas para escolher e mexer, mas admito que isso me motivou a querer descobrir mais sobre tudo que poderia fazer com isso.

Wiki

Um sistema que oferece controle tão granular precisa de uma documentação sólida. Na minha opinião, a Gentoo Wiki é a melhor do mundo Linux. Lá você não só aprende a instalar o Gentoo, mas também entende melhor como o Linux funciona. A wiki é didática e te prepara para tomar decisões — afinal, o Gentoo não decide nada por você. Ele sugere caminhos, mas espera que você assuma o controle e defina o rumo do seu sistema.

Rolling release sem dores de cabeça

Um problema que tive com Arch e outras rolling releases é a dificuldade de “congelar” versões específicas de software sem quebrar o sistema, algumas vezes você precisa “parar” e ter uma versão específica de software para determinada situação. No Arch, até dá para “pinar” um pacote, mas a documentação alerta que atualizações parciais não são suportadas e você estará “a sua sorte”. No Gentoo não preciso me preocupar com isso. Através de recursos como o mask, posso bloquear a atualização de pacotes específicos basicamente pelo tempo que precisar. Como quase tudo é compilado da fonte, você escolhe quais dependências entram no sistema, sem se preocupar com compatibilidade entre binários ou conflitos.

Um exemplo: sou usuário do KDE Plasma e sei que versões 6.x.0 costumam ser bugadas. No Gentoo, poderia “mascarar” o Plasma até sair a 6.x.1 sem stress.

Para completar o controle sobre suas atualizações, o Gentoo oferece um controle refinado sobre a estabilidade e a atualização dos pacotes. Por padrão, o sistema utiliza a branch stable, que fornece versões de software consideradas mais testadas. No entanto, para quem deseja acesso a versões mais recentes, é possível optar pela branch testing (indicada por ~amd64, ~arm64, etc.), que disponibiliza pacotes mais atualizados. Essa escolha é configurada por meio da variável ACCEPT_KEYWORDS no arquivo /etc/portage/make.conf. Também dá pra fazer uma abordagem híbrida, mantendo o sistema na branch stable e selecionando pacotes específicos da branch testing (eu mesmo faço isso). Essa flexibilidade faz do Gentoo uma verdadeira rolling release, adaptável tanto para quem busca rock-solid stability quanto para quem quer as últimas novidades.

Tirando o elefante da sala

Vamos falar das compilações. Vale a pena gastar horas compilando tudo por uma otimização mínima? Depende do seu objetivo. Usando o sistema pude compreender que às vezes, compilar não tem a ver com performance, mas com customização. As USE flags permitem ativar/desativar funcionalidades e dependências durante a compilação. Por exemplo: você pode remover suporte a Bluetooth de um programa se for desnecessário para reduzir seu tamanho ou até mesmo adicionar suporte à aceleração de hardware apenas naquele programa específico. Quanto à otimização, é verdade que as diferenças são pequenas hoje em dia, mas ainda há casos em que compilar para sua máquina específica faz sentido.

Se você não liga pra isso, tranquilo. O Gentoo oferece pacotes binários para softwares pesados (navegadores, kernel, etc.), principalmente após o lançamento do Gentoo Binary Host em 2023. Isso ajuda quem tem hardware modesto ou quer agilizar a instalação. No fim, você decide: compilar tudo, usar só binários ou misturar os dois. O Gentoo é majoritariamente source-based, mas sua verdadeira essência está nas possibilidades que oferece.

O Gentoo é pra você?

Pode ser. Se você quer controle total, aprender mais sobre GNU/Linux e montar um sistema exatamente do seu jeito — seja para servidor, jogos, programação ou uso diário —, o Gentoo é imbatível. Não há nada igual (fora o Linux From Scratch, que considero mais educativo que prático).

Se depois dessa explicação você ainda não vê motivo, talvez não seja pra você — e tudo bem! O Gentoo não é pra quem tem pressa, é pra quem sabe o que quer e onde quer chegar.

A instalação demora, isso pode assustar no começo e ser uma barreira. No meu laptop com Ryzen 5 3500U, 12GB RAM e SSD SATA, levei 9 horas para o primeiro boot (sem ambiente gráfico), compilando tudo menos o kernel. Usando o binhost, seria bem mais rápido… mas na primeira vez não prestei atenção nisso.
Construir o sistema leva um tempo também, o ideal não é você fazer tudo logo de cara, e sim ir adicionando camadas aos poucos até chegar na “perfeição”. Mas depois de montado… é só manter, nesse sentido ele não é diferente de qualquer outra rolling release - tenha um planejamento pra fazer suas atualizações e elas ocorrerão bem. Às vezes pode vir uma ou outra atualização grande, mas não é como se você atualizasse o llvm ou c-lang toda semana.

Enfim, quis compartilhar minha jornada e desmistificar o projeto. O Gentoo não é uma distribuição perfeita — nenhuma é — mas o que importa é encontrar o que realmente resolve seus problemas, e ele tem cumprido esse papel para mim. Com ele, aprofundei muito mais meus conhecimentos em GNU/Linux e venho tendo uma experiência incrivelmente sólida e boa, o que me faz crer que ficarei com ele por bastante tempo.
Um canal que também me influenciou nessa jornada foi o Distro Hopper do Liquuid — o cara manja muito de Gentoo e acredito que tenha a maior série de vídeos sobre a distro no YouTube BR. Recomendo especificamente a série de vídeos a partir do episódio 209 (Instalando Gentoo em 2021).

Se quiser tentar, mergulhe de cabeça. Leia muito, teste opções e curta o processo!

7 curtidas

Instalei o Gentoo há um bom tempo, curti um bocado a distro. Aprendi bastante e pretendo repetir a experiência qualquer dia desses.

3 curtidas

Salve, @Kim_Eloah ! – Parabéns e obrigado pela sua postagem!

Minha abordagem das distros “raiz” tem sido sempre de “aproximação”. – Comecei pelo Kubuntu, e demorei vários anos até me sentir à vontade com o Debian. – Instalei o Manjaro, e demorei um tempo até me fixar no Arch. – … e assim por diante.

(Em outros casos, entrei direto no “raiz”, e tudo bem – mas também demorou até me sentir à vontade).

O Gentoo, para mim, ainda é uma “fronteira” – aquele lugar que está próximo, porém “meio distante”.

Usei o Sabayon, por um tempo, e me senti “à vontade” – pois foi uma experiência de “distro pronta para usar”.

Depois experimentei o Redcore, e ele me levou “mais para perto” do Gentoo. – Infelizmente, deu grep, deu tilt, essas coisas – e acabei adiando para sabe-se lá quando.

Sua postagem me re-animou. – Deu até vontade de fazer uma nova tentativa.

3 curtidas

Vai na boa, dá uma olhada no handbook - seguindo ele não tem erro, você vai conseguir uma instalação

3 curtidas

Esse seu relato, também me acendeu uma luzinha aqui. Tenho uma máquina parada aqui e talvez seja a oportunidade de me divertir, ocupar a cabeça e colocá-la pra funcionar. É um pouco antiga, mas o Gentoo vai se adaptar bem. :grinning_face:
Só preciso vencer um pouco a inércia da preguiça. :laughing:

3 curtidas
1 curtida

Um bom vídeo de experiência. Eu ainda não cheguei na parte de compilar meu próprio kernel, eu tô usando o kernel binário oferecido pela distro mesmo - mas é algo que pretendo ver e aprender num futuro próximo.
Sei que existe algo que pode facilitar um pouco o processo, o modprobed-db que te dá uma ideia dos módulos que seu kernel atual usam

2 curtidas

Usei o gentoo por uns meses, mas se mostrou pouco prático para mim, para usar para meu perfil dinha que usar a flag ~amd64 e com o tempo ele foi ficando meio bugado rsrs, acho que não gerenciei direito, mas enfim, não rolou.
Mas foi um bom aprendizado.

1 curtida

É válido
De fato tem alguns pacotes que só dá pra usar se você ativar a flag ~amd64, mas eu sempre habilito isso estritamente nos programas que preciso. Habilitar a flag globalmente faz com que ative o Gentoo no modo testing e aí já são outros desafios de manter mesmo

O problema é que vc começa com o package.use e package.keywords mas com atualizações as dep circulares começam a aparecer e aí vc vai pra flag global e depois disso o sistema fica bem complicado. rsrsrs
Mas vale a experiência.

1 curtida

Bem vindo! Instalei o meu na época da pandemia e continuo firme e forte!

A compilação do kernel vale a pena se vc quiser entender do kernel. E não é pleonasmo, porque compilar o kernel seria só alguns poucos comandos, mas customizar o kernel é um projeto de dias, talvez meses. Se for entrar nessa, recomendo ainda começar o kernel “do zero” em uma outra versão, e mantê-la pros primeiros dias que as coisas não vão funcionar como esperado.

Com o passar do tempo, aprendi também a desinstalar programas que não uso. Só de aparecer o nome do programa na hora da atualização (em negrito), dispara em mim uma rotina de me perguntar se usei o programa, se vale a pena atualizar, ou se devo desinstalar e deixar para compila-lo novamente caso precise. Isso evita de eu ficar compilando o programa e possivelmente várias dependências, várias vezes, só pra ter a disponibilidade de rodar o programa.

Também tem horas que vc quer a coisa rápida. Ao contrário do meu ‘eu’ de 2022, atualmente eu uso sem dor na consciência os pacotes binários e flatpak, especialmente para testar algun programa.

As vezes uso o site https://gpo.zugaina.org/ para procurar pacotes, as vezes estão disponíveis em algum repositório de terceiro. Mas no final valeu a pena ativar apenas o guru, ele tem quase tudo e é bastante estável quanto a remoção de versões obsoletas.

Vai chegar um momento que seu ‘packages.use’ vai estar uma bagunça. Use o eix-test-obsolete pra dar uma limpada no lixo. Acompanhe também o uso de espaço em disco. Use o eclean (pkg, dist e kernel) regularmente.

Basicamente era isso que eu queria que dissessem pra mim quando eu resolvi instalar o gentoo.

4 curtidas

Vlw! Irei levar as dicas em consideração :smiley:
Eu tenho o GURU habilitado, é realmente uma boa expansão para o repositório - além do steam-overlay pra dar aquela jogada de vez em quando haha