#!/usr/bin/perl

use File::Copy;


#spécial pour réinstallation
#print(`rpm -e --nodeps --noscripts autofs portmap ypbind yp-tools`);
#fin du spécial

print ("******************           démarrage de NIS_client ***************************\n");

#print(`urpmi autofs portmap ypbind yp-tools`);
print(`mkdir /export`);
#pas de lien vers home


$NIS_serveur='192.168.114.155';
$NISDOMAIN='NISkleber';

#----------------------------------autofs--------------------------------------------------------------
#modification de auto.master
$fichier= '/etc/auto.master';
open(FICH, $fichier) or die "Impossible ouvrir  $fichier\n";
@tab_fich=<FICH>;
close(FICH);
#si on vient d'installer autofs, on peut mettre en commentaire les lignes
#/misc   /etc/auto.misc  --timeout=60
#/net    /etc/auto.net   --timeout=60
#sinon commenter la boucle
foreach $ligne (@tab_fich) {
	$ligne=~s/(^\/misc)(\b+\/etc\/auto\.misc\b+--timeout=60.*)/#$1 $2/;
	$ligne=~s/(^\/net)(\b+\/etc\/auto\.net\b+--timeout=60.*)/#$1 $2/;
}

push @tab_fich, '/export     /etc/auto.home     --timeout=60'."\n";
open(FICH,'>',$fichier);
print FICH @tab_fich;
close(FICH);

$fichier= '/etc/auto.home';
open(H_auto_home, ">$fichier") or die "Impossible ouvrir  $fichier\n";
print H_auto_home 'home            -fstype=nfs             '."$NIS_serveur".":/home\n";
close(H_auto_home);
#print(`service autofs restart`);
#------------------------------------------------fin autofs------------------------------------------------



#--------------------------------- /etc/sysconfig/network
$fichier= '/etc/sysconfig/network';
open(H_network, ">>$fichier") or die "Impossible ouvrir  $fichier\n";
print H_network "NISDOMAIN=$NISDOMAIN\n";
close(H_network);
#print(`service network restart`);
#-----------------------------------fin pour /etc/sysconfig/network--------------------------------------



#----------------------------------/etc/yp.conf----------------------------------------------
$fichier= '/etc/yp.conf';
open(FICH, ">>$fichier") or die "Impossible ouvrir  $fichier\n";
print FICH 'domain'."\t$NISDOMAIN\tserver\t$NIS_serveur\n";
close(H_network);
#----------------------------------fin /etc/yp.conf----------------------------------------------

#---------------------------------/etc/nsswitch.conf --------------------------------------------------------
$fichier= '/etc/nsswitch.conf';
$fichierold="$fichier".'old';
copy($fichier,$fichierold) or die "copie de $fichier sur $fichier".'.old'. "échouée  : $!";
open(FICH, $fichierold) or die "Impossible ouvrir  $fichier\n";
@tab_fich=<FICH>;
close(FICH);
foreach $ligne (@tab_fich) {
	print "ligne-> $ligne";
	if ($ligne !~ m/^#/) {
		$ligne=~s/^(.*?passwd:)(.*)/$1 files nis/;
		$ligne=~s/^(.*?group:)(.*)/$1 files nis/;
		$ligne=~s/^(.*?hosts:)(.*)/$1 files nis dns/;
		}
}
#print "\n--------nsswitch---------------------\n";
#print "$chaine\n";
#print "\n--------nsswitch---------------------\n";
open(FICH,'>',$fichier);
print FICH @tab_fich;
close(FICH);
#---------------------------------fin   /etc/nsswitch.conf --------------------------------------------------------

print(`domainname NISkleber`);
#print(`service ypbind restart`);
#print(`service portmap restart`);
#juste un test
#print(`ypwhich`);
print ('******************           FIN de NIS_client ***************************');
