AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 416072
Accepted
Mawg says reinstate Monica
Mawg says reinstate Monica
Asked: 2018-01-11 04:01:13 +0800 CST2018-01-11 04:01:13 +0800 CST 2018-01-11 04:01:13 +0800 CST

Posso criar programaticamente uma distribuição (UBUNTU)?

  • 772

O SUSE Studio me permite criar minha própria distribuição selecionando meus próprios aplicativos, que ele instala. Eu executo um assistente e ele gera um arquivo .ISO.

Por exemplo, se eu quiser uma distribuição para desenvolvimento web, posso selecionar MySql ou MariaDB, Eclipse PHP e Eclipse JS, Xdebug, FireFox Developer Edition (e alguns outros).

  • alguma coisa oferece esse serviço para o Ubuntu?
  • existe uma API que eu poderia usar para fazer isso sozinho?

Caso contrário, alguém pode explicar como eu criaria esse aplicativo ou assistente? Eu sou um programador profissional, então deveria ser capaz de fazer isso, se possível.

Talvez eu possa automatizar o Gentoo de alguma forma? Embora isso exigisse um grande esforço para emular o Ubuntu (também estou interessado nas outras distribuições, mas o Ubuntu seria um bom começo).

Meu primeiro pensamento foi que eu só preciso de um sistema de arquivos e um registro de inicialização e então posso criar um ISO a partir disso. Mas então percebi que realmente quero instalar alguns aplicativos dentro disso, o que significa arquivos de configuração, links simbólicos, etc., que são melhor criados executando a instalação (ou são?).

Existe um assistente "construa seu próprio (Ubuntu) Linux"? Se não, (como) posso fazer um?

linux distributions
  • 1 1 respostas
  • 121 Views

1 respostas

  • Voted
  1. Best Answer
    Austin Hemmelgarn
    2018-01-11T06:10:44+08:002018-01-11T06:10:44+08:00

    Como regra geral, praticamente qualquer distro que não seja construída especificamente para uma tarefa específica (exemplos de distros criados especificamente incluem MythDora, BackTrack, SteamOS, LEAF e SystemRescueCD) tem alguma maneira de fazer isso, embora todos variem em exatamente como. Em geral, existem três maneiras de fazer isso, dependendo da distribuição do Linux:

    1. Durante a engenharia de lançamento (você literalmente cria sua própria imagem de instalação diretamente). Isso é mais comum em distribuições baseadas em fonte, com o Gentoo provavelmente sendo o melhor exemplo (as imagens de instalação do Gentoo são tarballs compactados que você extrai diretamente no sistema de destino, sua ferramenta de engenharia de lançamento (Catalyst) permite que você crie tarballs personalizados que contenham o pacote exato definir que você deseja).

    2. Durante a própria instalação, você escolhe um conjunto separado de pacotes para instalar. Arch, NixOS e Alpine adotam essa abordagem (embora o façam de maneiras diferentes, Arch apenas adiciona os pacotes que deseja ao comando de instalação inicial, NixOS adiciona itens de configuração para puxá-los durante a primeira compilação do sistema, e a Alpine permite que você adicione cada um manualmente durante a instalação, como se os estivesse instalando em um sistema existente).

    3. Personalizando o Live CD usado para fazer a instalação. Isso é o que o SUSE Studio faz e é a abordagem adotada pela maioria das distribuições (já que a maioria das distros apenas espelha a lista de pacotes do Live CD como sua instalação inicial), incluindo Ubuntu e Fedora.

    O Ubuntu (e outras distros que podem usar o instalador Debian) podem funcionar com a abordagem 2 ou abordagem 3.

    Para a segunda abordagem, você precisa fazer uma instalação baseada em texto no modo 'especialista', e há um ponto durante a instalação em que você pode selecionar uma opção que abrirá o Aptitude (uma boa interface do usuário de texto baseada em ncurses para APT e dpkg) para especificar manualmente quais pacotes instalar.

    Para a terceira abordagem, você infelizmente terá que fazer o trabalho sozinho, mas não é muito difícil (apenas um pouco tedioso). O melhor conselho que encontrei para fazer isso está em https://help.ubuntu.com/community/InstallCDCustomization

    No que diz respeito à criação de uma ferramenta para fazer isso de forma rápida e fácil, você pode dar uma olhada no Ubuntu Customization Kit , um projeto infelizmente extinto que parece fazer praticamente a mesma coisa que o KIWI (o serviço SUSE que alimenta o SUSE Studio). Embora provavelmente não funcione com as versões mais recentes do Ubuntu, deve, em teoria, fornecer um bom ponto de partida se você quiser criar essa ferramenta por conta própria.

    • 2

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve