Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 21/11/2013, à 18:06

Chevelu37

Installation automatisée pxe/kickstart/script Ubuntu 12.04

Bonjour à tous,

Depuis maintenant 8 ans que j'ai découvert Linux, j'ai toujours réussi à trouvé les solutions en consultant les docs et les forums. Il est temps pour moi de contribuer....

Le contexte :
Je suis auto-entrepreneur et déploie pas mal de PC sous Ubuntu et, bouche à oreille faisant, l'activité croît. Les clients sont ravis de revoir leurs ordinateurs fonctionner à leur juste valeur en acceptant les avantages et inconvénients d'Ubuntu.
Grâce à la communauté, j'ai donc mis en place un serveur DHCP/PXE/apt-mirror il y a quelques temps et j'essaie d'automatiser partiellement l'installation.

En clair :
Environnement gnome-fallback et gnome-shell quand les ressources le permettent. Unity bouleverse trop les habitudes M$.
Préconfiguration de gnome
Installation de paquet, nettoyage système, etc...

Le fichier ks inspiré de la doc Kickstart:

#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T

lang fr_FR

# Modules de langue à installer
langsupport fr_FR

# Clavier
keyboard fr

# Souris
mouse

# Fuseau horaire
timezone Europe/Paris

# Mot de passe Root (pas de mot de passe pour root par défaut sous Ubuntu)
rootpw --disabled

# Utilisateur de départ - config en section %pre
%include /tmp/user_conf

# Redémarrage après installation si demandé - config en section pre%
%include /tmp/reboot_conf

# Installation en mode texte
text

# Installation de l'OS plutôt que mise à jour
install

# Adresse du dépot local pour installation par le réseau
url --url http://mirror/12.04/

# Configuration du chargeur de démarrage
bootloader --location=mbr

# Destruction des tables de partitions invalides
zerombr yes

# Configuration du pare-feu
firewall --disabled


#Partition clearing information
clearpart --all --initlabel 

#Disk partitioning information
part / --fstype ext4 --fsoptions="noatime"--size 25000 --asprimary
part swap --recommended --end
part /home --fstype ext4 --fsoptions="noatime"--size 1 --grow --asprimary


#System authorization infomation
auth  --useshadow  --enablemd5 

# reboot après install
reboot

#Do not configure the X Window System
skipx

# Installation des paquets supplémentaires
%packages --resolvedeps
%include /tmp/paquets_conf

%pre

# Configuration réseau (paramètre '--hostname=" ne fonctionne pas)
echo "network --bootproto dhcp --device=eth0" > /tmp/network_conf

# Configuration des paquets à installer
cat > /tmp/paquets_conf << eof
        @ ubuntu-desktop
        ssh
eof

%post --nochroot


####################Script d'installation finale ###################"
cd /target 
wget http://192.168.20.10/ressources/install-client.sh
chmod +x /target/install-client.sh

cat > /target/etc/rc.local << eof
#!/bin/sh -e
/install-client.sh
exit 0
eof

et mon script lancé an premier démarrage :

#!/bin/bash
utilisateur=$(echo `grep 1000 /etc/passwd | cut -d: -f1`)
machine="ubuntu"
sed -i "s/kickseed/$machine/g" /target/etc/hostname
sed -i "s/kickseed/$machine/g" /target/etc/hosts
############# SOURCES LOCALES ET OPTIONNELLES ################

cd /tmp
wget http://192.168.20.10/ressources/sources-loc.list
cp /tmp/sources-loc.list /etc/apt/sources.list
wget -q "http://deb.playonlinux.com/public.gpg" -O- | apt-key add -
wget http://deb.playonlinux.com/playonlinux_precise.list -O /etc/apt/sources.list.d/playonlinux.list
add-apt-repository -y ppa:gnome3-team/gnome3
add-apt-repository -y ppa:webupd8team/gnome3
apt-get update
cd ~



############# PILOTES PROPRIETAIRES  ################ 

