Kickstart
Kickstart è un sistema di installazione che permette:
- Installare una macchina remotamente
- via rete
- via cdrom
- periferiche esterne
Creare un nuovo Profilo
i profili kickstart sono divisi in 3 parti
preparazione installazione
pre install
selezione pacchetti
post installazione
Installazione di una macchina con Kickstart
Installazione del Server
Servendosi del sistema PXE di boot attraverso ethernet, è possibile automatizzare per completo la messa a punto di un server o una workstation linux. In seguito si spiega come fare utilizzando scientific linux (RedHat).
- PXE è la capacità del bios di una scheda madre e una scheda di rete di iniziare la fase di boot del sistema, procurandosi tutte le informazioni via ethernet.
Questo permette l'avvio di una installazione.
Attivare nel bios del computer (client), l'opzione "boot from LAN" o simili.
- TFTP è il protocollo con cui il computer da installare riceverà i dati.
yum install tftp-server vi /etc/xinetd.d/tftp
cambiare "disabled" da yes a no
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
- change the file /etc/xinetd.conf to allow network hosts, commenting the following line:
only_from = localhost
Riavviare xinetd
chkconfig xinetd on service xinetd restart
Aprire porte firewall (se attivo)
- FTP
-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT
- HTTP
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Creare il file di avvio che leggerà il client nella direcotry
/tftpboot/pxelinux.cfg/
quando un pc richiede l'ip all'avvio, il server gli assegna un indirizzo e gli invia un boot loader, dopodiché cerca nella directory specificata un file con l'indirizzo ip in forma esadecimale. Di seguito riporto la lista dal primo all'ultimo file cercato:
C0A852C9 (192.168.82.201) C0A852 (192.168.82.*) C0A8 (192.168.*) C0 (192.*)
Quindi se vogliamo installare un solo host scriveremo un file di avvio con l'indirizzo completo, come C0A852C9 , se invece il sistema deve essere + generico, riferiremo all'intero segmento di rete che forniamo NetBoot, quindi utilizzeremo C0A852
C0A852
[root@host pxelinux.cfg]# cat C0A852 default hd prompt 1 timeout 100 display boot.msg F1 boot.msg
label install kernel sl5/vmlinuz append initrd=sl5/initrd.img ramdisk_size=8192 ksdevice=eth0 ks=http://192.168.82.1/storage.ks keymap=it noipv6
- l'opzione ksdevice=eth0 può creare confusione nel caso in cui ci siano più di una interfaccie di rete, soluzione: (da fedora9 wiki)
ksdevice=bootif
append initrd=/SL/6/x86_64/initrd.img ip=dhcp ks=nfs:networkbootserver:/diskless/iso/SL/6/x86_64/os/ text rd_NO_LVM selinux=0 nomodetest
- ks=nfs:<server>:/<path>
label hd localboot 0