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 # alias bépo="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 }