Bonjour,
Je suis en train d’installer debian etch sur un serveur amd64, j’ai mon système de base sur un CF 1go montée en IDE et 5HDD sata en raid5 avec un LVM dessus et 2LV: /home et /swap.
Je cherche à éviter au maximum les écritures sur la CF pour la préservée…
C’est pourquoi j’ai mis /swap sur un LV. en plus /swap ne servira pas beaucoup car j’ai 2GO de DDR2.
On m’a récemment entretenu de unionfs qui garde le système en lecture seule et qui copie les écritures (updates, conf, nouveaux paquets etc…) dans un répetoire sur un autre volume.
Quelqu’un en a t il fait usage et sais t il comment le mettre en oeuvre?
Cordialement!
Oui, j’utilise unionfs sans souci avec clefagreg mais je ne comprends pas ton message:
LV=Volume logique sur disque dur, bon
CF=??? Carte fausse, Credit Fossile, Canard farceur, Crétin Fini, Carbure à Flouze… mettons après reflexion que ça soit Compact Flash donc une carte mémoire.
Effectivement, il est pas mal d’utiliser unionfs pour ton problème, tu peux même gagner de la place en utilisant squashfs éventuellement. Le principe est de monter la racine sur ta carte en lecture seule ainsi qu’un RAMDISK en unionfs, les écritures se feront uniquement en RAM. À l’issue de ta session, tu répercutes en un seule fois les modifications sur ta carte. J’ai effectivement crammé 3 clefs USB avant de faire ce système avec le répertoire home donc les systèmes type clef USB et carte flash n’aiment pas les écritures fréquentes. C’est une bonne précaution.
Merci pour ton info.
:smt002 J’éviterai les abréviations à l’avenir…
Comment est ce que je met tout ça en œuvre lors de l’installation?
J’ai trouvé pour mettre le carte compact flash en lecture seule
Mais je ne sais comment mettre en place le ramdisk avec unionfs…
Je suppose qu’il faut faire tout cela lors de l’installation mais rien ne semble prévu dans le menu de partitionnement (cd d’installation etch de base)
Merci
Hum, non tu fais ton installation normalement et tu laisses ta carte flash en rw mais à la fini de l’initrd, avant de faire le run-init, tu fais
[code]# modprobe unionfs
(donc le mettre dans l’initrd)
umount /dev/pts
mv /dev /ramdisk
mount -t unionfs unionsfs /ROOT -o dirs=/ramdisk=rw:/carte_flash=ro
chroot /ROOT mount /proc
chroot /ROOT mount /sys
umount /proc/bus/usb
umount /proc
umount /sys
cd /
exec /bin/run-init /ROOT /sbin/init $* < /ROOT/dev/console > /ROOT/dev/console 2>&1
[/code]ou qque chose de ce genre
Merci beaucoup
!
J’ai regardé l’initrd usuel, le fichier init se termine par
maybe_break init
exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console
panic "Could not execute run-init."
Donc à ce stade, ${rootmnt} est ta carte.
Il te faut donc remplacer la ligne
exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console
par
modprobe unionfs
mkdir /ramdisk
mkdir /ramdisk/sys
mkdir /ramdisk/proc
mkdir /ROOT
umount ${rootmnt}/sys
umount ${rootmnt}/proc
umount /dev/pts
mv /dev /ramdisk
mount -t unionfs unionsfs /ROOT -o dirs=/ramdisk=rw:${rootmnt}=ro
chroot /ROOT mount /proc
chroot /ROOT mount /sys
cd /
exec run-init /ROOT ${init} "$@" < /ROOT/dev/console > /ROOT/dev/console 2>&1
Ça devrait marcher en rajoutant juste le module unionfs dans les modules.