Como nascem as distros?

Galera, preciso de alguns conselhos.
Desde que conheci o Linux, uma ideia vem martelando na minha cabeça: desenvolver um sistema de acordo com a visão que eu tenho de um sistema ideal (é claro que isso é somente a minha opinião, não tenho pretensão de criar um sistema que agrade todo mundo). Procurando mais sobre, cheguei a duas alternativas: criar uma distribuição baseada no Linux From Scratch, que parece ser uma tarefa grande demais para uma pessoa só, ou começar a partir de uma base (como Debian netinstall ou Ubuntu Minimal) e fazer a seleção de pacotes a partir dali.
O problema é que, como vocês devem ter notado, eu sei somente o básico do terminal e não faço a mínima ideia se essas formas que eu citei são as formas corretas de criar uma distro.
Então, gostaria de saber de vocês: por onde um iniciante/intermediário pode começar para alcançar o objetivo de construir uma distro com os pacotes que ele quiser?

2 curtidas

Sinceramente, não vale a pena. A grande maioria dos usuários não está disposto a utilizar uma distro desconhecida feita por alguém que eles não conhecem. Além disso o que não faltam são distros Linux.

Se você quer um sistema sobre medida, para uso pessoal, recomendo o Arch Linux. Ubuntu Mini e Debian Netinstall também são opções válidas.

1 curtida

Desistir dessa ideia está fora de questão man, todas as distros começaram com a ideia de uma ou algumas poucas pessoas.
Porque não fazer? Se ninguém usar, paciência. Não creio que estarei perdendo muita coisa (a não ser tempo) e em troca disso estarei aprendendo bastante.
Só preciso saber qual o caminho mais simples para alcançar esse objetivo, já que LSF parece ser um bicho de 7 cabeças.

4 curtidas

Você mesmo disse que tem apenas conhecimentos básicos, como espera manter o sistema seguro?

Não basta instalar um kernel ou outro pacote qualquer e largar ele lá, é necessário prover atualizações constantemente, para cada bug ou falha de segurança que surgir. As distros mais populares tem equipes de segurança especializadas nisso.

Sistema operacional é coisa séria, as informações pessoais e muitas vezes dados bancários dos usuários estão em jogo, apenas um usuário muito leigo, ou inocente, usaria uma distro sem nenhuma credibilidade.

Se quer aprender mais sobre Linux pode estudar Arch Linux, Gentoo e Linux From Scratch. A partir daí seria mais indicado colaborar com algum projeto já existente.

1 curtida

A minha ideia é fazer, inicialmente, o sistema para uso próprio. Se houver falhas e bugs, o maior prejudicado seria eu mesmo. Creio que se conseguir monta-lo da base ou do zero, é bem possível que futuramente eu mesmo consiga resolver eventuais erros que possam surgir, já que pelo menos alguma coisa eu aprenderei.
Eu sei muito bem que sistemas são coisas sérias, que os dados das pessoas estão em jogo e não tenho a pretensão de deixar ninguém vulnerável. O ponto é: não quero criar algo para as pessoas, ainda. Não sou maluco de soltar alguma coisa inacabada aí na internet e falar para as pessoas “testa aí” (até porque, para isso é preciso criar toda uma estrutura, servidor, domínio, etc.).
Mas já há distros brasileiras despontando no horizonte, como a Anthares e o RegataOS e creio que é bem provável que os criadores eram 1 ou 2 no começo.
A beleza do Linux é você fazer você mesmo, colaborar com um projeto já existente é uma boa, se eu soubesse algo. Como preciso aprender, acho que o caminho que escolhi seguir irá me ensinar muita coisa, eu só preciso saber como começar e por onde.
Arch e Gentoo parecem boas maneiras de começar também, mas porque eu deveria abandonar o LFS e seguí-los? Facilidade?

1 curtida

Acho que não ficou muito claro nos primeiros comentários, mas minha idéia não é fazer algo de primeira e soltar para o público. Minha maior intenção aqui é construir, a priori, um sistema para mim, nos moldes que eu considero ideal. Nesse processo de aperfeiçoamento (que pode durar meses, anos) se pessoas se interessarem pelo projeto e tiverem os conhecimentos necessários para deixá-lo um produto finalizado para, um dia, disponibilizá-lo para outras pessoas, ótimo.
Se eu fizer para mim e ninguém nunca der bola, ótimo. Não foi em vão o conhecimento.

