GNU/Linux >> Tutoriels Linux >  >> Fedora

Linux – Deep Freeze comme logiciel pour Fedora ?

Pour l'un de mes laboratoires, j'ai besoin de maintenir des systèmes de fichiers cohérents. Donc, je ne veux pas que des modifications soient écrites dans le système de fichiers après l'arrêt du système. Actuellement, je maintiens une image du système d'exploitation et je la copie manuellement une fois la session de laboratoire terminée.

J'essaie de comprendre s'il existe une implémentation open source de Deep Freeze logiciel pour les systèmes basés sur Fedora. J'essaie de maintenir un système de fichiers cohérent afin que toutes les modifications apportées soient perdues lors du redémarrage du système.

À partir de ce lien, je vois qu'il existe des logiciels similaires à Deep freeze, cependant, ils sont disponibles pour les systèmes basés sur Debian. Je suis également tombé sur des partitions LVM auxquelles je ne comprenais pas grand-chose.

Suggérez-moi un logiciel pouvant être utilisé dans les systèmes basés sur Fedora ou une autre meilleure solution.

Réponse acceptée :

Vous pouvez configurer aufs sur la partition racine et avoir l'image d'origine en lecture seule et toutes les modifications sont stockées dans la RAM. De cette façon, les étudiants peuvent apporter les modifications qu'ils souhaitent (même en tant que root), après un redémarrage, un état système propre et bien défini est restauré.

J'ai fait exactement cette configuration en utilisant Debian, mais la même chose devrait également être possible sans trop de modifications sur Fedora. Comme les clients fonctionnaient sans disque, j'ai utilisé le démarrage PXE. Voici les étapes de base, les instructions sont principalement tirées du démarrage sans disque de Debian Linux via dhcp/pxe/nfs/tftp/aufs et de l'installation de Debian à l'aide du démarrage réseau.

Le serveur de démarrage PXE a l'adresse IP 192.168.1.10 et il sert également de serveur TFTP
et NFS. Il utilise aufs et le système de fichiers racine est monté en lecture seule. En raison
de l'aufs, les clients ont un accès en écriture. Toutes les modifications résident en mémoire et sont
effacées au redémarrage.

Installer les packages nécessaires

apt-get install isc-dhcp-server tftp-hpa nfs-kernel-server debootstrap syslinux

Configurer le serveur DHCP pour servir une image de démarrage PXE

cat >/etc/dhcp/dhcpd.conf <<EOF
next-server 192.168.1.10;  # address of the TFTP server
allow bootp;
allow booting;

subnet 192.168.1.0 netmask 255.255.255.0 {
  # clients get a dynamic IP address
  range dynamic-bootp 192.168.1.20 192.168.1.254;
  filename "pxelinux.0";
  option domain-name-servers 192.168.0.10;
  option broadcast-address 192.168.1.255;
  option routers 192.168.0.10;
}
EOF

Ceci configure DHCP pour utiliser le serveur TFTP sur l'adresse 192.168.1.10 et chargez l'image de démarrage PXE pxelinux.0 .

Configurer le serveur TFTP

mkdir /srv/tftp

Configurer le serveur NFS.

Le système de fichiers racine est monté en lecture seule via NFS.

mkdir /srv/nfsroot
cat >/etc/exports <<EOF
/srv/nfsroot 192.168.1.10/24(ro,no_root_squash,no_subtree_check)
EOF

Remplir le répertoire NFS avec une installation Debian

debootstrap stable /srv/nfsroot <mirror>
# e.g.
debootstrap stable /srv/nfsroot 
  http://ftp.sunet.se/pub/Linux/distributions/debian/

Installez le noyau et les outils initramfs :

chroot /srv/nfsroot apt-get update
chroot /srv/nfsroot apt-get install initramfs-tools linux-image-amd64

Configurez son initramfs pour générer des initrds de démarrage NFS :

sed 's/BOOT=local/BOOT=nfs/' 
  -i /srv/nfsroot/etc/initramfs-tools/initramfs.conf

Charger le aufs modules :

echo aufs >> /srv/nfsroot/etc/initramfs-tools/modules

Configurer aufs :

cat >/srv/nfsroot/etc/initramfs-tools/scripts/init-bottom/aufs <<EOF
modprobe aufs
mkdir /ro /rw /aufs
mount -t tmpfs tmpfs /rw -o noatime,mode=0755
mount --move $rootmnt /ro
mount -t aufs aufs /aufs -o noatime,dirs=/rw:/ro=ro
mkdir -p /aufs/rw /aufs/ro
mount --move /ro /aufs/ro
mount --move /rw /aufs/rw
mount --move /aufs /root
exit 0
EOF

Rendre le fichier exécutable :

chmod +x /srv/nfsroot/etc/initramfs-tools/scripts/init-bottom/aufs

Générer initrd :

chroot /srv/nfsroot update-initramfs -k $(uname -r) -u

Faites attention si le noyau de l'hôte et le chroot ne correspondent pas. Remplacez $(uname -r) avec le bon noyau si nécessaire.

En relation:Linux - Où est stocké un sémaphore nommé ??

Copiez l'initrd généré, l'image du noyau et le chargeur de démarrage PXE à la racine TFTP et
créez un dossier pour la configuration PXE :

cp /srv/nfsroot/boot/initrd.img-* /srv/tftp/
cp /srv/nfsroot/boot/vmlinuz-*    /srv/tftp/
cp /usr/lib/syslinux/pxelinux.0   /srv/tftp/
mkdir /srv/tftp/pxelinux.cfg

Le fichier pxelinux.0 est le programme d'amorçage PXELINUX.

Configurer le chargeur de démarrage :

cat >/srv/tftp/pxelinux.cfg/default <<EOF
default Debian
prompt 1
timeout 10
label Debian
kernel vmlinuz-2.6.32-5-amd64  # <- use correct version!
append ro initrd=initrd.img-2.6.32-5-amd64 root=/dev/nfs ip=dhcp 
nfsroot=192.168.1.10:/srv/nfsroot
EOF

Modifier le mot de passe racine

chroot /srv/nfsroot passwd root

Redémarrer les services

invoke-rc.d isc-dhcp-server restart
invoke-rc.d tftpd-hpa restart
exportfs -ra

Fedora
  1. Top 5 des logiciels de virtualisation Open Source pour Linux

  2. Top 5 des langages d'automatisation sous Linux

  3. Top 5 des environnements de développement pour Linux

  4. Top 6 des logiciels de CAO gratuits pour Linux

  5. FreeCAD - Un logiciel de modélisation et de conception 3D pour Linux

Hydrogen :une boîte à rythmes logicielle pour Linux

Top 5 des logiciels de suivi du temps pour Linux

Résoudre l'adresse Mac à partir de l'adresse IP sous Linux ?

6 distributions Linux à usage éducatif

Top 10 des meilleurs antivirus pour Linux – Liste des logiciels antivirus Linux !

Logiciel de prise de notes comme Notational Velocity pour Linux