Como regra geral, praticamente qualquer distro que não tenha um propósito específico para uma tarefa específica (exemplos de distros criadas especificamente incluem MythDora, BackTrack, SteamOS, LEAF e SystemRescueCD) tem alguma maneira de fazer isso, embora eles todos variam exatamente como. Em geral, existem três maneiras de fazer isso, dependendo da distribuição do Linux:
-
Durante a engenharia de lançamentos (você literalmente cria sua própria imagem de instalação diretamente). Isso é mais comum em distros baseadas em fontes, com o Gentoo sendo provavelmente o melhor exemplo (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 construir tarballs personalizados que contêm o pacote exato definir o que você quer).
-
Durante a 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, o Arch apenas adiciona os pacotes que você quer ao comando de instalação inicial, o NixOS adiciona itens de configuração para inseri-los durante a primeira compilação do sistema, e a Alpine adiciona cada um que você deseja manualmente durante a instalação, como se estivesse instalando-os em um sistema existente).
-
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 espelha a lista de pacotes do Live CD como instalação inicial), incluindo o Ubuntu e o Fedora.
O Ubuntu (e outras distros que podem usar o instalador Debian) podem trabalhar com a abordagem 2 ou a abordagem 3.
Para a segunda abordagem, você tem que fazer uma instalação baseada em texto em modo 'expert', e há um ponto durante a instalação onde você pode selecionar uma opção que levará o Aptitude (uma boa interface de texto baseada em ncurses para APT e dpkg) para especificar manualmente quais pacotes instalar.
Para a terceira abordagem, você infelizmente tem que fazer o trabalho sozinho, mas não é muito difícil (um pouco tedioso). O melhor conselho que encontrei para fazer isso é em link
No que diz respeito à criação de uma ferramenta para fazer isso de maneira rápida e fácil, você pode dar uma olhada no Ubuntu Customization Kit , um projeto infelizmente agora 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, ela deve, em teoria, fornecer um bom ponto de partida se você quiser criar essa ferramenta por conta própria.