O que diferencia as distribuições Linux entre si?
Esta pergunta foi lançada pelo Charleno Pires (amigo, grande web developer e músico), em um comentário seu no post que indico a inclusão do Kurumin no Linux Distro Timeline. Essa dúvida realmente é bastante pertinente para um número muito grande de pessoas, então resolvi explicar as diferenças aqui, em um novo post, ao invés de apenas responder o comentário.
Primeiramente, o que é uma distribuição Linux? Nada mais é do que uma coletânia de programas que rodam no espaço do usuário mais o kernel do sistema operacional, que neste caso seria o Linux. O kernel por si só não é uma distribuição, pois precisa de aplicativos. Da mesma forma é com os softwares do espaço do usuário, ele não tem utilidade sem um kernel/SO.
Por exemplo, quase sempre se encontra por aqui no Hypercast uma referência ao Debian GNU/Linux, que nada mais é do que o nome da distribuição, só que bem explicado: trata-se de uma distribuição/sistema operacional do projeto Debian baseado no conjunto de softwares livres da GNU, e no kernel Linux.
Não necessariamente precisa ser assim, pois o projeto Debian também pretende suportar oficialmente o kernel Hurd, formando assim a distribuição Debian GNU/Hurd, mas neste caso, não temos mais uma distribuição Linux, e sim distribuição Hurd.
Agora que o conceito de distro está esclarecido, vamos ao que caracteriza suas diferenças. Citarei-os em ordem de importância, não tecnicamente falando, mas que contemplam o maior número de distros geradas. Dentro dessa análise, as principais diferenças entre as distros são:
- Nada: uma distro pode ser idêntica a outra em termos de arquitetura do sistema operacional, como kernel, conjunto de aplicativos e sistema de gerenciamento de software. Existem muitos casos conhecidos como Ubuntu, Kubuntu e Xubuntu, que são exatamente a mesma distro (baseados em termos de software nos repositórios do Ubuntu) mas cada um vem com um gerenciador de janelas diferente instalado por padrão. O Ubuntu é uma das distros mais “clonadas” atualmente e gerou muitas outras já conhecidas, como Linux Mint, Ubuntu CE e SE, gNewSense, etc, que diferenciam do Ubuntu apenas por um programa ou outro instalado (ou às vezes, deixando de estar instalado).
- Integração e software instalado: Neste caso existe um maior trabalho ao criar a distro, pois está se partindo do kernel Linux pronto e da base do sistema pronta. O que falta é criar diferenciais que especializem a distribuição. Exemplos são o Ubuntu Studio, que vem com programas e subsistema de som otimizados para tratamento multimídia, VideoLinux (mesma área do anterior, mas mais focado em authoring), ou ainda o LG3D, que traz o projeto de desktop 3D da Sun instalado por padrão. As possibilidades de variação neste caso são muitas;
- Kernel modificado: Aqui, a distro derivada utiliza a mesma base de software e gerenciamento de pacotes da distro “mãe”, porém lança mão de um kernel modificado para obter uma funcionalidade específica. Aqui vou mencionar o caso clássico: Knoppix deriva do Debian, mas não utiliza as imagens compiladas do kernel que a equipe mantedora do pacote oferece, e sim um kernel customizado que utiliza um módulo especial chamado cloop para dar a funcionalidade de live CD que conhecemos. Outro caso conhecido aqui é a relação entre Kurumin, Knoppix e Debian. Todos utilizam pacotes do Debian, mas o Kurumin traz o kernel do Kanotix para chegar à funcionalidade do Knoppix. Deve ficar claro aqui que as modificações que mencionei não são profundas. O kernel é o mesmo. Só a compilação é diferente.
- Kernel “hard-modified”: Quando se coloca a mão nos fontes do Linux para fazer alguma modificação mais profunda, geralmente não é criada uma nova distribuição, apenas uma outra opção de download com a advertência da mudança. Geralmente elas são trazidas em versões de desenvolvimento de algumas distros, quando um dado recurso ainda não é suportado no kernel ou só existe na forma de patch. Por exemplo, o Debian Unstable traz várias imagens modificadas do kernel, como as que suportam as tecnologias de virtualização mais recentes.
Espero que o post tenha esclarecido os aspectos mais importantes que diferenciam as distribuição entre si, apesar de não ser uma referência definitiva. Dividimos as distribuições genericamente em kernel-space e user-space (incluindo aí o gerenciamento desse software, como em pacotes), o que na minha opinião é um bom divisor de águas atualmente em distros Linux, mas pode ser que exista um caso que reclame um outro argumento para justificar sua existência como outra distro. Se conhecerem, indiquem nos comentários, para que possamos enriquecer o artigo. Obrigado!
Artigos Relacionados:
Sobre este artigo
You’re currently reading “O que diferencia as distribuições Linux entre si?,” an entry on Hypercast
- Published:
- 05.28.07 / 8am
- Category:
- Uncategorized
3 Comments
Jump to comment form | comments rss [?] | trackback uri [?]