Sysresccd-manual-fr Comment personnaliser SystemRescueCd

From SystemRescueCd

Contents

[1] Introduction

Pouvoir faire sa propre version de SystemRescueCD était fréquemment demandé. C'est maintenant possible de le faire.

Ceci signifie que vous pouvez ajouter des fichiers à l'images compressée sysrcd.dat, qui est le système de fichier de SystemRescueCD. Par exemple, vous pouvez ajouter des scripts qui font une sauvegarde complète d'un serveur, ou un programme dont vous avez besoin. Il est aussi possible d'ajouter des données, afin d'avoir tout sur le cédérom (données et système de fichiers qui vous permettent de restaurer vos données.) Actuellement, il n'est pas possible de changer le noyau. Si vous avez besoin d'une option du noyau qui est désactivée, merci de nous contacter.

Le but est de produire une nouvelle image ISO, avec un fichier sysrcd.dat mis à jour. Afin de créer votre propre version de SystemRescueCD, vous avez besoin d'une version officielle et récente de ce cédérom et d'une partition avec avec les droits de lecture et d'écriture depuis Linux, avec au moins 700 Mo d'espace libre. Si vous voulez une version plus volumineuse du cédérom, vous devrez avoir encore plus d'espace.

Restez conscient que cette opération demande une grande quantité de mémoire (RAM et Disque Dur). Si vous n'avez pas 128 Mo de RAM et au moins 700 Mo de libre, l'opération échouera. Vous pouvez créer une partition de swap afin d'éviter des problèmes.

[2] Usage

Toutes les personnalisations sont traitées depuis le cédérom avec un script. Vous devrez graver la version officielle du cédérom, démarrer dessus et vous pourrez faire votre version personnelle. Le script doit être lancé depuis le cédérom, car s'est plus facile de cette manière. Vous serez sûr que tous les programmes seront installés. Si le script avait été conçu pour fonctionner sous plusieurs distributions Linux,vous auriez dû installer de nombreux programmes, modules pour le noyau et cela aura été bien plus difficile. Voici les instructions à suivre pour créer votre image ISO. Dans notre exemple la partition /dev/hda1 est formatée Linux (ext2, ext3, reiserfs, reiser4, xfs, jfs,..) et dispose de 700 Mo au minimum. Il doit absolument s'agir d'une partition Linux car les système de fichiers FAT et NTFS ne supportent pas les liens symboliques et les permissions de fichiers. Si vous avez seulement une partition FAT de disponible, vous pouvez créer une partition Linux virtuelle à l'intérieur de votre partition FAT:

mount /dev/hda1 /mnt/fat
cd /mnt/fat
dd if=/dev/zero of=fsimage bs=1M count=500
mke2fs -F -q -N 50000 fsimage
mount -t ext2 -o loop fsimage /mnt/custom

Si vous utilisez l'option de démarrage docache, le disque original de SystemRescueCD devra être monté quand vous lancerez la première étape du script.

[3] Procédure

Cette procédure va créer un répertoire customcd sur cette partition. Tous les fichiers localisés dans un autre répertoire ne seront pas affectés par le script. Si vous avez une vielle version de personnalisation du cédérom dans ce répertoire, vous devriez faire une sauvegarde. Tous les fichiers de /dev/hda1/customcd seront perdus. A noter que vous devrez utiliser /mnt/custom que nous utilisons dans cet exemple. Vous ne pouvez pas utiliser un autre point de montage comme /mnt/un-autre-nom.

[3.1] Première étape: Monter la partition de travail.

mount /dev/hda1 /mnt/custom

Si vous ne voulez pas que le dossier temporaire soit écrit dans /mnt/custom, vous pouvez choisir un autre répertoire. Par exemple, si l'espace disque libre se trouve sur un partage NFS, vous pouvez essayer ceci:

mount -o bind /mnt/nfs/remote-directory /mnt/custom

[3.2] Deuxième étape: Extraire les fichiers actuels de l'image sysrcd.dat

/usr/sbin/sysresccd-custom extract

Si il n'y a pas eu d'erreurs, tous les fichiers de l'image sysrcd.dat devrait avoir été copié dans: /mnt/custom/customcd/files/

[3.3] Troisième étape: Personnaliser les fichiers (optionnel)