############# CONF GNOME ###################
# nautilus settings
gsettings set org.gnome.nautilus.window-state start-with-status-bar "true"
#gsettings set org.gnome.nautilus.preferences show-hidden-files "true"
#gsettings set org.gnome.nautilus.preferences default-folder-viewer "list-view"
#gsettings set org.gnome.nautilus.preferences enable-delete "true"

# gedit settings
#gsettings set org.gnome.gedit.plugins.filebrowser.nautilus enable-delete "true"
#gsettings set org.gnome.gedit.preferences.editor auto-save "false"
#gsettings set org.gnome.gedit.preferences.editor create-backup-copy "false"
#gsettings set org.gnome.gedit.preferences.editor display-line-numbers "true"
#gsettings set org.gnome.gedit.preferences.ui max-recents "15"
#gsettings set org.gnome.gedit.state.window size  "(1050,500)"
#gsettings set org.gnome.gedit.preferences.ui statusbar-visible "true"
#gsettings set org.gnome.gedit.preferences.print print-header 'false'

# vérouillage écran de veille
gsettings set org.gnome.desktop.screensaver lock-enabled 'false'  

# mdp écran veille
gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'  


# Confirmation d'extinction
gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown "true"



############# GNOME SHELL   ################ 
apt-get install -y gnome-shell
apt-get install -y gnome-shell-extensions 
gsettings set org.gnome.shell.clock show-date true
gsettings set org.gnome.shell.clock show-seconds true
gsettings set org.gnome.shell.enabled-extensions alternative-status-menus enable
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout ":minimize,maximize,close"
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout "menu:minimize,maximize,close"


############# PAQUETS SUPPLEMENTAIRES   ################ 
apt-get install -y vim ntp gnome-tweak-tool p7zip-full
apt-get install -y icedtea6-plugin flashplugin-installer
apt-get install -y gimp gimp-data-extras gimp-plugin-registry
apt-get install -y gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad rar
#apt-get install --assume-yes ubuntu-restricted-extras



############# AUTOLOGIN ################
cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf_original
cat > /etc/lightdm/lightdm.conf << eof
[SeatDefaults]
autologin-user=$utilisateur
autologin-session=lightdm-autologin
user-session=gnome-fallback
eof


############# CONF SYS ######################
##### Apport
cat > /etc/default/apport << eof
enabled=0
eof


##### Prise en charge linguistique FR

apt-get install -y language-pack-fr language-pack-gnome-fr-base language-pack-gnome-fr
apt-get install -y hunspell-fr gimp-help-fr mythes-fr thunderbird-locale-fr libreoffice-l10n-fr hyphen-fr wfrench libreoffice-help-fr firefox-locale-fr poppler-data
locale-gen --purge fr_FR.UTF-8

############# SOURCES OFFICIELLES ################

cd /tmp
wget http://192.168.20.10/ressources/sources-off.list
cp /tmp/sources-off.list /etc/apt/sources.list
apt-get update
cd ~


######################## NETTOYAGE ###############
cat > /etc/rc.local << eof
#!/bin/sh -e
exit 0
eof

apt-get remove -y rhythmbox
apt-get upgrade -y
apt-get clean -y
apt-get autoremove -y
rm /tmp/sources-off.list
rm /tmp/sources-loc.list
rm /install-client.sh
#sleep 30
reboot
exit 0

et surtout le début de mon txt.cfg de tftboot avec un timeout à configurer de votre choix:

default disque
label disque
	menu label ^Disque local
	localboot 0
label 12.04x64-auto
	menu label ^Ubuntu 12.04x64-auto
	kernel ubuntu/12.04/ubuntu-installer/amd64/linux
	append vga=normal debian-installer/language=fr console-setup/layoutcode=fr initrd=ubuntu/12.04/ubuntu-installer/amd64/initrd.gz -- ks=http://mirror/ks/ks-12.04x64.cfg

Voilà en gros. Je pense qu'il y a quelques points à revoir que les plus agguéris ne manqueront pas de souligner, enfin j'espère. J'ai laissé en commentaire certaines options trouvées ici et là qui pourront servir à d'autre.

