«

»

Ago 02

Stampa Articolo

Kickstart Linux – tutorial ed uso

Quando devi installare molti server o vuoi rifare più volte lo stesso server puoi ricorrere al Kickstart Linux.

Kickstart Linux installazione

L’installazione del sistema operativo Linux RedHat, e sue versione community come la CentOS, è stata semplificata e velocizzata di release in release, tuttavia per installare da zero il sistema operativo devi ripetere alcuni passaggi che possono essere automatizzati con il kickstart linux.

La definizione da Wikipedia:

The Red Hat Kickstart installation method[1] is used primarily (but not exclusively) by the Red Hat Enterprise Linux operating system to automatically perform unattended operating system installation and configuration.

Il kickstart è un file di configurazione .cfg contenente una serie di opzioni che Anaconda ( l’installer dei SO Red Hat, CentOS, … ) è in grado di leggere ed eseguire in modo automarico.

Generare il Kickstart Linux

La creazione del kickstart Linux puoi ottenerla con diversi metodi:

  1. scrivendolo a mano, ossia compilando un file di testo ( con estensione .cfg ) che contenga le opzioni per anaconda;
  2. utilizzando uno strumento come il system-config-kickstart tool messo a disposizione dalle distribuzioni basate su RedHat e anaconda;
  3. partendo dal file anaconda-ks.cfg presente nel path /root/ dopo una installazione manuale;

Un esempio del kickstart linux

Prendo ad esempio il file anaconda-ks.cfg presente sulla mia ultima installazione CentOS release 6.4 (Final):

# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
cdrom
lang en_US.UTF-8
keyboard it2
network --onboot no --device eth0 --bootproto dhcp --noipv6
network --onboot no --device eth1 --bootproto dhcp --noipv6
rootpw  --iscrypted $6$UDsM8.eWFIW70$cndt1NEM9sCxk8doprgmKItZ/BPJsb.13/jJh.5vT.SM5AjuQ4TEIKbe17xbmJ4bKNMUD8LOoLmKxb6H.
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Europe/Rome
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --all

#part /boot --fstype=ext4 --asprimary --size=200
#part pv.008002 --grow --size=200

#volgroup vg_root --pesize=4096 pv.008002
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=18228
#logvol swap --name=lv_swap --vgname=vg_root --size=2048

%packages --nobase
@core
%end

il file è molto corto perchè:

  • ho installato la CentOS come minimal ossia con un ridottissimo numero di pacchetti
  • non ci sono le configurazioni post installazione ( ne parlerò in un prossimo articolo )

Leggendo il file dalle prime linee noti che quelle precedute dal carattere # sono dei commenti;

linea 04: indica che vuoi eseguire una nuova installazione;

linea 05: l’installazione sarà eseguita dal cdrom, nella realtà le ultime release di CentOS si installano da DVD ma l’opzione è rimasta cdrom;

linea 06: imposta il linguaggio del sistema operativo, io installo sempre i SO in Inglese;

linea 07: imposta il tipo di tastiera, essendo la mia una tastiera italiana estesa ho messo it2;

linee 08-09: imposta le due schede di rete eth0 ed eth1 per non partire al boot, non attivare l’IPv6 e recuperare l’IP dal DHCP;

linea 10: imposta la password di root in modo criptato, è una opzione di sicurezza che ti evita il rischio di diffondere la tua password di root se qualcuno legge il file di configurazione del kickstart linux;

linea 11: imposta la presenza del firewall e la regola che ti permetterà di accedere alla tua installazione via ssh;

linea 12: imposta il login mediante /etc/shadow e crypt delle passord con l’algoritmo SHA512;

linea 13: imposta l’selinux in modalità enforcing;

linea 14: imposta il timezone su Roma necessario alla sincronizzazione dell’ora del server;

