Création de l'iso custom Desclicks-xubuntu

Dans cette section on trouvera les outils permettant de finaliser l'installation des postes adhérents, ainsi que les outils tux utiles en maintenance. L'idée est de faire deux iso distinctes basées sur ubuntu (pour le support matériel principalement), afin de répondre à ces deux besoins.

Preparation du chroot

resume de la doc http://doc.ubuntu-fr.org/personnaliser_livecd

# extraction du systeme
iso=$1
tmnt='/mnt/tmp'
mkdir -p ${tmnt}
mount -o loop ${iso} ${tmnt}
 
mkdir ~/livecd
cd ~/livecd
mkdir iso squashfs
 
cp -a ${tmnt}/. iso
umount ${tmnt}
 
# Suppression des outils pour windows
cd iso
rm -r bin pics autorun.inf usb-creator.exe wubi.exe
cd ..
 
# copie du squashfs
mount -t squashfs -o loop iso/casper/filesystem.squashfs ${tmnt}
cp -av ${tmnt}/. squashfs
umount ${tmnt}
 
# preparation du chroot
mount --bind /proc squashfs/proc 
mount --bind /sys squashfs/sys
mount -t devpts none squashfs/dev/pts
 
# utilisation chroot
chroot squashfs
  • sortie du chroot
# nettoyage
apt-get clean
apt-get autoclean
rm -r /var/crash/*
rm -r /var/cache/*
# 
umount -lf /sys
umount -lf /proc
umount -lf /dev
rm /etc/resolv.conf
rm /etc/hosts
exit
chmod a+w iso/casper/filesystem.manifest
chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' > iso/casper/filesystem.manifest
chmod go-w iso/casper/filesystem.manifest
#  suppression de l'ancien squashfs
rm iso/casper/filesystem.squashfs
#  creation du nouveau
cd squashfs
mksquashfs . ../iso/casper/filesystem.squashfs -info
#  creation de la nouvelle md5sum
cd iso
sudo bash -c "find . -path ./isolinux -prune -o -type f -not -name md5sum.txt -print0 | xargs -0 md5sum | tee md5sum.txt"
cd ..
#  creation de la nouvelle iso
sudo mkisofs -r -V "Nom_personnalisé" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o custom-livecd.iso iso 
  - genisoimage -o "Nom personnalisé" -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ./ 

Version maintenance

ajouter également boot-repair pour les problème d'uefi & co : http://doc.ubuntu-fr.org/boot-repair http://doc.ubuntu-fr.org/boite-a-outils

Customisations

Grub pour la salle

Afin d'avoir un démarrage par défaut différent suivant les jours de la semaine et suivant les heures, adapter ce script… par exemple pour avoir du windows par défaut les jours de cours sur cet OS : /etc/grub.d/01_date_based_selection

sudo apt-get update
sudo apt-get install bleachbit

lancer bleachbit pour nettoyer les langues non utilisées ( le soft a besoin d'un utilisateur /home/utilisateur voir l'erreur retournée au premier lancement et créer le dossier en fonction et penser à le supprimer après, ainsi que d'éventuelles erreurs dans /var/crash)

#!/bin/bash
 
#  update
apt-get update
 
#  bureautique
apt-get install libreoffice-writer libreoffice-calc libreoffice-impress libreoffice-l10n-fr libreoffice-help-fr hunspell-fr pdfmod pdftk
 
# internet
apt-get install firefox firefox-l10n-fr flashplugin-installer
 
#  multimedia
apt-get install vlc gimp sound-juicer mplayer
 
#  Jeux
#  pour faire bouger les doigts
apt-get install tanglet
#!/bin/bash
# ajout des ppa
add-apt-repository ppa:yannubuntu/boot-repair
 
#  update
apt-get upgrade
 
apt-get install memtest86+ memtester htop iotop iftop glances hardinfo smartmontools gsmartcontrol baobab gparted parted unzip p7zip testdisk photorec terminator chromium-browser w3m mc tuxcmd pmount lm-sensors safecopy
# 
# 
# 
apt-get install -y boot-repair
apt-get install -y os-uninstaller
apt-get install -y clean-ubiquity 
 
#  stress
apt-get install stress
 
#  Pass windows
apt-get install chntpw

~/.bashrc

#
#  Pour repasser facilement en azerty sur clavier azerty
# 
aliaspo="setxkbmap fr"
alias azer="setxkbmap fr bepo"
# 
#  Pour minimiser les bourdes
# 
alias rm="rm -i"
# 
#  Universal tarball extractor
# 
extr () {
    if [ -f \$1 ] ; then
        case \$1 in
            *.tar.bz2)   tar xjf \$1     ;;
            *.tar.gz)    tar xzf \$1     ;;
            *.bz2)       bunzip2 \$1     ;;
            *.rar)       rar x \$1       ;;
            *.gz)        gunzip \$1      ;;
            *.tar)       tar xf \$1      ;;
            *.tbz2)      tar xjf \$1     ;;
            *.tgz)       tar xzf \$1     ;;
            *.zip)       unzip \$1       ;;
            *.Z)         uncompress \$1  ;;
            *.7z)        7z x \$1    ;;
            *)           echo "'\$1' ne peut etre extrait par extr()" ;;
        esac
    else
        echo "'\$1' non pris en charge ou invalide"
   fi
}