Je cherche :
- à mettre le moteur de recherche par défaut dans Firefox
- accepter automatique la licence de ubuntu-restricted-extras
- à ajouter "noatime" dans fstab
- à installer les pilotes propriétaires automatiquement ( jockey-text -a ne semble pas fonctionner )
- à ce que l'install texte me demande le nom de machine plutôt que de devoir à passer par par la variable $machine du script

Le but ultime étant de lancer l'install, renseigner le nom de machine, l'utilisateur et son mot de passe afin d'avoir une install personnalisée et que je revienne plus tard....

En étant heureux de ma première contribution, j'attends vos remarques sur mes oublis, loupés, incohérences, etc...

salutations

Chevelu 37

Dernière modification par Chevelu37 (Le 21/11/2013, à 18:35)

Hors ligne

#2 Le 24/11/2013, à 11:27

Chevelu37

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Bonjour,

Je me réponds... J'ai corrigé mes nombreuses erreurs et affiné les scripts.

Le fichier ks :

#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T

lang fr_FR

# Modules de langue à installer
langsupport fr_FR

# Clavier
keyboard fr

# Souris
mouse

# Fuseau horaire
timezone Europe/Paris

# Mot de passe Root (pas de mot de passe pour root par défaut sous Ubuntu)
rootpw --disabled

# Installation en mode texte
text

# Installation de l'OS plutôt que mise à jour
install

# Adresse du dépot local pour installation par le réseau
url --url http://192.168.20.10/12.04/

# Configuration du chargeur de démarrage
bootloader --location=mbr

# Destruction des tables de partitions invalides
zerombr yes

# Configuration du pare-feu
firewall --disabled


#Partition clearing information
clearpart --all --initlabel 

#Disk partitioning information
part / --fstype ext4 --size 25600 --asprimary
part swap --recommended --end
part /home --fstype ext4  --size 1 --grow --asprimary


#System authorization infomation
auth  --useshadow  --enablemd5 

# reboot après install
reboot

#Do not configure the X Window System
skipx

# Installation des paquets supplémentaires
%packages --resolvedeps
%include /tmp/paquets_conf

%pre

# Configuration des paquets à installer
cat > /tmp/paquets_conf << eof
        @ ubuntu-desktop
        ssh
eof

%post --nochroot


####################Script d'installation finale ###################"
cd /target 
wget http://192.168.20.10/ressources/install-client.sh
chmod +x /target/install-client.sh


cat > /target/etc/rc.local << eof
#!/bin/sh -e
/install-client.sh
exit 0
eof


Le script lancé par rc.local, jockey-text -a fonctionne à condition qu'il n'y ai pas plusieurs versions de pilotes comme les 4 choix possibles des pilotes nvidia  :

#!/bin/bash
utilisateur=$(echo `grep 1000 /etc/passwd | cut -d: -f1`)

############# AUTOLOGIN ################
cat > /etc/lightdm/lightdm.conf << eof
[SeatDefaults]
autologin-user=$utilisateur
autologin-session=lightdm-autologin
user-session=gnome-fallback
greeter-session=unity-greeter
eof



############# SOURCES LOCALES ET OPTIONNELLES ################
cd /tmp
wget http://192.168.20.10/ressources/sources-loc.list
cp /tmp/sources-loc.list /etc/apt/sources.list
wget -q "http://deb.playonlinux.com/public.gpg" -O- | apt-key add -
wget http://deb.playonlinux.com/playonlinux_precise.list -O /etc/apt/sources.list.d/playonlinux.list
#add-apt-repository -y ppa:gnome3-team/gnome3
#add-apt-repository -y ppa:webupd8team/gnome3
apt-get update



############### Prise en charge linguistique FR #############
###############  Suppression langues inutiles  ##############
apt-get install -y language-pack-fr language-pack-gnome-fr-base language-pack-gnome-fr
apt-get install -y hunspell-fr
apt-get install -y gimp-help-fr
apt-get install -y mythes-fr
apt-get install -y thunderbird-locale-fr
apt-get install -y libreoffice-l10n-fr
apt-get install -y hyphen-fr
apt-get install -y wfrench
apt-get install -y libreoffice-help-fr
apt-get install -y firefox-locale-fr
apt-get install -y poppler-data

