Créer votre propre CD Live personnalisé - la méthode manuelle.
1. Préparations
-
Vous devez d'abord télécharger le CD live ISO . Pendant le téléchargement, installez certains logiciels nécessaires à la reconstruction : sudo apt-get install squashfs-tools schroot
Squashfs est un système de fichiers compressé en lecture seule pour Linux.
schroot permet aux utilisateurs d'exécuter des commandes ou des shells interactifs dans différents chroots.
-
Montez le CD Live :
mkdir /tmp/livecd
sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd
Si vous utilisez un autre ISO ou un autre emplacement pour votre téléchargement, veuillez ajuster en conséquence.
-
Créez une zone de travail et copiez le contenu dans la zone de travail :
mkdir -p ~/livecd/cd
rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd
mkdir ~/livecd/squashfs ~/livecd/custom
sudo modprobe squashfs
sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
sudo cp -a ~/livecd/squashfs/* ~/livecd/custom
-
Si vous obtenez une erreur comme celle-ci lors de l'exécution de modprobe :
sudo modprobe squashfs
WARNING: Deprecated config file /etc/modprobe.conf,
all config files belong into /etc/modprobe.d/
déplacez le fichier modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLD
et réessayez !
-
Accès au réseau :
sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
-
Créer un pseudo système de fichiers :
sudo chroot ~/livecd/custom /bin/bash -l
mount -t proc none /proc/
mount -t sysfs none /sys/
2. Personnalisation de
-
Vous pouvez obtenir une liste de tous les paquets avec dpkg-query -W --showformat='${Package}\n' | less
-
Vous pouvez supprimer des jeux avec apt-get remove --purge gnome-games
-
Mettez à jour vos sources avec sudoedit /etc/apt/sources.list
. Commentez les lignes que vous ne voulez pas et décommentez celles que vous voulez, ajoutez des PPAs si vous voulez et ensuite vous devez mettre à jour avec apt-get update && apt-get dist-upgrade
-
L'ajout de paquets comme thunderbird, Samba, la configuration du système Samba et SSH se fait de la même manière que l'installation normale en ligne de commande. Donc sudo apt-get install thunderbird samba system-config-samba ssh
va les ajouter.
-
Si vous avez téléchargé manuellement le paquet depuis vous pouvez l'installer avec sudo dpkg -i {file_name}.deb
- Vous pouvez consulter le Centre de logiciels Ubuntu, Synaptic ou la page site web des forfaits pour les noms si d'autres doivent être installés.
- Vous pouvez envisager d'ajouter des utilitaires de réseau (sans fil).
- Vous dépasserez rapidement les 800 Mo ; si c'est le cas, soit vous supprimez d'autres paquets pour descendre en dessous de 800, soit vous devez utiliser un DVD pour la gravure. La suppression de libre office vous libérera 33+ Mo si vous n'en avez pas besoin.
-
Pour créer un raccourci AskUbuntu sur le bureau :
mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop
Vous pouvez en ajouter d'autres (sans passer par la partie mkdir) en modifiant l'URL en quelque chose d'autre. Courtoisie de dv3500ea
-
Changer les paramètres dans gconf-editor.
Vous pouvez changer n'importe quelle option gconf si vous connaissez le chemin de cette option et la valeur que vous voulez lui donner (et le type de la valeur bien sûr).
Le changement de papier peint se fait avec le chemin que j'ai indiqué aux flèches : /desktop/gnome/background/
il s'agit d'une valeur de type chaîne et elle utilise picture_filename
comme une option. La valeur qu'il détient actuellement sur mon bureau est /discworld2/Downloads/fantasticwall_2.jpg
. L'arrière-plan lui-même doit être copié dans /usr/share/backgrounds/
. Assurez-vous de définir les permissions et le propriétaire.
Exemples :
-
Pour changer le fond d'écran (changez le nom du fichier dans la 1ère commande par votre propre image) par cette image et pour changer le thème par Radiance, vous pouvez utiliser ces informations pour créer des commandes pour définir ceci pour votre live cd :
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/background/picture_filename /discworld2/Downloads/fantasticwall_2.jpg
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/interface/gtk_theme Radiance
Courtoisie de dv3500ea
-
Activez le bureau à distance :
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t bool /desktop/gnome/remote_access/enabled true
Les paramètres pour les icônes, les panneaux, etc. sont tous effectués en ajoutant une commande comme celle-ci.
-
Vous pouvez également modifier /etc/gconf/gconf.xml.defaults/%gconf-tree.xml
(ou lorsque vous avez terminé, enregistrez ce fichier pour une utilisation ultérieure). Tous les paramètres de configuration effectués par gconftool-2 sont stockés dans ce fichier.
-
Modifier le fuseau horaire par défaut utilisé par le live cd
dpkg-reconfigure tzdata
-
Changez le paramètre local en anglais (bien sûr, changez-le en ce que vous voulez).
locale-gen en
update-locale LANG=en LANGUAGE=en LC_ALL=en
-
Configurer les fichiers de configuration.
Si vous voulez avoir un fichier de configuration personnalisé pour un certain paquet, vous pouvez le faire de plusieurs façons.
La solution la plus difficile (mais la plus logique) serait soit de trouver le paquet, de modifier le fichier de configuration et de le reconditionner, soit de trouver les fichiers sources, de découvrir où ils stockent leur fichier de configuration fictif, de le modifier et de reconstruire le paquet.
-
Bien sûr, cela ne fonctionne que si le fichier de configuration par défaut est inclus dans le paquet source. De nombreux paquets génèrent automatiquement leurs fichiers de configuration dans le script de {nom du paquet}.postinst, ce qui rendrait cette opération plutôt difficile.
La manière la plus simple serait de créer un script et de copier votre configuration actuelle vers /etc/skel
afin qu'ils soient ajoutés à votre bureau (similaire à l'ajout de raccourcis firefox comme expliqué ci-dessus) et après l'installation, cliquez sur le lien du bureau pour définir le fichier de configuration à l'endroit où il doit être. Le script pourrait à la fois faire la copie et la suppression du script et du fichier de configuration de votre bureau après son installation réussie. Cette méthode peut être utilisée pour mettre à jour la configuration Samba (mettez votre configuration actuelle dans le fichier /etc/skel/
. Mettez-y un script qui a les permissions d'exécution et qui contient un déplacement de ladite config vers /etc/samba/smbd.conf
et tout ce que vous devez faire ensuite est d'exécuter le script).
-
Cela fonctionne fondamentalement toujours puisqu'il remplace une action manuelle post-installation par un script activé manuellement post-installation. Mais cela signifie aussi que cela ne fait pas partie du live cd personnalisé.
3. Le nettoyage
apt-get clean
rm -rf /tmp/*
rm -f /etc/hosts /etc/resolv.conf
umount /proc/
umount /sys/
exit
Cela supprime tous les fichiers temporaires ; pas ceux que nous avons créés. ~/livecd/
est en lecture seule, donc un rm
ne supprimera pas ces fichiers. Vous devez le monter avec un accès en écriture (ou, comme je l'ai fait, utiliser le nouveau live cd pour démarrer et monter le home et le home cd). rm
à partir de là.
4. Réglage de l'ISO
-
Fichiers de manifeste.
chmod +w ~/livecd/cd/casper/filesystem.manifest
sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
-
Régénérer le fichier squashfs.
sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
-
Mise à jour des sommes md5.
sudo rm ~/livecd/cd/md5sum.txt
sudo bash -c 'cd ~/livecd/cd && find . -type f -exec md5sum {} +' > md5sum.txt
5. Création de l'ISO.
cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .
6. Démonter et nettoyer
sudo umount ~/livecd/squashfs/
sudo umount /tmp/livecd
sudo rm -fr ~/livecd/
7. Commentaires :
-
Tout a été testé avec un Live CD Ubuntu 11.04. La seule chose qui n'a pas fonctionné est le chrootage : J'ai ajouté dchroot aux fichiers que vous devez installer pour le faire.
-
Concernant "devrait créer des raccourcis firefox sur le bureau", "devrait changer le thème par défaut en radiance" et "devrait changer le fond d'écran ubuntu par défaut". Je les ai édités après que dv3500ea les ait mis dans les commentaires ; je n'ai pas testé cela en créant le live cd 11.04.