linea 15: questa linea contiene alcune delle opzioni di start del SO, queste opzioni sono impostate per il bootloader ossia la fase di boot del sistema ed indicano ad anaconda di installare il bootloader nella mbr del disco sda ( il primo ed unico disco presente nel mio server ) mettendo in coda al comando di boot le opzioni contenute nel parametro “append”

le linee 16-27 sono commentate perchè ritenute da anaconda pericolose se eseguite senza controllo, ricorda che questo file è stato generato in automatico, nel file che crei tu per la tua installazione dovrai controllare che le opzioni descritte sono corrette e decommentarle;

linea 20: esegui la pulizia delle partizioni qualora fossero presenti sul disco, pensa ad una reinstallazione su hw già installato;

linee 22-23: crei due partizioni, la prima per il /boot, di tipo ext4, primaria, di 200Mb sufficienti ed abbondanti per ospitare l’immagine di boot del SO. La linea 23 crea una partizione di tipo PhisicalVolume (pv) 8e ( LVM ) di 200Mb;

linee 25-27: crei il VolumeGroup ed i LogicalVolume relativi alla / ( root ) in cui installeremo il sistema operativo e la particione di swap;

linea 29: inizia la sezione relativa all’installazione dei pacchetti che vuoi trasferire sul server con il kickstart linux;

linea 30: imposti i pacchetti di tipo @core la @ è utilizzata per indicare un gruppo di pacchetti, in questa mia installazione è l’unico gruppo che desidero installare;

linea 31: chiudi la sezione relativa all’installazione dei pacchetti.

Cosa avrai al termine dell’installazione

Il sistema operativo che installerai con questo kickstart linux è una versione CentOS 6.4 ( se parti dal Dvd della CentOS 6.4 ) in inglese con tastiera italiana estesa ed i pacchetti minimi installati.

Il sistema avrà una partizione di /boot da 100Mb e una SWAP di 2Gb oltre al filesystem principale di 17Gb circa;

Inoltre avrai già configurato le due schede di rete perchè non siano avviate al boot e quando le attiverai mediante linea di comando andranno a cercare un server DHCp da cui ottenere le informazioni di configurazione.

Come si usa il kickstart linux

Puoi creare tutti i file .cfg che desideri e includerli in un file immagine .img, se non sai creare un file img con Linux ti invito a leggere questo articolo.

In Fase di installazione avrai bisogno sia del floppy.img sia del Dvd della CentOS 6.4 o altra versione Red Hat.

Se stai installando una macchina virtuale linux, ad esempio una Vbox i passaggi, dopo la creazione della Vbox Linux sono:

Kickstart Linux Vbox aggiungi Floppy

Aggiungi il floppy

Step 2:

Kickstart Linux Vbox associa Dvd

Associa Dvd di installazione

Step 3:

Kickstart Linux Vbox seleziona Dvd

Seleziona Dvd di installazione

Step 4:

Kickstart Linux Vbox associa floppy

Associa immagine floppy

Step 5:

Kickstart Linux Vbox scegli floppy

Scegli disco floppy

Step 6:

Kickstart Linux Vbox seleziona floppy

Seleziona l'immagine del floppy creata

Step 7:

Kickstart Linux Vbox Dvd e floppy

Controlla che Dvd e floppy siano associati

Avvia la Vbox, Step 8:

Kickstart Linux Vbox select cdrom al boot

Al Boot scegli cdrom

Step 9:

Kickstart Linux Vbox seleziona installazione

Premi il tasto Tab

Step 10:

Kickstart Linux Vbox seleziona ks floppy

Aggiungi alla stringa: ks=hd:fd0/anaconda-ks-vbox.cfg

Step 11:

Kickstart Linux installazione

Al termine dell’installazione con il Kickstart Linux la Vbox si riavvia in automatico e dovrai deselezionare il Floppy ed il CDRom per consentire al tuo nuovo server di avviarsi correttamente dall’HD locale su cui è installato.

Buon lavoro !!!

Permalink link a questo articolo: http://www.mauroalfieri.it/informatica/kickstart-linux-tutorial-uso.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>