locale-gen --purge fr_FR.UTF-8
update-locale LANG="fr_FR.UTF-8"
echo 'LANG=fr_FR.UTF-8' >> /etc/environment
echo 'LC_ALL=fr_FR.UTF-8' >> /etc/environment

############# PAQUETS SUPPLEMENTAIRES   ################ 
wget http://192.168.20.10/ressources/ubuntu-tweak_0.8.5-1_all.deb
dpkg -i ubuntu-tweak*.*
apt-get -f install -y
apt-get install -y vim ntp gnome-tweak-tool p7zip-full
apt-get install -y icedtea6-plugin flashplugin-installer
apt-get install -y gimp gimp-data-extras gimp-plugin-registry
apt-get install -y gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad rar
#apt-get install --assume-yes ubuntu-restricted-extras


############# PILOTES PROPRIETAIRES  ################ 

jockey-text -a


############# CONF SYS ######################
##### Apport
cat > /etc/default/apport << eof
enabled=0
eof
##### Fstab
perl -pi -e 's/(errors=remount-ro)/noatime,nodiratime,$1/' /etc/fstab
perl -pi -e 's/(defaults)/noatime,nodiratime,$1/' /etc/fstab

############# GNOME SHELL   ################ 
apt-get install -y gnome-shell
apt-get install -y gnome-shell-extensions 



############# SOURCES OFFICIELLES ################
cd /tmp
wget http://192.168.20.10/ressources/sources-off.list
cp /tmp/sources-off.list /etc/apt/sources.list
apt-get update
cd /

############# SCRIPT CONF UTILISATEUR ################
mkdir /home/$utilisateur/.config/autostart
cd /home/$utilisateur
wget http://192.168.20.10/ressources/conf-client.sh
cat > /home/$utilisateur/.config/autostart/conf-client.desktop << eof
[Desktop Entry]
Type=Application
Exec=xterm -hold -e "sh /home/$utilisateur/conf-client.sh"
Name=Configuration
Icon=
Comment=
eof
chown $utilisateur:$utilisateur /home/$utilisateur/.config/autostart
chown $utilisateur:$utilisateur /home/$utilisateur/.config/autostart/conf-client.desktop
chown $utilisateur:$utilisateur /home/$utilisateur/conf-client.sh
chmod +x /home/$utilisateur/conf-client.sh

