Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automatização de Instalações Linux

Automatização de Instalações Linux

Latinoware 2014 - Artigo Publicado na LibreOffice Magazine n13 - Outubro 2014

Marcos Teixeira

October 17, 2014
Tweet

More Decks by Marcos Teixeira

Other Decks in How-to & DIY

Transcript

  1. Celtab Missão ITAIPU: Gerar energia elétrica de qualidade, com responsabilidade

    social e ambiental, impulsionando o desenvolvimento econômico, turístico e tecnológico, sustentável, no Brasil e no Paraguai. PTI: Promover o desenvolvimento territorial sustentável por meio da educação, ciência, tecnologia, inovação, cultura e empreendedorismo.
  2. Celtab Desde a sua criação, em 2003, o PTI busca

    nas tecnologias abertas soluções inovadoras para disseminar o conhecimento, promover a inclusão social e digital e impulsionar o desenvolvimento territorial. Além da utilização do software livre em ambiente corporativo, o PTI atua no seu desenvolvimento, por meio de centros de P&D, e na sua disseminação.
  3. Celtab Roteiro • Cenário; • Motivação; • Processo de Boot

    / Instalação; • Semeando a Instalação; • Método de instalação geração de ISO; • Método de instalação via rede; • Outras ferramenta de gestão de configuração;
  4. Celtab Motivação O que queremos: • Flexibilidade da instalação; •

    Agilidade no processo; • Garantia da integridade do sistema. O que precisamos: • Computador tipo PC; • Terminal Linux.
  5. Processo de Boot 1) /init (initramfs) ou / sbin /

    init (initrd); 2) busybox init; 3) /sbin/debian-installer-startup; 4) /sbin/debian-installer.
  6. Debian Installer 1.Boot e inicialização – configura o instalador para

    carregar componentes adicionais. 2.Carregamento dos componentes adicionais – expandindo o programa de instalação. 3.Configuração de rede – a menos que tenha sido realizada na primeira etapa. 4.Particionamento. 5.Instalação do sistema.
  7. Primeira e segunda fase. Estágio Cdrom Netboot Comentários 1 Initrd-preseed

    Só se /preseed.cfg está presente. 1 locatechooser Idioma / Localização. 1 Kbd-chooser Seleção do teclado. 1 Cdrom-detec Ethdetect Detecção e configuração de hardware. 1 netcfg Configuração de rede. - Pré-configurar-file Rede preseed Se selecionado no prompt de boot. 2 Choose-mirror Seleção do repositório. 2 Load-cdrom Download-instalador Recuperar e descompactar componentes adicionais. 3 ethdetect Detecção e configuração do hardware. 3 netcfg Configuração de rede. 3 Choose-mirror Apenas se a base do sistema não pode ser instalado a partir do CD. 3 Clock-setup Configurar relógio e fuso horário.
  8. Comum a todo processo de instalação Estágio Ação Comentários 4

    hw-detect Detecção de hardware adicional. 4 partman Particionamento, criação do sistema de arquivos e seleção do ponto de montagem. 5 base-installer Sistema de Base (debootstrap) e instalação do kernel. 5 user-setup Configuração da raiz e contas de usuários. 5 apt-setup Configuração APT no sistema de destino (sources.list). 5 pkgsel Selecionar e instalar pacotes adicionais (tasksel). 5 grub / lilo-installer; nobootloader Instalação do gestor de arranque. 5 finish-install Termino da instalação e reinicialização.
  9. Celtab Semeando a instalação – pressed.cfg Preseeding d-i Presseding (semeando)

    provê uma maneira de sinalizar uma pergunta durante o processo de instalação, sem precisar intervenção do manual do usuário. Para que isso seja possível é necessário utilizar dos recursos oferecidos pelos sistemas linux que não estão disponíveis durante processos normais de instalação. Métodos de Utilização • Adicionar o arquivo preseed no instalador initrd.gz. • Carregamento automático do servidor via DHCP. • Carregar o arquivo a partir de um webserver.
  10. Celtab preseed.cfg # Localização d-i debian-installer/locale string pt_BR #Teclado d-i

    keyboard-configuration/xkb-keymap select br d-i keyboard-configuration/variant select Portuguese (Brazil) d-i keyboard-configuration/switch select No temporary switch # Configurações de rede d-i netcfg/dhcp_timeout string 30 d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string celtab d-i netcfg/hostname string celtab d-i netcfg/get_domain string localdomain d-i hw-detect/load_firmwareboolean true # Mirrors d-i mirror/country string manual d-i mirror/http/hostname string 179.106.217.5 d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Installer / Apt-Setup / apt-cacher d-i debian-installer/allow_unauthenticated string true d-i finish-install/reboot_in_progress note d-i prebaseconfig/reboot_in_progress note d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true # relogio e time zone d-i clock-setup/utc boolean true d-i clock-setup/ntpboolean true d-i clock-setup/ntp-server string 0.pool.ntp.org d-i time/zone string America/Sao_Paulo # Partições / Grub d-i partman-auto/method string regular d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true #d-i partman/mount_style select uuuid d-i grub-installer/only_debian boolean true # Usuário e root d-i passwd/root-login boolean true d-i passwd/root-password-crypted password $1$JRctoEDD$LV/Py.N.5/gwT7gad5Xo/0 d-i passwd/user-fullname string d-i passwd/username string user d-i passwd/user-password password user d-i passwd/user-password-again password user # Seleção de programas tasksel tasksel/first multiselect desktop standard ssh-server d-i pkgsel/include string ssh vim ethtool sysstat ntp ntpdate audacity lame libmp3lame # Concurso de pacotes popularity-contest popularity-contest/participate boolean false
  11. Celtab Demais Ferramentas • O PXE pode ser adaptado para

    demais distribuições; • RedHat / CentOS / Fedora usa-se o KickStart • Arquivo /root/anaconda-ks.cfg • FAI - Fully Automatic Installation (http://fai-project.org/) • Puppet (http://puppetlabs.com/)