Bonjour à tous,

Je cherche à créer un cd de boot pour une installation simplifier de nombreux serveurs.
Voici mon fichier ks.cfg
# System  language
lang fr_FR
# Language modules to install
langsupport fr_FR
# System keyboard
keyboard fr-latin1
# System mouse
mouse
# Sytem timezone
timezone Europe/Paris
# Root password
rootpw --iscrypted XXXXX
# Reboot after installation
reboot
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr yes
# Partition clearing information
clearpart --linux --initlabel
# Disk partitioning information
part swap --size 550
part / --fstype ext3 --size 1 --grow
# System authorization infomation
auth  --useshadow  --enablemd5
# Network information
network --device eth0 --bootproto query
#network --device eth1 --bootproto query
# Firewall configuration
firewall --disabled
# SELinux configuration
selinux --disabled
# XWindows configuration information
xconfig --depth=32 --resolution=1280x1024 --defaultdesktop=GNOME --startxonboot

# Package install information
%packages
@ base-x
@ graphical-internet
@ server-cfg
@ gnome-desktop
@ web-server
@ dns-server
@ network-server
@ admin-tools
chillispot
numlockx
ntp

%pre
get()  {
        grep $1 /tmp/netinfo |cut -d'=' -f2
}
device=`get DEVICE`
ip=`get IPADDR`
netmask=`get NETMASK`
host=`get HOSTNAME`
gateway=`get GATEWAY`
nameserver=`grep  nameserver /etc/resolv.conf`
line="network --bootproto static --device $device --ip $ip --netmask $netmask --hostname $host --gateway $gateway --$nameserver"
ks="/tmp/ks.cfg"
sed -e "/^network/s/^network.*/$line/" $ks >${ks}.tmp && mv ${ks}.tmp
$ks

%post
/usr/sbin/useradd sofibra
chfn -f 'Didier CAROFF' sofibra
/usr/sbin/usermod -p 'xxxx' sofibra

echo "Hey dude, this is an example of a post install command using echo."
echo "You probably won't be able to see it though if perl isn't executed."
# Modify nameserver
echo "nameserver 10.0.1.10" >> /etc/resolv.conf
echo "10.0.1.10         server.local    server" >> /etc/resolv.conf
# Serveur de temps
/usr/sbin/ntpdate -su ntp.univ-lyon1.fr ntp.imag.fr
Donc le cd boot sans problème mais je coince sur plusieurs points, à savoir :
- je souhaite créer automatiquement un user via
/usr/sbin/useradd sofibra
chfn -f 'Didier CAROFF' sofibra
/usr/sbin/usermod -p 'xxxx' sofibra
dans le %post mais cela ne marche pas.
- je souhaite que l'install me questionne pour la config rezo. mais rien à faire aucun message malgrès le network --device eth0 --bootproto query


Voila je vous remercie d'avance pour vos conseils et aides.
Pour ton ajout d'utilisateur pourquoi ne pas utiliser les options de useradd ? (man useradd)
Pour qu'il te demande la conf rzo ne met pas d'options rzo: vire la ligne => network --device eth0 --bootproto query
Donc le cd boot sans problème mais je coince sur plusieurs points, à savoir :
- je souhaite créer automatiquement un user via
/usr/sbin/useradd sofibra
chfn -f 'Didier CAROFF' sofibra
/usr/sbin/usermod -p 'xxxx' sofibra
dans le %post mais cela ne marche pas.
On peut pas etre moins precis que "ne marche pas". Reformule, stp.
- je souhaite que l'install me questionne pour la config rezo. mais rien à faire aucun message malgrès le network --device eth0 --bootproto query
Vire la ligne 'network' tu fichier kickstart.
Merci Messieur pour vos réponses.
Alors quand je dis ne marche pas cela signifie que l'utilisateur sofibra (dans mon cas) n'est pas crée.

Pour le network je teste et je vous dis.

Encore merci
lors de la phase finale de l'installation, positionne toi sur l'écran contenant les messages d'erreurs (Ctrl-Alt-F1, F2 ou F3 je ne sais plus), il y a surement quelque chose d'affiché.

Sinon, j'ai pris l'habitude de tracer cette phase dans un fichier disponible après l'installation, extrait :
%post
exec &>/root/postinstall.log
echo -n "Debut postinstall : "; date
set -x

# ...
# ce que tu veux faire
# ...

set +x
echo -n "Fin postinstall : "; date
A++
Bonjour messieurs,

Alors petit point à mis parcours.
L'utilisateur est bien crée mais avec un mauvais mot de passe.
Le prompt pour le rezo ne marche tj pas non plus.
Je vais donc tester ca
%pre

