Download
Faça o download do ISO do servidor Ubuntu no local . Você tem a opção de ir 32 bits ou 64 bits. O nome do arquivo para a edição do servidor será semelhante a este:
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
Assumirei a versão 13.10 de 64 bits nas instruções a seguir, portanto, ajuste os comandos para o download que você fez. Mantenha uma cópia do seu download para que você possa criar várias novas versões a partir do download original, caso precise melhorar seu projeto. Também assumirei que usamos ~/Downloads/
para fazer todo o nosso trabalho.
Configuração inicial
Isso criará dois diretórios "iso" e "isoNew" dentro do diretório Downloads, montará o ISO e copiará o conteúdo de "iso" para "isoNew" para iniciar um novo projeto.
Coloque isso em um arquivo de texto, salve-o, torne-o executável e execute-o:
# Ubuntu custom server
# rinzwind askubuntu.com
# topic: https://sobrelinux.info/questions/1896/how-to-create-a-customized-ubuntu-server-iso"https://i.stack.imgur.com/1gfOH.png">
Resultado:
Adicionando uma opção de menu de inicialização
As opções de menu do instalador são armazenadas em isolinux/txt.cfg
e você pode criar novas opções entre default install
e label install
.
Isso criará uma nova opção chamada "Instalar servidor Ubuntu personalizado" e adicionará um arquivo de kickstart (o arquivo de kickstart é usado para alterar opções; explicado abaixo):
label myownoption
menu label ^Install Custom Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
-
myownoption
é apenas um marcador que você pode usar para identificar sua opção.
- "Instalar o servidor Ubuntu personalizado" é o texto que será exibido no menu de inicialização.
- Se você quiser tornar sua opção de menu a opção padrão, só será necessário alterar o
default install
para default myownoption
.
Exemplo:
e editando o arquivo (usei o nano mas se disponível use gedit, vim ou outro editor). Aqui está minha adição a este arquivo onde eu usei "lampserver" como um rótulo e minha semente será chamada "lampserver" também.
Kickstart (configurando graficamente um arquivo de configuração)
O método de instalação do Red Hat Kickstart é usado principalmente (mas não exclusivamente) pelo sistema operacional Red Hat Enterprise Linux para executar automaticamente a instalação e configuração do sistema operacional autônomo.
Documentação sobre pré-configuração / kickstart para o Ubuntu . O Ubuntu tem suporte limitado para kickstart (e pré-configuração); Uma das coisas que faltam é uma interface gráfica para pré-configuração. Kickstart tem tem opções para isso (veja as imagens), mas estas não parecem funcionar no Ubuntu. Você pode fazer isso manualmente (veja Preseeding abaixo).
Instalação e início do kickstart:
sudo apt-get install system-config-kickstart
ksconfig
** AVISO **
O kickstart está com problemas no Ubuntu 13.10 e, ao iniciá-lo, ele comete erros. Aqui está uma correção . Coloque o patch no comentário em um arquivo de texto, salve-o (eu chamei de "patch") e confirme:
Depois disso ksconfig
funcionou e ele irá iniciar um editor de configuração que permite manipular muitas opções.
Veja o Red Hat Linux 7.2: Personalização Oficial Red Hat Linux Guia para uma descrição de todas as opções que você pode definir.
Depois que você terminar, salve as alterações em um arquivo ks.cfg
e copie-o para o ISO que estamos alterando:
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
- Se você alterar alguma coisa aqui, o instalador solicitará SKIP solicitando essas informações se elas forem consideradas válidas. Se você não alterou uma opção, o instalador ainda solicitará que você responda.
- Você também pode baixar arquivos kickstart e salvá-los como
ks-custom.cfg
in ~/Downloads/newIso/preseed/
.
Exemplo onde inseri minhas credenciais. Eu comecei com sudo ksconfig
da linha de comando.
E salvando no projeto:
Pré-configuração (configuração manual de um arquivo de configuração)
Preseeding fornece uma maneira de definir respostas às perguntas feitas durante o processo de instalação, sem ter que inserir manualmente as respostas enquanto a instalação está em execução. Isso possibilita automatizar totalmente a maioria dos tipos de instalação e até oferece alguns recursos que não estão disponíveis durante as instalações normais.
Copie o preseed para a instalação normal na sua própria etiqueta:
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
- altere o
myownoption
para o que você usou.
Agora, para alterar as configurações. Usando debconf-get-selections
do debconf-utils
, você pode investigar quais parâmetros você pode usar com um software específico.
Exemplo de configuração:
E adicionando o servidor da lâmpada a ser instalado com o tasksel:
-
Se você quiser adicionar pacotes "openssh" e "build-essential", inclua isso no arquivo de propagação:
d-i pkgsel/include string openssh-server build-essential
-
Um exemplo para o openssh:
debconf-get-selections | grep openssh
openssh-server ssh/vulnerable_host_keys note
openssh-server ssh/use_old_init_script boolean true
openssh-server ssh/encrypted_host_key_but_no_keygen note
openssh-server ssh/disable_cr_auth boolean false
-
Você pode adicionar essas opções a custom-iso/preseed/ubuntu-myownoption.seed
.
-
Explicação / exemplos usando as configurações do debconf .
- Um exemplo de arquivo preseed
-
Exemplos sobre: Localização, configuração de rede, console de rede, relógio e tempo, particionando
-
No final do arquivo preseed você pode adicionar pacotes (exemplos aleatórios) como este:
pacotes%
openssh-server
mysql-server
apache2
Instalação offline
Caso você adicione pacotes e aqueles que NÃO estão no ISO, o instalador os baixará do repositório. Se você não tiver uma conexão ativa com a Internet, isso será problemático, então você precisará adicionar todos esses pacotes (e dependências) ao seu projeto e gravá-los em um DVD. Felizmente, o servidor normal ISO tem muito espaço, mas cuidado: CD e / ou DVDs têm tamanho limitado.
Faça o download de todos os pacotes de DEB necessários e armazene-os em ~/Downloads/
. Estes dois diretórios são necessários no novo ISO:
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
E isso atualizará nosso projeto com os novos pacotes:
cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/
Crie o ISO
cd ~/Downloads/
sudo md5sum 'find ! -name "md5sum.txt" ! -path "./isolinux/*" -follow -type f' > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
- a segunda linha cria uma nova soma de verificação e é necessária apenas ao adicionar pacotes.
- o terceiro faz um ISO do seu projeto que você pode gravar em um DVD.
Resultado:
E agora você pode experimentá-lo realmente gravando e instalando-o. Eu recomendaria usar como máquina virtual, pois será mais rápido para testar o ISO criado inicialmente (caso contrário, você continua reiniciando).
E depois de instalar o VirtualBox, recebo o seguinte menu:
Caça aos bugs
Fizemos 1 problemas durante a instalação: o padrão não foi selecionado.
Shadin. Do seu arquivo de sementes no comentário
### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
provavelmente precisa ser assim:
### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
Vala a linha tasksel de você não quer um servidor LAMP (ou seja, Apache, Mysql, Php)