######################## NETTOYAGE ###############
cat > /etc/rc.local << eof
#!/bin/sh -e
exit 0
eof
apt-get remove -y rhythmbox
apt-get upgrade -y
apt-get clean -y
apt-get autoremove -y
rm /tmp/sources-off.list
rm /tmp/sources-loc.list
rm -f /var/cache/apt/archives/*.deb
rm -f /var/cache/apt/*cache.bin
rm -f /var/lib/apt/lists/*_Packages

rm /install-client.sh
sleep 30
#reboot
exit 0

Le script de configuration utilisateur :

#!/bin/bash
utilisateur=$(echo `grep 1000 /etc/passwd | cut -d: -f1`)
echo "######### configuration client ########"
read -p 'Nom de machine désirée : ' machine
sudo sed -i "s/kickseed/$machine/g" /etc/hostname
sudo sed -i "s/kickseed/$machine/g" /etc/hosts



gsettings set org.gnome.shell.clock show-date true
gsettings set org.gnome.shell.clock show-seconds true
#gsettings set org.gnome.shell.enabled-extensions alternative-status-menus enable
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout ":minimize,maximize,close"
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout "menu:minimize,maximize,close"
############# CONF GNOME ###################
# nautilus settings
gsettings set org.gnome.nautilus.window-state start-with-status-bar "true"
#gsettings set org.gnome.nautilus.preferences show-hidden-files "true"
#gsettings set org.gnome.nautilus.preferences default-folder-viewer "list-view"
#gsettings set org.gnome.nautilus.preferences enable-delete "true"

# gedit settings
#gsettings set org.gnome.gedit.plugins.filebrowser.nautilus enable-delete "true"
#gsettings set org.gnome.gedit.preferences.editor auto-save "false"
#gsettings set org.gnome.gedit.preferences.editor create-backup-copy "false"
#gsettings set org.gnome.gedit.preferences.editor display-line-numbers "true"
#gsettings set org.gnome.gedit.preferences.ui max-recents "15"
#gsettings set org.gnome.gedit.state.window size  "(1050,500)"
gsettings set org.gnome.gedit.preferences.ui statusbar-visible "true"
#gsettings set org.gnome.gedit.preferences.print print-header 'false'

# verrouillage écran de veille
gsettings set org.gnome.desktop.screensaver lock-enabled 'false'  

# mdp écran veille
gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'  

# Confirmation d'extinction
#gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown "true"


rm /home/$utilisateur/conf-client.sh
rm /home/$utilisateur/.config/autostart/conf-client.desktop
sleep 30
exit 0

Ce dernier script résout le problème du hostname et corrige ma grossière erreur qui configurait les paramètres de bureau de root...

Dernière modification par Chevelu37 (Le 24/11/2013, à 17:01)

Hors ligne

#3 Le 26/11/2013, à 09:11

Chevelu37

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Bonjour,

Je continue dans mon monologue :

Modification du moteur de recherche dans Firefox à ajouter dans conf-client.sh :

################### CONF FIREFOX ################### 
firefox -CreateProfile default
cd /home/$utilisateur/.mozilla/firefox/*.default/
cat > prefs.js << eof
# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 */
 
 user_pref("browser.startup.homepage", "https://www.google.fr/");
eof

Hors ligne

#4 Le 03/12/2013, à 23:56

andykimpe

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

pour sa (- accepter automatique la licence de ubuntu-restricted-extras) c'est très simple

export DEBIAN_FRONTEND=noninteractive
apt-get -y install ubuntu-restricted-extras

Hors ligne

#5 Le 04/12/2013, à 00:16

Chevelu37

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Merci. Je vais pouvoir optimiser mes scripts, cool. Je les reposte dès qu'ils sont modifiés.

Hors ligne

#6 Le 06/12/2013, à 10:24

Chevelu37

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Bonjour,

merci Andykimpe. Comme promit, je poste l'amélioration :

Ks inchangé

install-client.sh :

#!/bin/bash
utilisateur=$(echo `grep 1000 /etc/passwd | cut -d: -f1`)

############# AUTOLOGIN ################
cat > /etc/lightdm/lightdm.conf << eof
[SeatDefaults]
autologin-user=$utilisateur
autologin-session=lightdm-autologin
user-session=gnome-fallback
greeter-session=unity-greeter
#greeter-setup-script=/usr/bin/numlockx on
eof



############# SOURCES LOCALES ET OPTIONNELLES ################
cd /tmp
wget http://192.168.20.10/ressources/sources-loc.list
cp /tmp/sources-loc.list /etc/apt/sources.list
wget -q "http://deb.playonlinux.com/public.gpg" -O- | apt-key add -
wget http://deb.playonlinux.com/playonlinux_precise.list -O /etc/apt/sources.list.d/playonlinux.list
#add-apt-repository -y ppa:gnome3-team/gnome3
#add-apt-repository -y ppa:webupd8team/gnome3
apt-get update



############### Prise en charge linguistique FR #############
apt-get install -y language-pack-fr language-pack-gnome-fr-base language-pack-gnome-fr
apt-get install -y hunspell-fr gimp-help-fr mythes-fr thunderbird-locale-fr libreoffice-l10n-fr 
apt-get install -y firefox-locale-fr poppler-data hyphen-fr wfrench libreoffice-help-fr
locale-gen --purge fr_FR.UTF-8
update-locale LANG="fr_FR.UTF-8"
touch /etc/environment
cat > /etc/environment << eof
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="fr:fr"
LANG="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
eof
touch /etc/default/locale
cat > /etc/default/locale << eof
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="fr:fr"
LANG="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
eof

