Automatizando Instalaciones RedHat/Centos Con KickStart

En ocasiones y ante la repetitividad de la operación en algunas instalaciones y estar aburrido de realizar la misma operación por “x” veces, lo mejor en este escenario es automatizar la instalación mediante el método “kickstart”. Cuando uno hace una instalación mediante insterfaz gráfica en Redhat/Centos/Fedora (instalador RedHat) al final del proceso se crea un archivo de la instalación bajo /root/anaconda-ks.cfg. Este archivo lo podemos tomar y complementar la instalación que igura en el. Bueno, si queremos utilizarlo como “plantilla” para otra instalación solo tenemos que tomar ese archivo y lo copiamos en un medio extraible (Ej. Usb). Por ejemplo, y en el siguiente escenario, vamos a realizar una instalación tomando un archivo kickstart que sacamos de otra instalación y lo alojamos en un Usb el que será instanciado una vez que instalemos el SO.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Kickstart file automatically generated by anaconda.

install
text
cdrom
key --skip
lang en_US.UTF-8
keyboard la-latin1
xconfig --startxonboot
#network --device eth0 --onboot no --bootproto dhcp --hostname hosts.example.com
#network --device eth2 --bootproto static --ip 10.0.0.190 --netmask 255.255.255.0 --gateway 10.0.0.1 --hostname hosts.example.com
rootpw MyPassword
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone America/Santiago
firstboot --disable
services --disabled pcscd,hidd,bluetooth,pand,isdn,cups,avahi-daemon,cups,cups-config-daemon,pcscd,hplip,hidd,portmap,rpcidmapd,rpcsvcgssd,rpcgssd,sendmail,nfslock,mdmonitor,setroubleshoot,restorecond,rawdevices,smartd,qpidd,postfix
reboot

bootloader --location=mbr --driveorder=sda,sdb --append="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
# VALORES DE DISCOS EN MB
clearpart --linux --drives=sda,sdb
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.8 --size=0 --grow --ondisk=sda
volgroup vg00 --pesize=32768 pv.8
logvol /tmp --fstype ext3 --name=tmp --vgname=vg00 --size=1000
logvol /usr --fstype ext3 --name=usr --vgname=vg00 --size=1000
logvol /var --fstype ext3 --name=var --vgname=vg00 --size=1000
logvol /stage --fstype ext3 --name=stage --vgname=vg00 --size=1000
logvol /admin --fstype ext3 --name=admin --vgname=vg00 --size=1000
logvol /home --fstype ext3 --name=home --vgname=vg00 --size=1000
logvol / --fstype ext3 --name=raiz --vgname=vg00 --size=2000
logvol swap --fstype swap --name=swap --vgname=vg00 --size=1000

%packages
@admin-tools
@base
@core
@development-libs
@development-tools
@dialup
@editors
@gnome-desktop
@graphical-internet
@java
@legacy-software-development
@legacy-software-support
@printing
@sound-and-video
@text-internet
@base-x
kexec-tools
iscsi-initiator-utils
fipscheck
device-mapper-multipath
sgpio
python-dmidecode
imake
emacs
xorg-x11-utils
xorg-x11-server-Xnest
xorg-x11-server-Xvfb

%post

echo "################################"
echo "# Running Post Configuration   #"
echo "################################"
#Adding a user "oracle"
useradd -m oracle
#Password  "oracle"
echo oraclepass | passwd --stdin oracle

echo "Syslog.conf"
cat << EOF >> /etc/syslog.conf
#texto de prueba dentro de syslog.conf
EOF

Lo anterior, es una archivo típico de instalación en donde yo adiconé lo referente a que la instalación se haga en modo texto lo que está bajo de la variable %post. En este caso el archivo esta alojado en un USB (/dev/sdb1) , por lo cual al momento de carga el instalador tenemos que ejecutar la siguiente instrucción: linux ks=hd:sdb1/ks.cfg

Luego el archivo será accedido y leido para realizar la instalación según lo que se detalló dentro de el.

Este tipo de instalación se puede complementar con PXE y el que el kickstart pueda ser accedido mediante ftp, nfs, etc.

Comments