Você deseja criar um instalador personalizado que instale um conjunto diferente de pacotes.
As informações a seguir dizem respeito ao instalador do Debian (conhecido como d-i). O Ubuntu é um derivado do Debian e também usa di, além de também suportar outro instalador chamado Ubiquity, que pode ser automatizado de uma maneira diferente . Para mais informações, consulte esta FAQ . Eu não estou familiarizado com o Mint, mas é um derivado do Ubuntu, então o que se aplica ao Ubuntu também pode se aplicar ao Mint. Se não, alguém pode adicionar uma resposta melhor, que é específica para Mint.
A principal maneira de fazer isso em d-i é através de um arquivo preseed . Os arquivos preseed permitem que você (opcionalmente) responda antecipadamente a cada pergunta que o instalador normalmente faria durante a instalação, permitindo uma experiência totalmente automatizada, tudo sem fazer qualquer modificação no próprio instalador. Mas, além de, ou em vez de fornecer respostas automatizadas a perguntas, um arquivo preseed também pode personalizar a lista de pacotes a serem instalados. O caso de uso principal é salvar o trabalho em ambientes onde muitos computadores idênticos devem ser instalados. A criação de um arquivo preseed exige trabalho, mas depois disso você pode implantá-lo, por exemplo, em seu servidor PXE junto com o restante dos componentes do instalador e realizar instalações sem intervenção de centenas de computadores ou mais.
Existem também maneiras de modificar o instalador do Debian sem usar um arquivo preseed para que ele instale pacotes diferentes. Isso requer cuidado, porque você precisa descompactar o instalador, montá-lo, modificá-lo e reembalá-lo da maneira especial que torna o instalador versátil e utilizável como uma imagem de CD, uma imagem de dispositivo de armazenamento USB ou uma imagem inicializável pela rede. .
what directory would the script to install Linux be in?
O instalador do Debian [Ubuntu, Mint] não é um único script, mas uma coleção de componentes, alguns escritos em C, outros scripts de shell. É muito hookable e pluggable, então você deve ser capaz de personalizá-lo totalmente sem modificar qualquer parte dele, apenas escrevendo hooks (geralmente shell scripts) e arquivos de configuração para ele.
Also, is it written in bash?
Não. bash
não está disponível no ambiente do instalador, somente /bin/sh
do Busybox. Mas você geralmente não precisa de bash
de qualquer maneira. O shell Busybox do tipo POSIX tem que ser suficiente.
how would i configure packages within the preseed?
Os pacotes são responsáveis por se configurarem quando são instalados. Isso é verdade se eles são instalados durante a instalação inicial do sistema ou mais tarde, quando o sistema está ativo. Eles contêm scripts como postinst
para fazer trabalhos assim. No entanto, na verdade, a maioria dos pacotes não configura nada, eles apenas se instalam (ou seja, eles não têm postinst
). O próprio instalador apenas faz a configuração mínima do sistema (como definir o nome do host e uma senha root). O resultado é que tudo praticamente tem sua configuração padrão (= sem configuração) depois que o sistema é instalado.
Dito isto, você pode fazer com que o instalador execute comandos do script preseed, assim:
d-i preseed/late_command string \
command1; \
in-target command2; \
command3
(Esse é um único comando shell longo com backslashed para dividir a linha em partes.)
Esses comandos podem fazer o que você precisar. Observe como prefixei um dos comandos com in-target
: isso faz com que ele seja executado dentro do ambiente recém-instalado, e não no ambiente do instalador.
Se você tem mais trabalho a fazer, então é prático usar esse método, minha sugestão é criar seu próprio pacote ( xxx.deb
) que atua como seu pacote virtual de configuração local e, quando instalado, personalizou o enriventment da maneira que você gostar. A vantagem disso é que você também pode instalar esse pacote em um sistema que não tenha sido instalado usando o instalador personalizado (talvez ele tenha sido instalado usando o instalador padrão) e obtenha o benefício.
how would i install and configure themes for mint
Eu não sei. Os temas estão contidos em pacotes? Isso seria legal porque você poderia simplesmente adicionar esses pacotes à lista. Caso contrário, considere empacotá-los.
Você pode hospedar seu próprio repositório APT para quaisquer pacotes personalizados locais que você criar. Você pode especificar seu repositório local no arquivo pressionado (com d-i apt-setup/[...]
) para que o instalador saiba onde pegar seus pacotes.