############# PAQUETS SUPPLEMENTAIRES   ################ 
wget http://192.168.20.10/ressources/ubuntu-tweak_0.8.5-1_all.deb
dpkg -i ubuntu-tweak*.*
apt-get -f install -y
apt-get install -y vim ntp gnome-tweak-tool p7zip-full curl
apt-get install -y icedtea6-plugin flashplugin-installer apturl
apt-get install -y gimp gimp-data-extras gimp-plugin-registry
apt-get install -y gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad rar
apt-get install -y skype
### install silencieuse
export DEBIAN_FRONTEND=noninteractive
apt-get -y install ubuntu-restricted-extras
apt-get install -y ttf-mscorefonts-installer
export DEBIAN_FRONTEND=dialog


############# PILOTES PROPRIETAIRES  ################ 

jockey-text -a #valable uniquement pour les pilotes sans choix multiple ex: wifi


############# CONF SYS ######################
##### Apport
cat > /etc/default/apport << eof
enabled=0
eof
##### Fstab
perl -pi -e 's/(errors=remount-ro)/noatime,nodiratime,$1/' /etc/fstab
perl -pi -e 's/(defaults)/noatime,nodiratime,$1/' /etc/fstab

############# GNOME SHELL   ################ 
apt-get install -y gnome-shell
apt-get install -y gnome-shell-extensions 



############# SOURCES OFFICIELLES ################
cd /tmp
wget http://192.168.20.10/ressources/sources-off.list
cp /tmp/sources-off.list /etc/apt/sources.list
apt-get update
cd /

############# SCRIPT CONF UTILISATEUR ################
mkdir /home/$utilisateur/.config
mkdir /home/$utilisateur/.config/autostart
cd /home/$utilisateur
wget http://192.168.20.10/ressources/conf-client.sh
cat > /home/$utilisateur/.config/autostart/conf-client.desktop << eof
[Desktop Entry]
Type=Application
Exec=xterm -hold -e "sh /home/$utilisateur/conf-client.sh"
Name=Configuration
Icon=
Comment=
eof

chown $utilisateur:$utilisateur /home/$utilisateur/.config
chown $utilisateur:$utilisateur /home/$utilisateur/.config/autostart
chown $utilisateur:$utilisateur /home/$utilisateur/.config/autostart/conf-client.desktop
chown $utilisateur:$utilisateur /home/$utilisateur/conf-client.sh
chmod +x /home/$utilisateur/conf-client.sh


######################## fsck ###############
tune2fs -c 20  -i 15d /dev/sda1
tune2fs -c 20  -i 15d /dev/sda2

######################## NETTOYAGE ###############
####### Suppression paquets inutiles ########
apt-get remove -y rhythmbox
apt-get install -y language-pack-en language-pack-gnome-en-base language-pack-gnome-en

