Mudando um pouco, já que o Centos ainda não esta dando suporte a ARM, esta consumindo muito recurso quando preciso poupar os mesmos (Tem projeto nascendo) então como na vida muitas vezes temos pequenos desvios...
Neste caso vamos ver como automatizar a instalação do Debian Jessie, porém o usuário somente particiona o disco, o restante é feito automaticamente.
Para isso, vamos baixar a ISO original ~650mb
# cd ~
# wget http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-CD-1.iso
Montar a ISO para poder copiar os arquivos
# mount -o loop debian-8.1.0-amd64-CD-1.iso /mnt
# mkdir ~/iso
# rsync -a -H --exclude=TRANS.TBL /mnt/ ./iso
Alterando o isolinux.cfg para iniciar a instalação automaticamente e carregar o arquivo preseed.cfg
# vim iso/isolinux/isolinux.cfg
O conteúdo do arquivo é este
default install
prompt 1
timeout 240
display message.txt
F1 message.txt
label install
menu label ^Instalacao Servidor
linux /install.amd/vmlinuz
initrd /install.amd/initrd.gz
append cdrom-detect/try-usb=true preseed/file=/cdrom/preseed.cfg locale=en_US keyboard-configuration/xkb-keymap=br-abnt2 languagechooser/language-name=English countrychooser/shortlist=US DEBCONF_DEBUG=5 video=vesa:ywrap,mtrr vga=788 --- quiet
Criando o arquivo preseed.cfg com o seguinte conteudo, esta dividido em grupos de configuração, praticamente ele é auto descritivo.
### USO GERAL
debconf debconf/priority string critical
unknown debconf/priority string critical
d-i debconf/priority string critical
### TECLADO E IDIOMA
d-i console-keymaps-at/keymap select br-abnt2
d-i debconf/language string en_US
d-i languagechooser/locale string en_US
d-i debian-installer/keymap select br-abnt2
d-i debian-installer/language string en
d-i debian-installer/locale string en_US
## OPERACOES COM O CD
d-i cdrom-checker/start boolean false
d-i cdrom-detect/load_media boolean false
### REDE
#d-i netcfg/link_wait_timeout string 1
#d-i netcfg/dhcp_timeout string 1
d-i netcfg/use_dhcp false
d-i netcfg/disable_dhcp boolean true
d-i netcfg/dhcp_failed note
d-i netcfg/choose_interface select eth0
d-i netcfg/hostname string servidor1
d-i netcfg/get_ipaddress string 10.10.10.1
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string 10.10.10.1
d-i netcfg/get_nameservers string 10.10.10.1
d-i netcfg/confirm_static boolean true
### CONTA DO USUARIO
d-i passwd/root-login boolean true
d-i passwd/make-user boolean false
### Senha Padrao `printf "abc123!" | mkpasswd -s -m md5`
d-i passwd/root-password-crypted password $1$Gy43AnD3$TkVbQupeEhkrDN4llbPvr0
### USUARIO COMUN (CONTA DESABILITADE SOMENTE USAR ROOT)
d-i passwd/user-fullname boolean false
d-i passwd/username boolean false
d-i passwd/user-password boolean false
d-i passwd/user-password-again boolean false
### HORA
d-i clock-setup/utc boolean true
d-i time/zone string America/Sao_Paulo
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string pool.ntp.br
### PARTICIONAMENTO MANUAL SUPRIME CONFIRMACAO
d-i partman-auto/init_automatically_partition select Manual
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
## DESABILITA O MIROR DOWNLOAD DE PACOTES DURANTE A INSTALACAO
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
### CONFIGURACOES DO ATP-GET
d-i apt-setup/use_mirror boolean false
### PACOTES EXTRAS QUE SERAM INSTALADOS
tasksel tasksel/first multiselect standard, ssh-server
d-i pkgsel/include string vim
### NAO ENVIA INFORMACOES REFERENTE A PACOTES UTILIZADOS
popularity-contest popularity-contest/participate boolean false
### INSTALA O GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/bootdev string default
### TERMINA A INSTALACAO E REINICIA
d-i finish-install/reboot_in_progress note
## REMOVE O GATEWAY E O DNS PADRAO DA INSTALACAO
d-i preseed/late_command string sed -i '/gateway/d' /target/etc/network/interfaces ; sed -i '/dns-nameservers/d' /target/etc/network/interfaces ; echo > /target/etc/resolv.conf
Após fazer todas alterações, salve este conteúdo dentro do arquivo iso/preseed.cfg .
Agora atualize o MD5 dos arquivos
# cd ~/iso
# md5sum `find -follow -type f` > md5sum.txt
# cd ..
Agora vamos criar a iso do nosso novo sistema
# genisoimage -o LinuxNovo.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ./iso
Feito, você criou uma ISO de instalação automática, ou quase automática...
Obs:. Na ultima linha d-i preseed/late_command eu posso rodar comandos de pós instalação, também pode ser criado um script para fazer estes ajustes, também pode fazer um chroot /target e rodar comandos na nova instalação,
Obs2:. /target é a pasta onde esta montada a nova instalação, então tudo que for alterado dentro desta estrutura afeta diretamente a nova instalação
Fonte: https://www.debian.org/releases/stable/i386/apb.html
Fonte2: https://www.debian.org/releases/jessie/example-preseed.txt
Forte abraço a todos,
Marcos Carraro
Nenhum comentário:
Postar um comentário