Quando se pode dizer que um kernel + um conjunto de pacotes se torna uma distro?

Uso Linux há uns 4 anos e há um mês resolvi me aventurar pela primeira vez no Arch Linux. Ao ir lendo e assistindo tutoriais, fazendo testes e escolhendo meus pacotes de softwares, me peguei pensando no seguinte: Eu poderia dizer que estou criando minha própria distro?

Explico: se eu instalei o Arch (ou Ubuntu/Debian) no mínimo e instalei os pacotes dos programas que gosto pra criar o meu ambiente, eu não diria que eu criei uma distro, certo? Eu estou simplesmente usando a distro! Afinal, espera-se que eu vá instalar programas pra eu usar nestas distros. Mas e se eu criar um script que automatiza a instalação para criar esse ambiente, estaria eu criando uma distro-based? Basta isso para criar uma distro? Ou seja, basta eu pegar um Arch, ou Ubuntu minimal, gerar um script que instala os programas necessários e pronto, já posso dar um nome pra ela e dizer que sou o desenvolvedor da distro Tal baseada no Arch ou Ubuntu?

O que eu quero dizer é, qual a linha que define se estou apenas usando uma distro, ou se estou usando minha própria distro-based? Pq pra mim, pegar uma distro, juntar um monte de programas e criar uma ISO que instala conforme você configurou não deveria me dar o direito de dizer que esta é uma distro-based…

Sei lá, devo estar pensando demais…

3 curtidas

Isto é uma pergunta muito interessante.

Primeiramente, o conceito de sistema operacional:

Um sistema operacional é um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário.

Isso significa que qualquer junção de programas que torne possível a utilização do computador por meio de uma interface que utilize linguagem humana é considerada um sistema operacional. Essa interface pode ocorrer de várias formas, como em CLI (Command Line Interface) ou GUI (Graphical User Interface).

Esse conjunto de programas inclui o kernel (nesse caso Linux), o bootloader, o initsystem, um gerenciador de repositórios e pacotes (como o APT/DPKG e o DNF/RPM), e, geralmente, uma interface gráfica. No caso, o que torna o Debian nele próprio são seus repositórios com programas empacotados para ele. Fora isso, ele é praticamente igual a várias outras distros, usando systemD, uma DE qualquer, etc.

Logo, acredito que se você cria uma imagem de instalação automatizada do Debian que deixa o sistema pronto com a sua DE favorita, temas, ícones, programas, configurações, tudo do seu jeito, você está criando uma distro baseada no Debian, já que está usando seus repositórios. O Solus, por exemplo, que é uma distribuição “sem família” – independente – tem seus próprios repositórios e formato de empacotamento.

Posso estar falando groselha, isto é baseado apenas na minha cabeça =D
1 curtida

Bom, não. É só você quem está utilizando. Faltou a parte de distribuir, kk.

Na minha concepção, sim. Distribuir um conjunto de software pronto para uso é, no fim das contas, a definição “no dicionário” de distribuição de software.

No entanto, usuários não aderem a uma distribuição só pelo conjunto de software incluído. Eles esperam suporte técnico, uma comunidade, fontes para software adicional, às vezes programas exclusivos, etc., que são coisas que um script de instalação relativamente curto que puxa software dos repositórios de uma distribuição já existente não fornece. Conforme você e os demais desenvolvedores cultivam isso, sua distribuição ganha “legitimidade” e fica mais difícil rotulá-la de scriptzinho, refisefuqui, etc…

Acho que há até motivo para dizer que esses “adicionais” são o que realmente define a distribuição em vez do conjunto de software. É comum ver instalações de distribuições source-based com conjuntos bastante diferentes de software, até mesmo em software básico como a biblioteca padrão do C, toolchain para compilação, interpretador de shell script, etc., mas no fim todos puxam pacotes do mesmo repositório, reportam bugs aos mesmos desenvolvedores e frequentam os mesmos fóruns.

Você tá corretíssimo!! As distribuições são fáceis de identificar, são as que produzem a tecnologia, algumas são grandes projetos como a debian, outras podem ser minúsculas como solus, void… nesse cenário a única distro que considero derivada é o Ubuntu, assim mesmo usa toda tecnologia da debian. Criar uma distribuição é algo muito complexo.
Eu só chamo de distribuição:
Debian, Ubuntu, RedHat/Fedora, SUSE Linux/openSUSE, Slackware, gentoo; daqui para frente vem projetos muito minúsculos: solus, void, NixOS, PCLinuxOs… … é isso aí, o resto é remasteriazação que qualquer um pode fazer.

1 curtida

Acho que o item “repositório” pode ser um pouco mais valorizado – embora não seja o único.

Em alguns casos, a distro pode até usar repositórios de outras distros – por exemplo, boa parte dos pacotes do Mint e do KDE Neon são dos repositórios do Ubuntu; e boa parte dos pacotes do MX Linux são dos repositórios Debian stable – enquanto uma outra parte dos pacotes vêm de um repositório próprio, com prioridade superior (para serem preferidos, em substituição aos seus equivalentes Ubuntu ou Debian).

O repositório “próprio” pode começar com poucos pacotes, e aumentar com o tempo, se o projeto atrair desenvolvedores suficientes – ou se atrair dinheiro, que lhes permita dedicar mais tempo à distro.

Quando se usam só repositórios de terceiros, o trabalho de manter a “consistência” do conjunto recai sobre a outra distro. – Quanto mais pacotes próprios, maior o trabalho de manter a consistência do conjunto “misto” – inicialmente, talvez através de um fórum; mas a médio prazo, de preferência por um canal próprio para receber relatórios de bugs.

Um site (ou pelo menos, um Git, ou outras ferramentas, de terceiros) é importante para “distribuir” as imagens ISO de instalação, mostrar pelo menos uma apresentação resumida do que se oferece; um mínimo de documentação; avisos etc…

(Digo isso, pelo que consegui perceber, e lembrar no momento, por exemplo, sobre o MX Linux e o Redcore. – No caso do Redcore, a documentação que consegui encontrar resume-se quase que só ao sisyphus e pouco mais; e para 90% das dúvidas preciso recorrer ao Gentoo. – No caso do MX Linux, tenho recorrido quase que só ao Fórum, embora poucas vezes. Eles usam um serviço de terceiros para download das imagens ISO).

Olá, acredito que o que caracteriza uma distro é justamente o ato de distribuir pacotes, bibliotecas, programas, etc. empacotados pelos mantenedores através de um ou mais repositórios para os usuários interessados.

Aglutinado a isso, deveria haver alguma documentação ou wiki trazendo orientações para instalação e/ou ocorrências em geral, de modo a construir um conjunto de conhecimentos específicos.

Concordo com os colegas que disseram que existem bem poucas distros (apesar do que um distrowatch da vida faça parecer).

Simples, a partir do momento que você distribui a ISO para o público, aí vem as categorias:

  • Remasterização, nesse caso a distro é totalmente dependente de outra
  • Baseamento, a distro depende de outra mas pode migrar pra outra base se for necessário
  • Derivada, o estágio final da categoria Baseamento, a distro se torna independente da distro que um dia serviu de base
  • Independentes, a distro não possui uma base
  • Metadistribuição, a distro deixa de existir e passa a ser um conceito com implementações geralmente com uma implementação oficial
3 curtidas

na minha concepção é quando esse conjunto passa e atender a nescidade/intenção para qual foi criado.

se a intenção era mudar só o visual, ótimo
se era mudar o um componente importante do sistema, ótimo tbm
se é criar algo totalmente novo, ótimo
se era… vcs entenderam!