Différences
Ci-dessous, les différences entre deux révisions de la page.
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_lucid [Le 20/04/2010, 19:25] vincentxavier |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>lucid tutoriel live_cd ubuntu-l10n-fr}} | ||
- | ---- | ||
- | <note warning>Attention cette page est en cours de rédaction.</note> | ||
- | ====== Script de localisation de live-CD en français ====== | ||
- | |||
- | Voici une proposition de script pour localiser le CD en Français. Il reste encore un peu de travail à faire, en particulier au niveau de la localisation de Firefox et des exemples, mais cela devrais faciliter le travail préliminaire. | ||
- | |||
- | 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> | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | # Translation script for Ubuntu CDs | ||
- | # Copyright (C) 2010 Vincent-Xavier JUMEL | ||
- | |||
- | # This program is free software: you can redistribute it and/or modify | ||
- | # it under the terms of the GNU General Public License as published by | ||
- | # the Free Software Foundation, either version 3 of the License, or | ||
- | # (at your option) any later version. | ||
- | |||
- | # This program is distributed in the hope that it will be useful, | ||
- | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
- | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
- | # GNU General Public License for more details. | ||
- | |||
- | # You should have received a copy of the GNU General Public License | ||
- | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
- | |||
- | # Be sure to set up the variables according to your needs and preferences | ||
- | |||
- | V_NUM=10.04 # Stand for version number | ||
- | V_NAME=lucid # stand for version name | ||
- | ARCH=i386 # Architecture | ||
- | WD=$HOME/tmp/ubuntu # our working directory, should not interfere with anything you have | ||
- | |||
- | if [ -e ${WD} ] then rm -rf ${WD} ; mkdir -p ${WD} ; else mkdir ${WD} ; fi ; | ||
- | |||
- | mkdir ${WD}/tmp | ||
- | |||
- | wget -c http://cdimage.ubuntu.com/daily-live/current/${V_NAME}-desktop-${ARCH}.iso | ||
- | #http://releases.ubuntu.com/karmic/ubuntu-9.10-desktop-i386.iso | ||
- | |||
- | # Going into working directory | ||
- | cd ${WD} | ||
- | mkdir ${WD}/mnt | ||
- | sudo mount -o loop ${WD}/ubuntu-${V_NAME}-desktop-${ARCH}.iso ${WD}/mnt | ||
- | mkdir ${WD}/extract-cd | ||
- | rsync --exclude=/casper/filesystem.squashfs -av ${WD}/mnt/ ${WD}/extract-cd | ||
- | |||
- | mkdir ${WD}/edit | ||
- | unsquashfs -d ${WD}/edit/. -f ${WD}/mnt/casper/filesystem.squashfs | ||
- | sudo umount mnt | ||
- | |||
- | # Just replace archives by French ones | ||
- | |||
- | sed -i 's/archive/fr.archive/' ${WD}/edit/etc/apt/sources.list | ||
- | |||
- | # We just uncomment universe and multiverse for special package. They | ||
- | # will be commented out by the end of the installation dans /var/lib/apt | ||
- | # will be purged to gain space. | ||
- | |||
- | sed -i -r -e 's/# (deb .* iverse)/\1/' ${WD}/edit/etc/apt/sources.list | ||
- | |||
- | # Preparing and entering the chroot environment | ||
- | cp /etc/resolv.conf edit/etc/ | ||
- | 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 | ||
- | mount -t devpts none /dev/pts | ||
- | export HOME=/root | ||
- | export PS1="(chroot-trad-ubuntu) $PS1" | ||
- | |||
- | # Updating repositories | ||
- | aptitude update | ||
- | |||
- | # Removing unused packages | ||
- | aptitude purge `dpkg -l | awk '{print $2}' | egrep "^language-pack-|^language-pack-gnome-|^language-support-|^aspell|^myspell-|^hunspell-|^wamerican$|^wbritish$|^openoffice.org-help-|^openoffice.org-hyphenation-|^openoffice.org-thesaurus-|^gimp-help-|^evolution-documentation-" | xargs` | ||
- | |||
- | # Installing packages | ||
- | aptitude 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 openoffice.org-hyphenation-fr openoffice.org-help-fr openoffice.org-l10n-fr wfrench gimp-help-fr manpages-fr manpages-fr-dev manpages-fr-extra | ||
- | LANG=fr_FR.UTF-8 | ||
- | |||
- | # Purging *.mo files | ||
- | # May be inmproved | ||
- | |||
- | # Creating localepurge configuration file | ||
- | |||
- | cat >> /etc/locale.nopurge << EOF | ||
- | #################################################### | ||
- | # This is the configuration file for localepurge(8). | ||
- | #################################################### | ||
- | |||
- | #################################################### | ||
- | # Uncommenting this string enables removal of localized | ||
- | # man pages based on the configuration information for | ||
- | # locale files defined below: | ||
- | |||
- | MANDELETE | ||
- | |||
- | #################################################### | ||
- | # Uncommenting this string causes localepurge to simply delete | ||
- | # locales which have newly appeared on the system without | ||
- | # bothering you about it: | ||
- | |||
- | DONTBOTHERNEWLOCALE | ||
- | |||
- | #################################################### | ||
- | # Uncommenting this string enables display of freed disk | ||
- | # space if localepurge has purged any superfluous data: | ||
- | |||
- | SHOWFREEDSPACE | ||
- | |||
- | ##################################################### | ||
- | # Commenting out this string enables faster but less | ||
- | # accurate calculation of freed disk space: | ||
- | |||
- | #QUICKNDIRTYCALC | ||
- | |||
- | ##################################################### | ||
- | # Commenting out this string disables verbose output: | ||
- | |||
- | #VERBOSE | ||
- | |||
- | ##################################################### | ||
- | # Following locales won't be deleted from this system | ||
- | # after package installations done with apt-get(8): | ||
- | |||
- | fr | ||
- | fr_FR | ||
- | fr_FR@euro | ||
- | fr_FR.UTF-8 | ||
- | |||
- | EOF | ||
- | |||
- | # Really purging locale | ||
- | aptitude install localepurge | ||
- | localepurge | ||
- | aptitude purge localepurge | ||
- | |||
- | # Changing the name onto the CD | ||
- | 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 | ||
- | |||
- | ## 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 | ||
- | |||
- | # TTY localisation | ||
- | |||
- | dpkg-reconfigure -phigh console-setup | ||
- | |||
- | sed -i 's/Please remove the disc, close the tray (if any)/Retirez le disque, refermez le tiroir (si nécessaire)'/ /etc/init.d/casper | ||
- | |||
- | sed -i 's/and press ENTER to continue/et appuyer sur Entrée pour continuer/' /etc/init.d/casper | ||
- | |||
- | # Todo : casped-md5sum translation | ||
- | |||
- | # Live CD doesn't accept UID greater than 500 | ||
- | |||
- | if [ -neq `grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' /etc/passwd` "" ] then usermod -u 500 $login ; fi ; | ||
- | if [ -neq `grep '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' /etc/passwd` "" ] then usermod -u 500 $login ; fi ; | ||
- | |||
- | KV-KB=boot/initrd.img-* | ||
- | |||
- | 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 | ||
- | |||
- | |||
- | # On supprime l'initrd du squashfs généré lors du changement de locale: | ||
- | |||
- | rm boot/initrd.img-2.6.31-14-generic | ||
- | |||
- | # Getting out the chroot environment | ||
- | |||
- | 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 | ||
- | |||
- | # Getting out the chroot environment | ||
- | mv -f ${WD}/edit/initrd.lz ${WD}/extract-cd/casper/ | ||
- | |||
- | # Updating the autorun.inf | ||
- | |||
- | sed -i 's/Install Ubuntu/Installer Ubuntu/' ${WD}/extract-cd/autorun.inf | ||
- | |||
- | # Dealing with gfxboot | ||
- | |||
- | cd ${WD}/extract-cd/isolinux | ||
- | chmod u+w . | ||
- | echo fr > lang | ||
- | echo fr > langlist | ||
- | cp fr.* ${WD}/tmp/ | ||
- | rm *.hlp *.tr | ||
- | mv ${WD}/tmp/fr.* . | ||
- | chmod u-w . lang langlist | ||
- | |||
- | # Creating CD manifest | ||
- | |||
- | 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 | ||
- | sed -i '/casper/d;/cryptsetup/d;/dmraid/d;/ecryptfs-utils/d;/gparted/d;/jfsutils/d;/keyutils/d;/kpartx/d;/libdebconfclient0/d;/libdebian-installer4/d;/libdmraid1.0.0.rc15/d;/libecryptfs0/d;/libntfs10/d;/libreadline5/d;/localechooser-data/d;/lupin-casper/d;/ntfsprogs/d;/python-pyicu/d;/rdate/d;/reiserfsprogs/d;/ubiquity/d;/ubiquity-casper/d;/ubiquity-frontend-gtk/d;/ubiquity-slideshow-ubuntu/d;/ubiquity-ubuntu-artwork/d;/user-setup/d;/xfsprogs/d' extract-cd/casper/filesystem.manifest-desktop | ||
- | |||
- | # Creating the squashfs | ||
- | sudo rm ${WD}/extract-cd/casper/filesystem.squashfs | ||
- | sudo mksquashfs ${WD}/edit ${WD}/extract-cd/casper/filesystem.squashfs | ||
- | |||
- | rm ${WD}/extract-cd/md5sum.txt | ||
- | cd ${WD}/extract-cd && find . -type f -not -name md5sum.txt -not -path '*/isolinux/*' -print0 | xargs -0 -- md5sum > md5sum.txt | ||
- | |||
- | cd ${WD}/extract-cd | ||
- | mkisofs -r -V "Ubuntu ${V_NUM} 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-${V_NUM}-desktop-i386-fr.iso . | ||
- | </code> | ||
- | |||
- | |||
- | Vous pouvez tester l'image avec <code>kvm -m 512 -enable-kvm -cdrom ubuntu-10.04-desktop-i386-fr.iso -boot d -net nic -net user -net vde</code> | ||
- | |||
- | ---- |