1 curtida

Os caras estão fazendo isso que você imaginou, quem sabe você tira alguma idéia.

1 curtida

Pelo que eu entendi, na verdade você não pretende desenvolver nada. Quer pegarm uma base de um sistema existente, Ubuntu Minimal, por exemplo, instalar as aplicações que você usa, escolher uma interface gráfica, definir um layout de cores, ícones e panos de fundo que te agradem, etc… Se for isso, não precisa se preocupar com as atualizações, já que utilizaria as atualizações do próprio Ubuntu e dos softwares que escolheu para compor seu pacote. Para isso existem ferramentas prontas que geram a iso do seu sistema e que você pode nomear como quiser, redistribuir e que também funcionará em modo live.

Se for isso que deseja, ou se entendr que esse pode ser um começo para seu projeto. veja no link abaixo uma matéria sobre o tema prublicada pelo @Dio no blog do Diolinux.

Como criar uma cópia completa do seu sistema e transformar em uma ISO instalável

Também tem o vídeo.

Boa Sorte

Como criar uma Live do Linux com o Systemback

1 curtida

Quando comecei a pensar no sistema, era bem isso. Mas hj, procurando saber um pouco mais sobre LSF eu vi que isso não basta. Para ter um sistema estável e enxuto, é preciso ir mais fundo, escolher com cuidado os pacotes a serem instalados, ter certeza de que todas as dependências estão instaladas corretamente, etc. Gostaria de poder escolher características mais específicas, como a versão do pacote a ser instalado, fazer modificações na interface e na estrutura do sistema para otimizar o mesmo e, se possível, compilar cada pacote para que eu possa aprender como um sistema funciona desde a base. Algo como o pessoal do SolusOS fez, no início era só um cara (Ikey), ele criou toda a filosofia do sistema e fez a base. Com o tempo, a distribuição venho ganhando mais desenvolvedores no core e com o lançamento, ganhou uma comunidade razoável. Se não me engano, ele começou com o LFS e, com a experiência que ele tinha em programação, adaptou várias ferramentas para seu sistema (o gerenciador de pacotes veio do Pardus, a interface foi uma modificação do Gnome base, e por aí vai).

Well… como você mesmo disse…

Ou você aprende a desenvolver e ganha experiencia para poder se capacitar a desenvolver uma distro, ou você vai ter de encontra alguém capacitado e que compre o seu sonho… A questão é: Uma capacitada pessoa toparia desenvolver a sua distribuição tendo ele que ficar com o trabalho pesado/intelectual de desenvolver/programar?
Uma terceira opção seria você contratar alguém para desenvolver o que você sonha ter.

Sinceramente? Não é impossível você encontrar alguém que embarque no seu sonho e desenvolva a sua distro. Mas acho pouco provável. Se você quer adquirir conhecimento, acho que o melhor caminho é deguir o conselho dado por @anon48453804 e colaborar com alguma distribuição já existente.

Lembre-se de que Ubuntu é baseado em Debian e o Mint baseado no Ubuntu… Creio que você teria mais sucesso se começasse pelo mais simples. Desenvolvendo uma iso a partir de um ubuntu minimal ou Debian Netinstall e a compartilhando entre seus amigos, conhecidos e grupos afins. Ao menos você teria uma plataforma para começar.

Boa sorte

Sim, acho que vc entendeu meu ponto kkk
Sou iniciante, quero saber como começar e por onde.
Acho que não me expliquei bem no começo, por isso pode parecer meio confuso. Vou tentar me explicar novamente:

  • Sou um usuário iniciante/intermediário
  • Gostaria de aprender a desenvolver um sistema desde a base
  • Tenho duas opções para começar o aprendizado, com o LFS ou a partir da base Debian/Ubuntu
  • Postei aqui para receber conselhos de por onde começar e como

O que o drakofrost disse, no final das contas, é o que eu tinha dito lá no começo: começar com Arch, Gentoo ou LFS (esse último, o que eu já havia escolhido) e aprender a partir dali. Mas não há muito material em português para ajudar um iniciante nessa área, portanto pedi conselhos com a esperança que pudessem me indicar materiais (livros, sites, vídeos, outros sistemas) que eu pudesse usar para começar a estudar.
O evandro sugeriu um canal legal e já estou acompanhando, pelo jeito é exatamente o que eu estava procurando, um pessoal que está desenvolvendo do zero e ensinando como fazer isso.
No mais, obrigado a todos que comentaram. Continuarei procurando material para aprender e aceitarei mais dicas de bom grado.

