Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
traduction_live_cd_tuto_ubuntu_karmic [Le 03/11/2009, 21:14]
DidRocks
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​Karmic tutoriel live_cd localisation}} 
----- 
- 
-<note warning>​Attention cette page est en cours de rédaction.</​note>​ 
-====== Méthode de localisation du live-CD Karmic 32bits en français ====== 
- 
-Dans un but de transparence,​ voici ci-dessous la méthode que l'on va utiliser pour créer l'ISO Ubuntu 9.10 Edition Francophone (32bits) francophone. Elle est issue de la mise en commun de l'​expérience des "​créateurs d'​ISO"​ du projet. Merci notamment à [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3023790#​p3023790|smo et titienne]] pour avoir rédigé la première version de cette méthode. 
- 
-Cette méthode servira de base pour les autres versions (kubuntu, xubuntu...) francophones. 
- 
- 
-Page principale du projet : [[traduction_live_cd]]. ​ Forum du projet : [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3023790#​p3023790|ici]]. ​ 
- 
----- 
- 
- 
-===== Préparation ===== 
-==== Installation des outils nécessaires ==== 
-Le paquet squashfs est nécessaire afin de pouvoir décompresser le système de fichier embarqué sur le live-cd. Le paquet mkisofs servira à la génération de l'iso finale. 
-<​code>​sudo apt-get install squashfs-tools genisoimage 
-</​code>​ 
- 
-Placer l'iso de la Ubuntu 9.10 version desktop 32 bits dans le répertoire personnel 
-<​code>​cd ~ 
-wget -c http://​releases.ubuntu.com/​karmic/​ubuntu-9.10-desktop-i386.iso</​code>​ 
- 
-Création d'un répertoire de travail : 
-<​code>​mkdir ~/live 
-cd ~/​live</​code>​ 
- 
-==== Utilisation de l'​image iso récupérée ==== 
-Nous allons monter l'​image iso, afin de pouvoir en parcourir son contenu, et nous faisons une copie locale des fichiers de l'iso afin de pouvoir les modifier. 
- 
-Extraction du contenu de l'iso : 
-<​code>​mkdir mnt 
-sudo mount -o loop ~/​ubuntu-9.10-desktop-i386.iso mnt 
-mkdir extract-cd 
-rsync --exclude=/​casper/​filesystem.squashfs -av mnt/ extract-cd</​code>​ 
-Nota : nom de l'iso à adapter éventuellement 
- 
-Dans la foulée nous décompressons le système de fichier embarqué dans l'iso afin de pouvoir y faire des modifications. Ce système sera celui sous lequel l'​utilisateur se retrouve lorsqu'​il arrive sur la session de test du live-cd. Donc c'est dans ce dernier qu'il faut agir pour ajouter des paquets, changer le fond d'​écran etc. 
- 
-Extraction du système : 
-<​code>​mkdir edit 
-sudo unsquashfs -d edit/. -f mnt/​casper/​filesystem.squashfs</​code>​ 
- 
- 
-Pour finir, on démonte l'iso : 
-<​code>​sudo umount mnt</​code>​ 
- 
-===== Le "​sources.list"​ ===== 
-Nous allons modifier le sources.list en activant les dépôts "​universe"​ et en désactivant les dépôts sources (deb-src). 
-<​code>​gksu gedit edit/​etc/​apt/​sources.list</​code>​ 
-Remplacez le contenu par : 
-<​code>​ 
-deb http://​fr.archive.ubuntu.com/​ubuntu karmic main restricted 
-# deb-src http://​fr.archive.ubuntu.com/​ubuntu karmic main restricted 
- 
-deb http://​security.ubuntu.com/​ubuntu karmic-security main restricted 
-# deb-src http://​security.ubuntu.com/​ubuntu karmic-security main restricted 
- 
-## Major bug fix updates produced after the final release of the 
-## distribution. 
-deb http://​fr.archive.ubuntu.com/​ubuntu karmic-updates main restricted 
-# deb-src http://​fr.archive.ubuntu.com/​ubuntu karmic-updates main restricted 
- 
-## Uncomment the following two lines to add software from the '​universe'​ 
-## repository. 
-## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
-## team. Also, please note that software in universe WILL NOT receive any 
-## review or updates from the Ubuntu security team. 
-# deb http://​fr.archive.ubuntu.com/​ubuntu karmic universe 
-# deb-src http://​fr.archive.ubuntu.com/​ubuntu karmic universe 
-# deb http://​fr.archive.ubuntu.com/​ubuntu karmic-updates universe 
-# deb-src http://​fr.archive.ubuntu.com/​ubuntu karmic-updates universe 
-# deb http://​security.ubuntu.com/​ubuntu karmic-security universe 
-# deb-src http://​security.ubuntu.com/​ubuntu karmic-security universe 
- 
-## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
-## team, and may not be under a free licence. Please satisfy yourself as to 
-## your rights to use the software. Also, please note that software in 
-## multiverse WILL NOT receive any review or updates from the Ubuntu 
-## security team. 
-# deb http://​fr.archive.ubuntu.com/​ubuntu karmic multiverse 
-# deb-src http://​fr.archive.ubuntu.com/​ubuntu karmic multiverse 
-# deb http://​fr.archive.ubuntu.com/​ubuntu karmic-updates multiverse 
-# deb-src http://​fr.archive.ubuntu.com/​ubuntu karmic-updates multiverse 
-# deb http://​security.ubuntu.com/​ubuntu karmic-security multiverse 
-# deb-src http://​security.ubuntu.com/​ubuntu karmic-security multiverse 
-</​code>​ 
- 
-**Note IMPORTANTE !!! :**  
- 
-quand les sources sont mises à jour, une sauvegarde est faite dans /​var/​lib/​apt,​ plus il y'a de sources décommentées,​ plus ce repertoire est gros, exemple main + universe = 54 mo actuellement,​ sans universe = 11 mo 
- 
-ceci est donc a prendre en compte pour le poids final de notre live-cd, pour cela il suffit de veiller à ne laisser QUE main décommenté comme dans l'​exemple ci-dessus et mettre à jour en fin d'​édition en chroot (si besoin) 
- 
-===== Le Chroot ===== 
-Nous allons entrer dans le système de fichier contenu dans le live-cd (et que nous avons décompressé). Mais plus encore nous allons le lancer, faire comme si le live-cd était lancé et nous y connecter. C'est ce à quoi sert un chroot. Nous allons donc nous retrouver dans l'​environnement du live-cd et chacune de nos actions va avoir des répercutions sur l'iso que nous génèrerons au final. Nous allons également monter quelques répertoires afin de nous donner accès au net depuis notre chroot. 
- 
-Quelques réglages préalables puis passage en chroot pour personnaliser le système : 
-<​code>​sudo cp /​etc/​resolv.conf edit/etc/ 
-sudo cp /etc/hosts edit/etc/ 
-sudo mount --bind /dev/ edit/dev 
-sudo chroot edit /bin/bash 
-mount -t proc none /proc 
-mount -t sysfs none /sys 
-export HOME=/​root</​code>​ 
- 
-==== Mises à jour des dépôts ==== 
-Nous sommes dans le chroot. La première étape est de mettre à jour la liste des paquets disponibles : 
-<​code>​apt-get update</​code>​ 
- 
-==== Suppression des paquets inutiles ==== 
-Afin de libérer de la place on supprime les paquets linguistiques qui sont déjà installés. 
- 
-<​code>​LANG=C 
-apt-get remove --purge $(dpkg -l | awk '​{print $2}' | egrep "​language-pack|aspell-|gimp-help-|language-support-|myspell-|language-pack-gnome-|gimp-help-|thunderbird-locale-"​ | xargs)</​code>​ 
- 
-==== Installation des paquets français ==== 
-Maintenant on ajoute les paquets linguistiques pour le français : 
-<​code>​apt-get install language-pack-fr language-pack-fr-base gimp-help-fr language-support-fr language-support-writing-fr language-pack-gnome-fr language-pack-gnome-fr-base manpages-fr manpages-fr-dev manpages-fr-extra openoffice.org-hyphenation openoffice.org-help-fr openoffice.org-l10n-fr wfrench gimp-help-common 
-LANG=fr_FR.UTF-8</​code>​ 
-attention, manpages-fr manpages-fr-dev manpages-fr-extra sont dans universe (il faut fixer la procédure, j'ai ajouté temporairement universe puis supprimé) 
- 
- 
-==== Suppression des .mo inutiles ==== 
-On continue notre nettoyage en installant localepurge qui va permettre de supprimer toutes les locales installées pour ne garder au final que celle pour le français. 
- 
--> idem localpurge est dans universe 
- 
-<​code>​apt-get install localepurge</​code>​ 
- 
-Ne sélectionner que fr, fr_FR, fr_fr@euro et fr_FR.UTF-8 
- 
-On lance la purge et on supprime le paquet : 
-<​code>​localepurge 
-apt-get remove --purge localepurge</​code>​ 
- 
- 
- 
-==== Modifier le nom d'​utilisateur ==== 
-Lorsque vous êtes sur le livecd, vous êtes connecté comme étant //Live session user//. Nous remplacerons ça par //Session CD// :-)  
-<​code>​sed -i "​s/​Live session user/​Session CD/g" /​etc/​casper.conf 
-sed -i "​s/​Live session user/​Session CD/g" /​usr/​share/​initramfs-tools/​scripts/​casper</​code>​ 
-Nota : la re-génération de initrd est nécessaire afin que soit prise en compte cette modification. 
-  
-==== Firefox ==== 
-=== Marque-page === 
-Firefox 3 a ses menus en français, mais les marque-pages sont ceux de la version anglaise. Nous allons donc récupérer une archive française de firefox et en extraire les marque-pages en remplacement de ceux existant. 
-<​code>​wget http://​ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​firefox/​boomarks.html -O /​etc/​firefox-3.5/​profile/​bookmarks.html</​code>​ 
--> les ICON_URI ont été supprimés de ce fichier 
- 
-=== Modifier la page d'​accueil === 
-Pour modifier la page d'​accueil on doit modifier le module "​ubufox"​ pour ne pas avoir une page d'​erreur si on n'a pas de connection à internet. 
- 
-avant tout ce fichier etant un .jar, si la commande "​jar"​ n'est pas disponible : 
-<​code>​ 
-sudo apt-get install fastjar 
-</​code>​ 
- 
-il faut ensuite extraire, éditer puis recomprésser ce jar (a faire directement dans le chroot ou en local mais sans oublier de copier le fichier dans le chroot ensuite...) 
- 
-<​code>​ 
-## au cas ou on cree un repertoire de travail 
-mkdir -p /​tmp/​live/​ubufox 
-cd /​tmp/​live/​ubufox 
- 
-cp /​usr/​share/​ubufox/​chrome/​ubufox.jar /​tmp/​live/​ubufox 
-fastjar -xf ubufox.jar 
-rm ubufox.jar 
-</​code>​ 
- 
-on passe a l'​edition 
- 
-<​code>​ 
-cd /​tmp/​live/​ubufox/​content 
- 
-# on change le lien par défaut 
-sed -i '​s%http://​start.ubuntu.com/​9.10%http://​start.ubuntu-fr.org/​9.10%'​ startpage.html 
- 
-## et la langue dans le cas ou la localisation n'est pas détectée correctement 
-sed -i '​s/​en-US/​fr-FR/'​ startpage.html 
-</​code>​ 
- 
-Pour finir, on recrée le .jar 
-<​code>​ 
-cd /​tmp/​live/​ubufox 
-fastjar -cMf ubufox.jar . 
-cp ubufox.jar /​usr/​share/​ubufox/​chrome/​ 
- 
-apt-get remove --purge fastjar 
-</​code>​ 
- 
-voilà pour ubufox et la page d'​accueil 
- 
-=== Autre === 
- 
-Modifier le "​useragent"​ du profile par défaut: 
-<​code>​echo '​user_pref("​general.useragent.locale",​ "​fr-FR"​);'​ >> /​etc/​firefox-3.5/​profile/​prefs.js</​code>​ 
-Modifier le lien de "Notes de version"​ qui se trouve dans le menu aide de Firefox : 
-<​code>​echo '​user_pref("​app.releaseNotesURL",​ "​http://​doc.ubuntu-fr.org/​karmic"​);'​ >> /​etc/​firefox-3.5/​profile/​prefs.js</​code>​ 
- 
- 
-**Note :** 
-en exemple, Les fichiers complets issu de ces explications sont ici : 
-http://​ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​firefox/​ 
- 
-==== Les exemples de documentation en français ==== 
- 
-Deux choses pour la version Karmic, traduire le .desktop qui fait désormais office de lien et remplacer les exemples anglais par ceux traduits par la communautée 
- 
-== Le .desktop == 
- 
-traduire /​etc/​skel/​examples.desktop 
-<​code>​ 
- 
-## edition de casper 
-sed -i '​s/​Desktop/​Bureau/​g;​s/​Examples/​Exemples/​g'​ /​usr/​share/​initramfs-tools/​scripts/​casper-bottom/​10adduser 
- 
-## profitons en pour ajouter un saut de ligne au texte de l'​icone installer ubuntu 9.10 
-sed -i '​s/​Installer RELEASE/​Installer \\nRELEASE/'​ /​usr/​share/​applications/​ubiquity-gtkui.desktop 
- 
- 
-</​code>​ 
- 
-== Les exemples == 
- 
-Nous remplaçons ici les exemples du live-cd officiel par ceux traduits par la communauté ubuntu-fr (reprendre l'​etape initialisation du chroot plus haut si besoin): 
-<​code>​ 
-cd /​usr/​share/​example-content 
-rm * 
-wget http://​ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​radline_doc/​Doc%209_10.tar.gz 
-tar xvf Doc%209_10.tar.gz 
-rm traductions-exemples.tar.gz 
-mv LiveCD_francais_remerciements.txt Ubuntu_Édition_Francophone_remerciements.txt 
-</​code>​ 
-Les fichiers de traductions ne correspondent pas au contenu. Comparaison manuelle… 
- 
-un petit script cron tourne désormais et regenere al doc tous les jours a minuit (jaunty en exemple pour l'​instant) ;) 
- 
- 
-==== Clavier fr dans le tty1 ==== 
- 
-<​code>​dpkg-reconfigure console-setup</​code>​ 
- 
-choisir les configuration suivante : 
-- Generic 105-key (Intl) PC 
-- France 
-- France - Alternative 
-- Pas de touche AltGr 
-- Pas de touche « compose »  
-- UTF-8 
-- # latin1 et latin5 : langues de l'​Europe de l'​ouest et turc 
-- VGA 
-- 16 
-- /​dev/​tty[1-6] 
- 
- 
-==== Casper et messages de boot ==== 
- 
-== Messages au reboot == 
- 
-Pour traduire les message au reboot du pc, "​please remove your disk and close the tray..." ​ 
- 
-editez simplement le fichier ~live/​edit/​etc/​init.d/​casper 
- 
-fichier exemple : 
-http://​ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​casper/​etc-init.d/​casper 
- 
- 
-== Messages de vérification du live-cd == 
- 
-Pour les messages de vérification du live cd etc, la méthode que j ai utilisé :  
- 
-En dehors du chroot: 
-<​code>​ 
-apt-get source casper 
-cd casper*/​casper-md5check 
- 
-# maintenant traduire le fichier casper-md5check.c en console et recompiler avec la commande "​make"​ 
-# restera ensuite à recopier le nouveau binaire: 
- 
-cp casper-md5check ~live/​edit/​usr/​lib/​casper/​ 
-chmod +x /​usr/​lib/​casper/​casper-md5check 
-</​code>​ 
- 
-et voila :) 
- 
-fichier recompilé (pour karmic): 
-http://​ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​casper/​usr-lib-casper/​casper-md5check 
- 
- 
- 
-==== Vérifications ==== 
-Recherche des logins dont l'uid est supérieur ou égal à 1000 
- 
-<​code>​grep '​^[^:​]*:​[^:​]*:​[1-9][0-9][0-9][0-9]:'​ /etc/passwd 
-grep '​^[^:​]*:​[^:​]*:​[12][0-9][0-9][0-9][0-9]:'​ /​etc/​passwd</​code>​ 
- 
-Si les commandes précédentes renvoient quelque chose, il faut forcer l'uid à une valeur plus faible, sinon le live-cd ne démarrera pas : 
- 
-<​code>​usermod -u 500 $login</​code>​ 
- 
- 
-==== Initrd ==== 
-On supprime l'​initrd du squashfs généré lors du changement de locale: 
-<​code>​ 
-rm boot/​initrd.img-2.6.31-14-generic 
-</​code>​ 
- 
-Là nous mettons à jour le initrd afin de prendre en compte les changements faits plus haut dès qu'on touche à casper : 
-<​code>​ 
-## genere l init mis à jour 
-mkdir -p /tmp/init 
-mkinitramfs -o /​tmp/​init/​initrd.gz 2.6.31-14-generic 
- 
-## extrait 
-cd /tmp/init 
-gzip -dc initrd.gz | cpio -id 
-rm *.gz 
- 
-## recompresse en lzma, specifique à karmic... 
-find . | cpio --quiet --dereference -o -H newc | lzma -7 > /initrd.lz 
-cd / 
-rm -R /tmp/init 
-</​code>​ 
- 
-Et voila pour l'init en lzma 
- 
-Nota : il faudra (voir plus loin) faire prendre en compte ce nouvel initrd par le noyau du live-cd. Sinon cela ne sert à rien ;-) 
- 
- 
- 
-===== Sortie du chroot ===== 
-==== nettoyage ==== 
-On a fini les modifications dans le chroot donc on en sort proprement en enlevant nos traces, qui sinon se retrouveront sur le système final. Comme par exemple les paquets téléchargés qui vont gonfler inutilement la taille de notre système au final. 
-<​code>​apt-get clean 
-rm -rf /tmp/* 
-rm -rf /var/tmp/* 
-rm /​etc/​resolv.conf 
-rm /etc/hosts 
-umount /proc 
-umount /sys 
-exit 
-sudo umount edit/​dev</​code>​ 
- 
-==== On récupère le initrd.lz ==== 
-On récupère le initrd.lz précédemment compilé et on le place au bon emplacement afin qu'il soit utilisé par le noyau du live-cd 
-<​code>​sudo mv -f edit/​initrd.lz ~/​live/​extract-cd/​casper/</​code>​ 
- 
-==== Moteurs de recherche dans Firefox==== 
-<​code>​ 
-cd edit/​etc/​firefox-3.5/​profile 
-sudo wget http://​www.ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​firefox/​searchplugins.tar.bz2 
-sudo tar xvf searchplugins.tar.bz2 
-sudo rm searchplugins.tar.bz2 
-cd ~/live 
-</​code>​ 
- 
-Suppression de edit/​etc/​firefox-3.5/​profile/​searchplugins/​ubuntu-france.xml:​ Il s'agit d'une violation du trademark de canonical (pas une loco et utilisation du nom ubuntu) 
-Renommage de wikipidia-fr.xml en wikipedia-fr.xml 
- 
-==== Remplacer les radio RhythmBox ==== 
-nous allons remplacer les radio de RhythmBox par des radios françaises : 
-<​code>​sudo wget http://​www.ubukey.fr/​traductions-fr/​projet%20LiveCD-fr/​ubuntu9.10-fr/​rhythmbox/​radio.pls -O edit/​usr/​lib/​rhythmbox/​plugins/​iradio/​iradio-initial.pls</​code>​ 
- 
-==== autorun.inf ==== 
-<​code>​sudo sed -i '​s/​Install Ubuntu/​Installer Ubuntu/'​ extract-cd/​autorun.inf</​code>​ 
- 
-==== Pour gfxboot ==== 
-Ici nous allons modifier le tout premier écran qui apparait lorsque vous démarrez sur le live-cd. Nous modifions le fichier langlist afin qu'il ne propose plus le choix de toutes les langues et que celle choisie automatiquement soit le français. De plus nous créons le fichier //lang// qui fait en sorte que la langue d'​affichage des menus soit le français. ​ 
-<​code>​ 
-cd ~/​live/​extract-cd/​isolinux 
-sudo su 
-echo "​fr"​ > langlist 
-echo "​fr"​ > lang 
-exit 
-cd ~/live 
-</​code>​ 
- 
-===== Création du CD ===== 
-==== Pour le manifest ==== 
-<​code>​chmod +w extract-cd/​casper/​filesystem.manifest 
-sudo chroot edit dpkg-query -W --showformat='​${Package} ${Version}\n'​ > extract-cd/​casper/​filesystem.manifest 
-sudo cp extract-cd/​casper/​filesystem.manifest extract-cd/​casper/​filesystem.manifest-desktop 
-sudo sed -i '/​ubiquity/​d'​ extract-cd/​casper/​filesystem.manifest-desktop</​code>​ 
- 
-==== Création du squashfs ==== 
-Nous allons maintenant créer l'​image de notre système de fichier que nous avons personnalisé : 
-<​code>​ 
-cd ~/live 
-sudo rm extract-cd/​casper/​filesystem.squashfs 
-sudo mksquashfs edit extract-cd/​casper/​filesystem.squashfs</​code>​ 
- 
-Nota : la première commande peut retourner une erreur (aucun fichier). C'est juste pour s'​assurer qu'on est prêt pour la deuxième comm 
-nde. 
- 
-==== Création du md5sum ==== 
-Ici on reconstruit le fichier md5sum.txt qui sert lors de l'​auto-vérification du cd depuis le menu de boot. 
-<​code>​sudo -s 
-rm extract-cd/​md5sum.txt 
-(cd extract-cd && find . -type f -not -name md5sum.txt -not -path '​*/​isolinux/​*'​ -print0 | xargs -0 -- md5sum > md5sum.txt ) 
-exit</​code>​ 
- 
-==== Création de l'​image iso finale ==== 
-Il est temps de créer notre iso : 
-<​code>​cd extract-cd 
-sudo mkisofs -r -V "​Ubuntu 9.10 Edition Francophone"​ -cache-inodes -J -l -b isolinux/​isolinux.bin -c isolinux/​boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../​ubuntu-9.10-desktop-i386-fr.iso .</​code>​ 
- 
-Vous pouvez maintenant tester votre image Ubuntu Edition Francophone. 
----- 
- 
  
  • traduction_live_cd_tuto_ubuntu_karmic.1257279267.txt.gz
  • Dernière modification: Le 03/11/2009, 21:14
  • par DidRocks