Pour personnaliser les fichiers que vous venez juste d'extraire. Vous pouvez le faire depuis le SystemRescueCD mais il est également possible de redémarrer l'ordinateur pour utiliser un autre système. Si vous choisissez de redémarrer, vous devrez une nouvelle fois démarrer sur le cédérom SystemRescueCD et monter les fichiers à nouveau (voir l'étape 1). Tous les changements qui peuvent être fait dans le répertoire suivant: </code>/mnt/custom/customcd/files/</code>

[3.4] Quatrième étape: Créer une nouvelle image squashfs

Dans cette étape, tous les fichiers de /mnt/custom/customcd/files/ sont lisibles et vous devrez les mettre dans la nouvelle image squashfs. Cette dernière est copiée dans: /mnt/custom/customcd/isoroot/sysrcd.dat, mais vous n'avez pas a vous en préoccuper.

/usr/sbin/sysresccd-custom squashfs

[3.5] Cinquième étape: Ajouter des fichiers dans l'image ISO (optionnel)

Par défaut, vous avez seulement besoin d'un image sysrscd.dat et du répertoire isolinux. le cédérom peut travailler seulement avec ces deux éléments. A cette étape, vous pouvez ajouter d'autres fichiers à l'image ISO, hors de l'image. Par exemple, vous pouvez ajouter des fichiers de sauvegarde dans le cédérom mais hors de l'image sysrcd.dat afin d'éviter sa surcharge. Si vous êtes intéressés par l'ajoute de fichiers de cette manière, vous devrez juste copier les fichiers avec sysrcd.dat dans le répertoire: /mnt/custom/customcd/isoroot.

cp -a mes-fichiers /mnt/custom/customcd/isoroot

Vous pouvez ajouter un script autorun dans le cédérom hors de l'image sysrcd.dat. Si vous mettez un script d'autorun, il peut être lancé au démarrage. Cela vous permet d'automatiser de nombreuses tâches comme faire une sauvegarde. Pour plus de détails, allez voir la section au sujet de l'autorun.

cp autorun /mnt/custom/customcd/isoroot
chmod 755 /mnt/custom/customcd/isoroot/autorun

Naturellement, vous devrez vous assurer que la taille du dossier isoroot n'est pas trop imposante pour votre cédérom (700 Mo habituellement). Vous pouvez utiliser la commande: du -sh /mnt/custom/customcd/ pour cela.

[3.6] Sixième étape: Sélectionner votre disposition du clavier (optionnel)

Dans la version officielle de SystemRescueCD, vous sélectionnez la disposition du clavier au démarrage. Si vous voulez ne plus avoir à le faire, vous pouvez donc définir une disposition du clavier permanente. Pour ceci, lancez la commande:

/usr/sbin/sysresccd-custom setkmap <votre-disposition>

Le deuxième paramètre est le nom ou le numéro de votre disposition de clavier. Par exemple, un utilisateur français devra utiliser ceci:

/usr/sbin/sysresccd-custom setkmap fr

[3.7] Septième étape: Modifier les options de démarrage (optionnel)

Vous pouvez modifier les paramètres de démarrage dans le fichier /mnt/custom/customcd/isoroot/isolinux/syslinux.cfg afin d'inclure par exemple des options comme docache qui mémorise le disque pour qu'on puisse l'éjecter, ou encore dodhcp qui attribue une adresse IP au démarrage.

[3.8] Huitième étape: Créer la nouvelle image ISO

Vous devrez juste taper cette commande (Le deuxième paramètre est le nom de volume du disque):

/usr/sbin/sysresccd-custom isogen my_srcd

[3.9] Neuvième étape: Synchroniser vos disques

Avant de quitter le système et de redémarrer, vous devriez vous assurer que tous vos disque sont correctement démontés. La meilleur façon d'être sûr de ne pas perdre de données est de démonter toutes les partitions montées et tout particulièrement la temporaire (/dev/hda1 dans notre exemple), puis de taper sync.

cd / ; umount /mnt/custom ; sync

[3.10] Dixième étape: Tester et graver l'image ISO

La nouvelle image ISO est située dans: /mnt/custom/customcd/isofile/sysresccd-new.iso. Vous pouvez la graver avec cdrecord, Nero ou tout autre logiciel de gravure. Si vous ne voulez pas graver un cédérom, vous pouvez le tester avec VMWare ou qemu. Vous devrez annoncer à ce logiciel que le lecteur cédérom virtuel à utiliser est l'image ISO.

[4] Résultats de vos changements

Quand vous démarrez votre ordinateur avec votre version de SystemRescueCD, vous pouvez voir tous les fichiers dans /mnt/livecd. Si vos nouveaux fichiers appartiennent à un répertoire standard, vous pouvez y accéder sans problèmes. Si vous faites un nouveau répertoire dans le root du système de fichier, il va apparaître dans /mnt/livecd, mais vous ne pourrez pas voir dans le dossier root. En fait, la racine du système contient des liens symboliques vers /mnt/livecd. Vous pouvez faire le lien vous même.

[5] Autorun: script lancé au démarrage

SystemRescueCD v0.2.6 a apporté le support des scripts autorun. Cela permet de lancer automatiquement des scripts au démarrage du système. Chaque script d'autorun peut s'occuper d'une tâche. Par exemple, vous pouvez créer un script de sauvegarde qui fait une sauvegarde d'une base de données ou autre pour nettoyer le système, ...

Par défaut, le script autorun doit être copié dans le root du cédérom, hors de l'image sysrcd.dat compressée, mais d'autres sources sont possibles: disquette, partition, partage réseau. Le script peut être nommé autorun si il est seul. Sinon vous pouvez les nommer autorun0, autorun1... Dans ce cas, les scripts autorun doivent disposer d'une option de démarrage autoruns= donnée à l'invite de démarrage. Vous devrez donc taper par exemple: fb800 autoruns=2,3,4.

Si vous voulez utiliser une disquette ou une source réseau pour le fichier autorun, vous devrez spécifier une autre option de démarrage spécifique.

[5.1] Les emplacements

Au démarrage, une liste des emplacements sont vérifiées pour détecter la présence de fichiers autorun. Il s'agit successivement de:

Mais peut être utilisé avec une partition également:

pour regarder dans la deuxième partition du premier disque dur IDE.

pour regarder dans la sixième partition du deuxième disque dur SCSI.

fb800 ar_source=nfs-server:/nfs/exported/directory
 fb800 ar_source=//samba-server/share

Pour un partage SMB (il est recommandé qu'il soit anonyme). Les périphériques sont montés dans /mnt/autorun et il est possible d'écrire dessus si ils ne sont pas protégés en écriture:

Si les fichiers autorun sont trouvés dans diverses localisations, ils sont lancés. Plus de deux localisations requière une reconstruction de SytemRescueCd et devrait être utilisé pour des utilisations avancées ou de tests.

Dans chaque localisations, il y a deux possibilités de mode opératoire:

(exemple: "fb800 autoruns=0,1,4" - Dans cet exemple, seulement les scripts autorun0, autorun1 ou autorun4 doivent être lancés si ils sont présent. les autres scripts autorun2, autorun3 et autorun5 seront ignorés)

Puis les scripts autorisés sont lancés par ordre alphabétiques. Si a script ne se termine pas, le processus est stoppé et le prochain script n'est pas lancé. Vous pouvez empêcher toute exécution "autorun#" avec un paramètre autorun=boot sans chiffre. Exemple: autoruns=no. Ceci n'a pas d'effet sur le script autorun.

Bien qu'il soit possible de mettre les deux:"autorun" et "autorun#" scripts. Ceci est à éviter.

Le script a de nombreux shell valides. Les scripts en Perl sont supportés à l'heure actuelle, mais pas ceux en python.

[5.2] Exemples de script autorun

#!/bin/bash
(
  ifconfig eth0 | head -n 3
  fdisk -l /dev/hda
) | tee -a /mnt/autorun/report
sync
exit 0

Ce script va cumuler des informations sur l'interface réseau eth0 et les partitions du disque dur dans un fichier nommé "report" sur le premier lecteur disquette. Pour qu'il se lance, la séquence de boot doit être spécifiée sur cédérom en premier dans le BIOS, le paramètre ar_source=boot doit être correctement rentré, la disquette doit être accessible en écriture, et le cédérom et la disquette doivent être insérés au démarrage.

Si le réseau est automatiquement configuré au démarrage (avec DHCP), vous pouvez envoyer les informations vers un serveur de partage NFS ou Samba par exemple.

N'oubliez pas de donner la localisation de l'autorun au démarrage. Pour indiquer que vous partager un répertoire accessible en écriture nommé /nfs/sauvegarde sur un serveur NFS, vous devez taper:

à l'invite de démarrage de SystemRescueCD. Pour mettre dans le répertoire partagé un script "autorun", vous pouvez procéder comme cela:

#!/bin/bash
date=$(date +%Y%m%d)
cat /dev/hda | gzip > /mnt/autorun/$date.hda.gz && exit 0
echo $date hda erreur de sauvegarde 
exit 1

Si l'espace fourni par le NFS est suffisant, cela va copier ici une image compressée de votre premier disque dur IDE. Attention, il peut aussi y avoir une taille maximale de 2Go pour les fichiers lorsque vous copiez par le réseau, ou vers les partitions formatées en FAT.

Vous devez vous assurer que la résolution des noms (DNS) fonctionne si vous voulez accéder au serveur NFS par son nom et non par son adresse IP.