Instalação KickStart
Tutorial de como instalar sua distribuição favorita pré-configurada com os pacotes que você definiu com apenas um comando.
Introdução
Estou fazendo esse pequeno tutorial (que por sinal é meu primeiro se tratando de Linux) sobre instalações utilizando o KickStart.
O que é uma instalação KickStart?
Bom, resumindo é uma instalação que é feita através de um arquivo de configuração com opções pré-definidas, diminuindo assim o tempo de instalação.
O arquivo ks.cfg
O modo para se conseguir um arquivo desse é indo no diretório /root de sua distro e ver o arquivo anaconda-ks.cfg. Esse é gerado pelo Anaconda após a instalação da distribuição, nele você achará boa parte do seu ks.cfg.
Descrição do ks.cfg:
Aqui um exemplo do anaconda-ks.cfg
O que é uma instalação KickStart?
Bom, resumindo é uma instalação que é feita através de um arquivo de configuração com opções pré-definidas, diminuindo assim o tempo de instalação.
O arquivo ks.cfg
O modo para se conseguir um arquivo desse é indo no diretório /root de sua distro e ver o arquivo anaconda-ks.cfg. Esse é gerado pelo Anaconda após a instalação da distribuição, nele você achará boa parte do seu ks.cfg.
Descrição do ks.cfg:
Aqui um exemplo do anaconda-ks.cfg
# Kickstart file automatically generated by anaconda.
# Essa linha define se você vai dar um upgrade ou se vai instalar a distro.
# Em caso de upgrade é só substituir o install por upgrade
install
# Aqui você põe onde vai estar seu repositório
# (também pode ser nfs, harddrive ou url)
cdrom
# Língua a ser instalada como padrão
lang pt_BR.UTF-8
# layout do teclado
keyboard br-abnt2
# resolução e driver de vídeo
xconfig --driver "ati" --resolution 800x600 --depth 24
# configurações de rede
network --device eth0 --bootproto static --ip 127.0.0.1 --netmask 255.255.255.0 --gateway 127.0.0.1 --nameserver 127.0.0.1 --hostname nome-do-pc
# senha do root (aqui setada pra 123456 e encriptada)
rootpw --iscrypted $1$AMbXlsNo$tHn7VqXwBBqRt0x1MWO/n/
# firewall (pode ser --enabled ou --disabled)
firewall --enabled --port=22:tcp
# tipo de autenticação (para maiores informações vide link no fim do tutorial)
authconfig --enableshadow --enablemd5
# selinux... pode ser --enforcing --disabled --permissive
selinux --enforcing
# fuso horário
timezone America/Maceio
# config. de boot... meio intuitivo né? mais local de onde vai fazer
# o boot e driver primário...
bootloader --location=mbr --driveorder=hda
# bom aqui vem configs de particionamento...
# esse comando serve para remover partições. Por padrão essa opção vem comentada.
# parâmetros:
#--linux
# Apaga todas as partições linux.
#--all
# Apaga todas as partições.
#--drives [1]
# Apaga partições do drive escolhido.
#--initlabel [1]
# Essa serve para que na inicialização o sistema que está sendo instalado
# seja o padrão.
clearpart --all --initlabel
# comando para limpar o boot atual
zerombr yes
# Aqui temos alguns exemplos de criação de partições:
# usamos --fstype para definir o tipo de partição; --size para definir o
# tamanho e o atributo --grow para indicar que a partição deve ocupar todo
# o espaço disponível após as outras estarem em seu devido lugar.
part /boot --fstype ext3 --size 100
part /var --fstype ext3 --size 1 --grow
part swap --size 1024
part / --fstype ext3 --size 10000
# Aqui segue a lista de pacotes que você quer que ele instale.
# Os que têm uma @ antecedendo-os indica que é um grupo de pacotes.
# Os demais são pacotes específicos.
%packages
@development-libs
@development-tools
@system-tools
nash-5.1.19-1
chkconfig-1.3.30-1
expat-1.95.8-8.2.1
atk-1.12.2-1.fc6
ncurses-5.5-24.20060715
# embaixo do %post você coloca os comandos para serem executados
# assim que a instalação for terminada
%post
# Essa linha define se você vai dar um upgrade ou se vai instalar a distro.
# Em caso de upgrade é só substituir o install por upgrade
install
# Aqui você põe onde vai estar seu repositório
# (também pode ser nfs, harddrive ou url)
cdrom
# Língua a ser instalada como padrão
lang pt_BR.UTF-8
# layout do teclado
keyboard br-abnt2
# resolução e driver de vídeo
xconfig --driver "ati" --resolution 800x600 --depth 24
# configurações de rede
network --device eth0 --bootproto static --ip 127.0.0.1 --netmask 255.255.255.0 --gateway 127.0.0.1 --nameserver 127.0.0.1 --hostname nome-do-pc
# senha do root (aqui setada pra 123456 e encriptada)
rootpw --iscrypted $1$AMbXlsNo$tHn7VqXwBBqRt0x1MWO/n/
# firewall (pode ser --enabled ou --disabled)
firewall --enabled --port=22:tcp
# tipo de autenticação (para maiores informações vide link no fim do tutorial)
authconfig --enableshadow --enablemd5
# selinux... pode ser --enforcing --disabled --permissive
selinux --enforcing
# fuso horário
timezone America/Maceio
# config. de boot... meio intuitivo né? mais local de onde vai fazer
# o boot e driver primário...
bootloader --location=mbr --driveorder=hda
# bom aqui vem configs de particionamento...
# esse comando serve para remover partições. Por padrão essa opção vem comentada.
# parâmetros:
#--linux
# Apaga todas as partições linux.
#--all
# Apaga todas as partições.
#--drives [1]
# Apaga partições do drive escolhido.
#--initlabel [1]
# Essa serve para que na inicialização o sistema que está sendo instalado
# seja o padrão.
clearpart --all --initlabel
# comando para limpar o boot atual
zerombr yes
# Aqui temos alguns exemplos de criação de partições:
# usamos --fstype para definir o tipo de partição; --size para definir o
# tamanho e o atributo --grow para indicar que a partição deve ocupar todo
# o espaço disponível após as outras estarem em seu devido lugar.
part /boot --fstype ext3 --size 100
part /var --fstype ext3 --size 1 --grow
part swap --size 1024
part / --fstype ext3 --size 10000
# Aqui segue a lista de pacotes que você quer que ele instale.
# Os que têm uma @ antecedendo-os indica que é um grupo de pacotes.
# Os demais são pacotes específicos.
%packages
@development-libs
@development-tools
@system-tools
nash-5.1.19-1
chkconfig-1.3.30-1
expat-1.95.8-8.2.1
atk-1.12.2-1.fc6
ncurses-5.5-24.20060715
# embaixo do %post você coloca os comandos para serem executados
# assim que a instalação for terminada
%post
Fica ai a pergunta.