cat > /etc/rc.local << eof
#!/bin/sh -e
exit 0
eof
apt-get upgrade -y
apt-get clean -y
apt-get autoremove -y
rm /tmp/sources-off.list
rm /tmp/sources-loc.list
rm -f /var/cache/apt/archives/*.deb
rm -f /var/cache/apt/*cache.bin
rm -f /var/lib/apt/lists/*_Packages

rm /install-client.sh
sleep 60
reboot
exit 0

conf-client.sh :

#!/bin/bash
#sleep 30
utilisateur=$(echo `grep 1000 /etc/passwd | cut -d: -f1`)
echo "######### configuration client ########"
read -p 'Nom de machine désirée : ' machine
sudo sed -i "s/kickseed/$machine/g" /etc/hostname
sudo sed -i "s/kickseed/$machine/g" /etc/hosts

########### vérification des pilotes propriétaires
jockey-text -c

################### CONF GNOME################### 
gsettings set org.gnome.shell.clock show-date true
gsettings set org.gnome.shell.clock show-seconds true
#gsettings set org.gnome.shell.enabled-extensions alternative-status-menus enable
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout ":minimize,maximize,close"
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout "menu:minimize,maximize,close"
############# CONF GNOME ###################
# nautilus settings
gsettings set org.gnome.nautilus.window-state start-with-status-bar "true"
#gsettings set org.gnome.nautilus.preferences show-hidden-files "true"
#gsettings set org.gnome.nautilus.preferences default-folder-viewer "list-view"
#gsettings set org.gnome.nautilus.preferences enable-delete "true"

# gedit settings
#gsettings set org.gnome.gedit.plugins.filebrowser.nautilus enable-delete "true"
#gsettings set org.gnome.gedit.preferences.editor auto-save "false"
#gsettings set org.gnome.gedit.preferences.editor create-backup-copy "false"
#gsettings set org.gnome.gedit.preferences.editor display-line-numbers "true"
#gsettings set org.gnome.gedit.preferences.ui max-recents "15"
#gsettings set org.gnome.gedit.state.window size  "(1050,500)"
gsettings set org.gnome.gedit.preferences.ui statusbar-visible "true"
#gsettings set org.gnome.gedit.preferences.print print-header 'false'

# verrouillage écran de veille
gsettings set org.gnome.desktop.screensaver lock-enabled 'false'  

# mdp écran veille
gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'  

# Confirmation d'extinction
#gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown "true"

################### CONF FIREFOX ################### 
firefox -CreateProfile default
#sed -i '1i\user_pref("browser.startup.homepage", "https://www.google.fr/");' /home/$utilisateur/.mozilla/firefox/*.default/prefs.js
cd /home/$utilisateur/.mozilla/firefox/*.default/
cat > prefs.js << eof
# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 */
 
 user_pref("browser.startup.homepage", "https://www.google.fr/");
eof

chown $utilisateur:$utilisateur /home/$utilisateur/.mozilla/firefox/*.default/prefs.js
sudo sed -i "s/kickseed/$machine/g" /etc/hostname
sudo sed -i "s/kickseed/$machine/g" /etc/hosts
rm /home/$utilisateur/conf-client.sh
rm /home/$utilisateur/.config/autostart/conf-client.desktop
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sleep 30
sudo reboot
exit 0

J'ai rajouté une section pour tunefs qui par défaut est de 30 montages, un peu trop à mon goût.


Il reste néammoins un petit problème. Lors du premier démarrage et plus précisement de l'apt-get update, la fenêtre de prise en charge des langues s'ouvre et lorque j'effectue la tâche, il n'y a rien à faire et si je ne fais rien, la fenêtre apparait à chaque démarrage jusqu'à temps que j'effectue cette tâche. Que fait donc la prise en charge linguistique que je ne fais pas dans mon script?


Si quelqu'un avaitla réponse, ce serait cool. Est-ce utile de faire apparaître ces scripts dans une doc qui pourrait se nommée "déploiement d'Ubuntu semi-automatique"?

Dernière modification par Chevelu37 (Le 06/12/2013, à 10:28)

Hors ligne

#7 Le 04/03/2014, à 19:06

Chevelu37

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Hors ligne

#8 Le 16/04/2014, à 19:35

hitman40

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Salut,
Dis moi connaîtrais-tu une solution pour automatiser une installation à distance?!
Je m'explique, j'ai environ 500 machines aux quelle il faut que j'installe le même logiciel et j'aimerai qu'elle aillent télécharger sur un serveur de mise à jour qui se trouve en réseau.
Je pensais à un script mais étant donné que je suis totalement novice là dedans, j'aimerai avoir tes conseils si possible.
@+ et merci d'avance

Hors ligne

#9 Le 17/04/2014, à 03:40

Chevelu37

Re : Installation automatisée pxe/kickstart/script Ubuntu 12.04

Bonjour,

Pas d'idées pour le moment, désolé. Mais d'un point de vue sécurité, je ne pense pas que ce soit possible, il faut obligatoirement une intervention sur chaque poste.

Mais bon, je ne fais pas de gestion de parc.

Hors ligne

Haut de page ↑