Onde fica a "alma" de uma distribuição Linux? O que é e onde fica sua "base"?

Já perguntei isso em vários lugares e nunca obtive uma resposta satisfatória, só gente interpretando errado minha pergunta, então peço a vocês que leiam esta postagem com atenção para tentar responder direitinho a pergunta.

CONTEXTO

Existem diferentes distribuições com “bases” diferentes, como Ubuntu (que veio do Debian e tem o Linux Mint como um dos seus derivados), Arch Linux (que tem Manjaro com derivado), Gentoo, Mageia, SolusOS, etc. Embora sejam distribuições diferentes, elas usam os mesmos programas (ou pacote de programas como uma suíte de escritório ou uma DE com seus aplicativos), isto é, todas usarão o mesmo kernel, os mesmos ambientes gráficos, geralmente a mesma suíte de escritório, os mesmos servidores de áudio e por aí vai, é claro que pode haver variação, mas não creio que uma distribuição com “base” no Ubuntu deixaria de ter essa “base” só porque trocou o systemd por algo como… sei lá, eudev. Então, quando eu uso essa ótica de “base” aqui, vejo o Ubuntu e o Linux Mint como a mesma coisa (não incluo o Debian aqui porque faz tanto tempo que houve o fork do Ubuntu que prefiro não arriscar a queimar a língua).

Quero deixar claro que o que me importa aqui é a “base” da distribuição, não o seu propósito, se por exemplo um grupo criasse um fork do Ubuntu em que eles entregariam um sistema “cru” (sem nem mesmo ambiente gráfico) e os pacotes dos repositórios estariam sendo constantemente atualizados, a base dessa distribuição continuaria sendo Ubuntu, ele não se transformaria num Arch Linux (eu ainda teria chance de instalar um pacote .deb criado no Linux Mint nessa distribuição hipotética). Um exemplo real é o PCLinuxOS e o Mageia, enquanto o primeiro é rolling-release o segundo é “fixed-release(espero estar usando o termo correto), mas ambos têm “base” no Mandriva, por isso que muitas vezes dá para instalar o pacote de um no outro se não houver uma rede de dependências muito complexa.

Eu vejo uma distribuição Linux como um conjunto de softwares combinados (kernel + softwares vitais + DE + aplicativos + gerenciador de pacotes + …) que tem acesso a repositórios com determinada política de atualização (se é rolling-release ou não, quais softwares distribui…).

Ou seja, atualmente minha visão é que os mantenedores de uma distribuição são meros empacotadores. A única coisa que vejo que diferencia uma “base” da outra é quais pacotes são usados para instalação ou seja, você não pode instalar diretamente um pacote .deb no Mageia ou um pacote .rpm no Ubuntu. Entretanto já me disseram que não é exatamente isso que define uma “base”.

A PERGUNTA

Quando eu vejo dizerem “distribuição X foi feita do zero”, fico sem saber o que realmente foi feito. O que foi feito do zero?! O kernel é desenvolvido por uma equipe, os ambientes gráficos são desenvolvidos por outros grupos, os softwares vitais são mantidos por mais outros diferentes times. O que é que esses desenvolvedores da distribuição X fizeram além de empacotar tudo num lugar só? O que eles criaram de novo para se a “base” ou “alma” da sua distribuição?

O que eles criaram de novo para se a “base” ou “alma” da sua distribuição?

Quero já deixar claro aqui que por essa pergunta não me refiro a um software (ou conjunto de softwares) qualquer, a equipe do Linux Mint desenvolveu o Cinnamon, mas o Cinnamon é algo que posso instalar em qualquer distribuição de “base” diferente, se eu instalar o Cinnamon no Arch Linux esta distribuição não vai virar um Ubuntu (falo “Ubuntu” aqui porque pra mim o Linux Mint é um Ubuntu modificado).

O que eu suspeito que seja a “base”/“alma” de uma distribuição

  • O gerenciador de pacotes (apt-get, yum, pacman, etc)

  • Sistema de pacotes (DEB, RPM). Entretanto ambos Fedora e Mageia/PCLinuxOS, que imagino terem “bases” diferentes, usam RPM…

  • Patches usados em cada programa. Por exemplo, o KDE do Ubuntu e Arch Linux é o mesmo, entretanto ele recebe patches diferenciados em cada uma dessas distribuições

4 Likes

Duvido que vou conseguir responder. Acredito que parte do que você perguntou seu próprio texto já responde.

Confesso que entendo “base” e “alma” como coisas diferentes. Para mim, “base” pode ser o kernel e o conjunto de programas/aplicações que elas usam. E “alma” creio que seja mais o objetivo a proposta da distro.

1 Like

Usei “base” (ou “alma”, que usei no texto como sinônimo de “base”) de forma bem abstrata, me referindo à coisa mais vital da distribuição que dá sua “identidade”. Por essas duas palavras – que repito, usei como sinônimos – eu não me referi ao propósito da distribuição ou seus softwares básicos (com o kernel) que são compartilhados por todas as distribuições.

Mas obrigado pela atenção.

Vamos por partes seu texto não ajudou muito meu defict de atenção mmmmm:

Não exatamente mesmo usando o mesmo kernel (que é o Linux) muita coisa varia pode parecer coisa besta mas tem um impacto considerável:

  • Interfaces diferentes, o Kubuntu, o Xubuntu e o Ubuntu padrão são todos Ubuntus mas se você observar o tema, os ícones, o layout, e os programas são naturalmente diferentes, a diferença fica ainda mais drástica quando o desenvolvedor é outro como no caso do Mint XFCE que tem diferenças perceptíveis do seu parente Xubuntu

  • Versões diferentes, o Debian e o Ubuntu são essencialmente o mesmo Sistema Operacional mas o Debian “principal” traz versões superestáveis dos softwares ou seja geralmente muito antigas

  • Filosofias diferentes a distribuição pode ser 100% igual visualmente igual a outra mas se a filosofia por trás for diferente muita coisa muda, por exemplo o Kernel libre, o liquorix, o gobo kernel, o ciclo de lançamento pode ser diferente por exemplo baseado em LTS ou Rolling Release

Outro ponto é:

Como não? Você pode instalar .debs no Arch isso torna o sistema com a mesma base que o Ubuntu? Não, é apenas porque o kernel vai ler o programa do mesmo jeito apenas isso o .deb é apenas um arquivo compactado que é extraído na raiz do sistema, apenas isso qualquer meio de distribuição de aplicativo que funcione assim podera ser instalado em mais de um sistema

Na verdade você pode jovem é só extrair na raiz


Cara de novo temos um problema, o KDE pode ser instalado no Windows por exemplo, eu penso que a definição correta seria “o que eles criaram de novo pensando na distribuição”, porque como a maioria é GPL a não ser que você impeça a instalação distribuindo apenas via Flatpak por exemplo, você vai poder instalar em qualquer outra distro


Curiosamente sua conclusão apesar de ir contra o que você disse é basicamente a mesma que eu desenvolveria:

Sobre usarem o mesmo gerenciamento de pacotes porque o trabalho pra desenvolver um software assim é muito grande e teriam que reempacotar tudo, com o advento AppImage eu penso que irá se diferenciar cada vez mais

1 Like

Obrigado pela sua resposta, vou considerar o que você disse.