Enviada: Ter Mar 13, 2007 10:08 am Assunto: Tutorial - Instalação Kickstart
Estou fazendo esse pequeno tutorial (que por sinal é meu primeiro se tratando de linux) sobre instalações utilizando o KickStart para distribuições Red Hat based.
O que é uma instalação KickStart?
É um modo de instalação automatizada onde você pode criar um arquivo contendo as respostas para todas as perguntas que são feitas durante uma instalação típica. Uma utilização bem prática para o KickStart é para quem quer fazer a mesma instalação em várias máquinas pois tanto o arquivo que contem as respostas como os pacotes necessários para a instalação podem estar em uma maquina e serem acessados pelas outras da rede; do mesmo modo em que podem estar num cd, dvd, hd local, ftp ou http.
Criando o arquivo kickstart (ks.cfg)
Bom, um arquivo kickstart é um arquivo de texto comum que em cada linha terá uma resposta para cada pergunta feita na instalação. O Red Hat a partir do 9 vem com uma aplicação para configuração desse arquivo, mas aqui falerei como fazer seu proprio com um editor de texto qualquer.
O modo mais fácil é fazer a primeira instalação normalmente que servirá como modelo para as outras. No diretório /root/ você encontrará um arquivo chamado anaconda-ks.cfg que foi gerado automaticamente com as respostas da sua instalação.
A ordem para as respostas não faz diferença, não precisam estar na ordem da instalação porém o arquivo deve ter a seguinte estrutura:
RESPOSTAS DA INSTALAÇÃO
%pre #que são comandos a serem executados antes da instalação
%post #que são comandos a serem executados após a instalação
O %pre e %post são opcionais. Caso você queira fazer algo manualmente durante a instalação é só omitir a resposta e ele irá lhe perguntar o que fazer ^^.
Aqui um exemplo do anaconda-ks.cfg
# Kickstart file automatically generated by anaconda.
#Essa linha diz ao sistema para fazer uma nova instalação em vez de fazer um upgrade em uma instalação existente. Para fazer upgrade em uma instalação existente é só substituir o install por upgrade.
install
#Aqui você poe onde vai estar seu repositório.
#cdrom - Instala a partir de um cdrom ou dvd
#harddrive - instala apartir do disco rigido. Pode ser definida a partição onde estarão os arquivos ou o diretório:
# Para partição: harddrive --partition=<partição>
# Para diretório: harddrive --partition=<partição> --dir=/diretorio/da/instalacao
#nfs - instala a partir de um servidor NFS
# Para servidor: nfs --server=<hostname ou IP>
# Para diretório no servidor: nfs --server=<hostname ou IP> --dir=/diretorio/da/instalacao
#url - Instala a partir de um servidor remoto FTP ou HTTP
# Para http: url --url http://<servidor>/<diretorio>
# Para ftp: url --url ftp://<usuario>:<senha>@<servidor>/<diretorio>
cdrom
#Lingua a ser instalada como padrão
lang pt_BR.UTF-8
#layout do teclado
keyboard br-abnt2
#configuração de video
#xconfig - Configura o X. Se essa informação for omitida ele pedirá para você configurar o servidor X durante a instalação, isso se você quiser
#instalar o X; caso contrário nada precisa ser especificado aqui.
# --card= - Usa driver de video especificado. Podemos encontrar uma lista em /usr/share/hwdata/Cards. Caso essa informação seja omitida será
#utilizado o driver padrao pci. (placas agp também podem ser detectadas e funcionarão com esse drive desde que sejam suportadas xD)
# --videoram= - Especifica quantidade de RAM que a placa de video tem.
# --monitor= - usa o monitor especificado. Uma lista pode ser encontrada em /usr/share/hwdata/MonitorsDB
# --hsync= - especifica frequencia horizontal do monitor
# --vsync= - especifica frequencia vertical do monitor
#CASO --hsync e --vsync SEJAM ESPECIFICADAS --monitor IRÁ SER DESCARTADO!
# --defaultdesktop= - especifica o gerenciador padrão de janelas (GNOME, KDE, FLUXBOX)
# --startxonboot - Use essa opção para usar a tela de login modo gráfico
# --resolution= - especifica resolução da tela a ser usada como padrão, escolha uma que você tenha certeza que seja compativel com sua placa
#de video e monitor. Escolha entre: 640x480, 800x600, 1024x768, 1152x864, 1280x1024, 1400x1050, 1600x1200.
# --depth= Quantidade (é quantidade mesmo? profundidade? qualidade? o.O) de cores a serem usadas por padrão. Escolha entre 8, 16, 24, e 32.
xconfig --driver "ati" --resolution 800x600 --depth 24
#configurações de rede
#network - configura intefaces e modo de conexão.
# --bootproto= - pode ser dhcp ou static
# dhcp = utiliza o sistema do servidor DHCP para conseguir sua propria configuração
# static = O método static necessita que você entre com todas as informações de rede. Como o nome já diz essa configuração será usada
#durante e após a instalação pois é ESTÁTICO (duh o.O). Você terá que epecificar o IP address, mascara de rede, gateway, nome do servidor.
#Lembrando que nesse modo se você for fazer o exemplo que citei no começo, de instalar em varias maquinas de uma só vez, você terá problemas
#pois terá conflito de IP! nesse caso seria interessante omitir essa informação para que ele pedisse para você escolher durante a instalação.
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
#bom, aqui é o seguinte, no exemplo abaixo temos a senha 123456 já encriptada como você pode perceber heheh... o atributo --iscrypted apenas
#diz que a senha já está encriptada, ele não faz essa encriptação.
rootpw --iscrypted $1$AMbXlsNo$tHn7VqXwBBqRt0x1MWO/n/
#configuração do firewall
#sintaxe: firewall <nivel de segurança> [--trust=] <de onde vem> [--port=]
#nivel de segurança pode ser: --high (alto), --medium (medio), --disabled (desabilitado)
#--trust - bom, aqui você adciona os dispositivos que são confiaveis e que os pacotes que vem deles irão passar direto pelo firewall.
#ex.: --trust eth0
#para definir mais de um não use virgulas ou coisas do tipo... faça assim: --trust eth0 --trust eth1
#<de onde vem> - selecione que tipo de protocolo é permitido passar: --dhcp --ssh --telnet --smtp --http --ftp
#--port= - Você pode especificar de quais portas podem passar pelo firewall usando protocolos ou o número da porta específica.
#ex.: para permitir acesso IMAP pelo seu firewall, especifique imap:tcp.
#ex².:para permitir acesso de pacotes UDP para a porta 1234, especifique 1234:udp. Aqui você pode especificar várias portas separadas por
VÍRGULA xP
firewall --medium --trust eth0 --port=22:tcp
#Configurar as opções de autenticação
#--enablemd5
# Use encriptação md5 para senhas de usuários.
#--enablenis
# Liga o suporte a NIS. Por padrão, --enablenis usa qualquer domínio que ele encontra na rede. O domínio quase sempre tem que ser
#especificado manualmente pelo comando a seguir.
#--nisdomain=
# Nome do domínio NIS usando em serviços NIS.
#--nisserver=
# Servidor para usar serviços NIS
#--useshadow ou --enableshadow
# Usa senhas shadow.
#--enableldap
# Liga suporte a LDAP em /etc/nsswitch.conf, permitindo seu sistema captar informação sobre usuários (UIDs, diretórios home, shells, etc.)
#de um diretório LDAP. Para usar essa opção você tem que instalar o pacote nss_ldap.
#--enableldapauth
# Usa LDAP como método de autenticação.
#--ldapserver=
# Use essa opção para especificar o servidor LDAP que você usará.
#--enableldaptls
# Essa opção habilita o LDAP para mandar logins e senhas encriptador para um servidor LDAP antes da autenticação.
authconfig --enableshadow --enablemd5
#fuso horario. A opção --utc especifica que a hora do seu sistema é baseada no UTC (algo a ver com o Meridiano de Greenwich xP)
timezone --utc America/Maceio
#config. de boot... meio intuitivo né? mas local de onde vai fazer o boot... e driver primario...
#bootloader - Especifica como o gerenciador de boot deve ser instalado e se vai ser LILO ou GRUB.
# --append= - Especifica parametros do kernel. Para especificar vários use apenas espaço entre eles.Exemplo:
# bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"
# --location= - Especifica onde o boot será gravado. Escolha entre: mbr (padrão), partition (instala o gerenciador de boot no primeiro setor
#da partição que contem o kernel), ou none (não instala o gerenciador de boot).
# --password= - Se for usar o GRUB esse parametro define a senha do GRUB.
# --md5pass= - mesma coisa do --password só que aqui a senha já tem que estar encriptada
# --useLilo - usa o LILO no lugar do GRUB (que é padrão)
bootloader --location=mbr --password=globsglobs
#bom aqui vai configs de particionamento...
#esse comando serve remover partições. Por padrão essa opção vem comentada.
#parametros:
# --linux
#Apaga todas as partições linux.
#--all
#Apaga todas as partições.
#--drives=
#Apaga partições do drive escolhido.
#--initlabel
#Essa serve para que na inicialização o sistema que está sendo instalado seja o padrão.
clearpart --all --initlabel
#comando para limpar todas as partições que são tidas como inválidas
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
# --grow para indicar que a partição deve ocupar todo o espaço disponivel 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 q ele instale.
#Os que têm uma @ antecedendo-os indica que é um grupo de pacotes. Os demais são pacotes específicos.
#embaixo do %pre você coloca os comandos para serem executados antes de começar a instalação. (opcional)
%pre
#embaixo do %post você coloca os comandos para serem executados assim que a instalação for terminada. (opcional)
%post
Com esse arquivo configurado corretamente você pode escolher entre deixando em uma maquina da rede, em um servidor ftp ou http remoto, coloca-lo em um disquete ou na ISO do seu CD ou DVD de instalação da distro!!! Sendo um dvd ou cd é muito mais prático pois é só dar boot pela midia desejada e dar o comando:
linux ks=cdrom
Para os outros métodos:
Disquete:
linux ks=floppy
Rede:
ks=nfs:<server>:/<path>
*Para executar uma instalação kickstart baseada na rede, você precisa ter um servidor BOOTP/DHCP na sua rede e deve incluir as informações de configuração da máquina na qual está instalando a distro. O servidor BOOTP/DHCP proverá suas informações de rede e a localidade do arquivo kisckstart ao cliente. Se um arquivo kickstart é especificado pelo servidor BOOTP/DHCP, o sistema cliente tentará uma montagem NFS da localidade do arquivo e o copiará no cliente, usando-o como um arquivo kickstart. As configurações exatas variam dependendo do servidor BOOTP/DHCP que você usar.
Exemplo de uma linha do arquivo dhcpd.conf do servidor DHCP:
filename "/localdo/arquivo/kickstart/nomedoarquivo.cfg";
next-server servidor.nfs.com;
URL:
ks=http://<server>/<path>
[b]Espero que isso ajude em algo... pq ralei um bocado pra chegar a esse arquivo hehehehhe...
ps.:
1 - Tudo isso foi feito, testado e aprovado em pcs intel, amd, 64 e 32 bit. Foi utilizado o Fedora Core 6. Se alguem testar com outro e funcionar posta ae! xD/[b] _________________ Confirmado: dias 28, 29 e 30 de Setembro de 2007 em Aracaju - SE.
II ENSL - Encontro Nordestino de Software Livre
I LIVRE-SE - Encontro Sergipano de Software Livre
http://www.ensl.org.br
Registrado em: Oct 22, 2004 Mensagens: 2142 Localização: Salvador - Bahia
Enviada: Sex Mar 16, 2007 10:15 pm Assunto:
Cara Muito show o tutorial :)
Os passos estão perfeitos.
Parabens. _________________ Cristiano Furtado dos Santos
Gerente de Projetos de SL
Embaixador do Projeto Fedora Brasil.
Pagina Pessoal: http://jasonnfedora.eti.br
...
Algum dia eu tomo coragem e faço o meu primeiro tutorial...
hehehe
kkkkkkk... cara... esse eh o principal passo depois de decidir o q vai escrever... hehehehehehe... mas vale a pena... compartilhar conhecimento para que cada um vá aumentando sua parcela de liberdade... xD _________________ Confirmado: dias 28, 29 e 30 de Setembro de 2007 em Aracaju - SE.
II ENSL - Encontro Nordestino de Software Livre
I LIVRE-SE - Encontro Sergipano de Software Livre
http://www.ensl.org.br
Registrado em: Sep 27, 2006 Mensagens: 105 Localização: Santa Maria - RS
Enviada: Seg Mar 19, 2007 2:37 pm Assunto:
heathcliffz escreveu:
valeu ae galera... qualquer duvida posta ae! xD
dockism escreveu:
...
Algum dia eu tomo coragem e faço o meu primeiro tutorial...
hehehe
kkkkkkk... cara... esse eh o principal passo depois de decidir o q vai escrever... hehehehehehe... mas vale a pena... compartilhar conhecimento para que cada um vá aumentando sua parcela de liberdade... xD
aham, quando eu vivia no mundo win, eu não tinha essa vontade de ajudar os outros, hoje eu entro em varios sites, participo de lista e é muito bom ajudar....mas artigo, tutorial, ainda não chegou a hora eu acho...hehe