chvt 3
exec < /dev/tty3 > /dev/tty3
echo "--Static Network Configuration--"
echo "Please enter ip address for this machine."
read IPADDR
chvt 1
exec < /dev/tty1 > /dev/tty1
Pour l'utilisateur tu passes un -p motdepasse ou un -p md5dumotdepasse ?
Sinons tu peux faire :
useradd toto
echo "toto" | passwd --stdin toto
L'utilisateur est bien crée mais avec un mauvais mot de passe.
Comme explique dans la page de manuel. useromd -p prend un mot de passe chiffré. Pas un mot de passe en clair.
En effet avec un mot de passe crypter cela marche beaucoup mieux.
par contre je bloque encore sur la configuration reseau.
Dans le fichier kickstart avec ou sans network je n'arrive jamais à avoir une boite de dialogue.
Je viens de tester le code suivant
chvt 3
exec < /dev/tty3 > /dev/tty3
echo "--Static Network Configuration--"
echo "Please enter ip address for this machine."
read IPADDR
chvt 1
exec < /dev/tty1 > /dev/tty1
Ca me plante l'install.
Pour rappel je souhaite avoir un boite de dialogue pour configurer mon eth0 et eth1 et ainsi répercuter l'ip entrée dans mes différents fichiers de conf.

Voila ou j'en suis pour l'instant. je continue de chercher...
D'après ton fichier ks tu définie en %pre un truc du genre :
line="network --bootproto static --device $device --ip $ip --netmask $netmask --hostname $host --gateway $gateway --$nameserver"
Donc normal qu'il ne te pose pas la question !
9 jours plus tard
J'avance j'avance...
Pour mon soucis avec la ligne network, je n'y suis pas arrivé sauf en contournant le pb .
J'ai rajouté la directive interactive

Par contre j'ai une petite question :
Je souhaite écraser completement le repertoire /var/www/html pour la remplacer par un autre ce trouvant sur le cd de boot.
(j'ai mis un repertoire config/html à la racine du cd)
Quel ligne rajouter dans le %post pour le faire ??

D'avance merci pour vos reponses.
C'est vraiment bizzard ton truc avec le network ... Tu peux copier coller le fichier ?
Pour ton repertoire dans /var/www/html tu ferais comment si tu le faisait en ligne de commande ? Ben la c'est presque la meme chose ( cp, wget, tar ...)
Bonjour William,

Je te copie le fichier kickstart :
[... tronqué]
# Network information
network --device eth1 --bootproto static --ip 192.168.157.1 --netmask 255.255.255.0 --hostname WIFIOCB --onboot yes
#########################################################################
#########################################################################
#### Post install Script

%post --nochroot

# Trace de linstall
exec &>/root/postinstall.log
echo -n "Debut PostInstall : "; date
set -x
#
echo ""
echo "Debut %post section kickstart install"
echo ""

# Montage du cdROM
mkdir -p /mnt/temp
mount /tmp/Config /mnt/temp

# Modification IP/Hostname
myip=`/sbin/ifconfig eth0 | grep "inet addr" | cut -f2 --delimiter=: | cut -f1 --delimiter=" "`
myhostname=`/usr/bin/host $myip | cut -f5 --delimiter=" " | awk -F'.' '{print $1"."$2"."$3"."$4}'`
mynetwork=`/bin/ipcalc $myip --network 255.255.255.192 | cut -f2 --delimiter="="`
mygateway=`echo $mynetwork | awk -F'.' '{print $1"."$2"."$3"."$4+1}'`

cat << EOF >> /root/euu.log
NETWORKING=$myip
HOSTNAME=$myhostname
GATEWAY=$mygateway
EOF

#########################################################################
####  Fedora updates
### add third party repositories to yum
cp /tmp/Config/livna.repo /etc/yum.repos.d/
cp /tmp/Config/dag.repo /etc/yum.repos.d/
cp /tmp/Config/freshrpms.repo /etc/yum.repos.d/
rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

cp /tmp/Config/html/* /var/www/html/

#### Cron  Neutralizing
mv /etc/crontab /etc/crontab.old
crontab -l > /tmp/cron
echo "0 */2  * * * /root/rsync-backup" >> /tmp/cron
crontab /tmp/cron

### Boot active
/sbin/chkconfig chilli on
/sbin/chkconfig dhcpd on
/sbin/chkconfig httpd on
/sbin/chkconfig named on
/sbin/chkconfig radiusd on
/sbin/chkconfig postfix on

echo "Serveur installe..."
#
set +x
echo -n "Fin PostInstall : "; date
#############################################################################################
### end of installation process

umount /mnt/temp
#############################################################################################
Voila donc avec le network sans ou avec rien n'y fait il ne me pose jamais la question.
# Network information
network --device eth1 --bootproto static --ip 192.168.157.1 --netmask 255.255.255.0 --hostname WIFIOCB --onboot yes
#########################################################################
C'est normal qu'il ne te pose pas la question tu lui donnes la reponse !!
Vire cette ligne et ca devrait rouler. T'as pas d'autres lignes network ?
Je ne vois pas trop bien comment ton script peut fonctionner puisque tu indique :
%post --nochroot
Il faudrait donc que tu travaille en relatif de /mnt/sysimage.

Extrait de la doc RedHat
--nochroot

Allows you to specify commands that you would like to run outside of the chroot environment.

The following example copies the file /etc/resolv.conf to the file system that was just installed.
%post --nochroot
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
Je trouve plus simple de travailler sans cette option.

A++
Merci à tous pour vos reponses, alors dans l'ordre :
- william :
j'ai essayé le network dans tous les sens sans ou avec et sans ou avec le parametre query (qui exister sous RH9)
Mon pb reste entier
- remy :
je fais tester de suite sans chroot
- cherif :
j'ai lu ces docs aussi et je posterai mon ks quand il sera correct.

En attente de vos commentaires messieurs