3 curtidas

Você definiu o que são as distribuições brasileiras :rofl::rofl::rofl:.

@Sandro vejo a galera falar que, “quem quer aprender Linux… tem que estudar o Slackware” (não sei te dizer o porque). O caminho mais fácil, é pegar uma versão minimal e ir montando por cima (se optar por programas enpacotados, não irá se preocupar com dependências).

Ou, simpatizar com alguma distribuição e ir ajudando no desenvolvimento (mesmo que você seja usuário leigo).

2 curtidas

Vamos fazer uma campanha para o Dio, junto com sua gang, que são feras, criar uma distribuição “DIOLINUX”. KKKK

1 curtida

Ele já fez, era o DioLinuxOS, a base era o ubuntu 12.04 se não me engano.

Se você quiser aprender de forma mais aprofundada o Linux recomendo instalar o Slcakware http://www.slackware.com/

1 curtida

Quer saber como desenvolver um sistema? É bem simples, primeiro aprende a programar em C, e eu não to falando de ir pro YT ver uma aulas e tutoriais, eu to falando de pegar uns 2 ou 3 livros e ler de capa a capa, pq C é simples, mas ele te dá uma bazooka e não te impede de atirar no próprio pé, vc não vai aprender direito sem um bom livro, aprender a lib padrão é útil mas o kernel implementa uma lib própria, então vc vai ter que aprender ela tbm, entender o que é o POSIX e o que o padrão estipula, daí vc vai ter uma base, a partir daí vc vai ter que aprender:

  • Algoritmos e estruturas de dados
  • Design de sistemas operacionais
  • Design do Kernel Linux
  • Empacotamento
  • Arquitetura de computadores (teu sistema vai rodar direto no ferro da máquina, tu PRECISA saber como tudo funciona no low level)
  • Assembly pode ser bem útil
  • Enfim, aprenda ciência da computação de forma geral

Com isso, talvez vc tenha o bastante pra começar a acompanhar a mailing list do desenvolvimento do kernel e começar a contribuir pra aprender.
Em resumo, fazer uma distro não é que nem aprender a fazer um site, tu não pode só pular a ir aprendendo no caminho, tu não vai fazer isso esse ano, nem no próximo, nem no depois do próximo, vc vai precisar de alguns anos de estudo antes de ter uma base sólida pra começar, LFS vai te dar só uma base de código pra começar a trabalhar, não um sistema completo e usável, não to tentando te desanimar, mas é a verdade, se for começar pra parar na metade não vai valer a pena, então pensa bem se vc não simplesmente quer customizar uns pacotes de uma distro mesmo.

4 curtidas

Ainda que você tenha uma certa razão, como você acha que qualquer uma dessas distros começou?
Desincentivar boas ideias enquanto elas estão começando não é uma boa forma de se ter coisas melhores no futuro, se vai dar certo ou não só o tempo dirá. Muita gente criticou o Kurumin em sua época, mas de fato, até hoje as pessoas lembram dele como algo de valor.

9 curtidas

Por questões de aprendizado acho que valeria mais a pena instalar o Arch Linux ou Gentoo, ou até mesmo o Linux from Scratch. Fazer sua própria distro é algo que passa pela cabeça da maior parte dos usuários de Linux, mas essas distros dificilmente duram mais que alguns meses, vale mais a pena contribuir para um projeto existente.

2 curtidas

Pessoalmente acho o Arch Linux o mais fácill entre essas distros avançadas, por que no seu repositório tem de tudo escolher para escolher as bibliotecas a dedo facilitando a instalação, diferente do Slackware que tem um instalador mais fácil do que o do Arch, mas o que dá trabalho é após instalação, talvez o Gentoo seja a melhar escolha para você por que se não me engano você tem que compilar tudo (até o kernel se não me engano), só não sei se o LSF é mais “Dificil” que o Gentoo

Na verdade isso é o que se chama de “cara se tu quer contribuir pro kernel Linux, seria bom fazer isso”, mas o que o jovem quer é fazer um sistema bootavel/instalavel isso o próprio LFS fornece, basta ele entender como a interface e os programas podem ser instalados, uma vez que ele supra algumas dependência e o FUSE nem de gerenciador de pacotes ele precisa

1 curtida