GNU/Linux >> Tutoriales Linux >  >> Fedora

Linux – ¿Software similar a Deep Freeze para Fedora?

Para uno de mis laboratorios, necesito mantener sistemas de archivos consistentes. Por lo tanto, no quiero que se escriba ningún cambio en el sistema de archivos después de que se apague el sistema. Actualmente, mantengo una imagen del sistema operativo y la copio manualmente después de que finaliza la sesión de laboratorio.

Estoy tratando de averiguar si hay alguna implementación de código abierto de Deep Freeze software para sistemas basados ​​en Fedora. Estoy tratando de mantener un sistema de archivos coherente para que los cambios realizados se pierdan cuando se reinicie el sistema.

Desde este enlace, veo que hay software similar a Deep freeze, sin embargo, están disponibles para sistemas basados ​​en Debian. También encontré particiones LVM que no entendí mucho.

Sugiérame algún software que pueda usarse en sistemas basados ​​en Fedora o alguna otra solución mejor.

Respuesta aceptada:

Puede configurar aufs en la partición raíz y hacer que la imagen original sea de solo lectura y todos los cambios se almacenen en la RAM. De esa manera, los estudiantes pueden hacer los cambios que deseen (incluso como root), después de reiniciar, se restaura un estado limpio y bien definido del sistema.

Hice exactamente esta configuración usando Debian, pero lo mismo debería ser posible sin demasiadas modificaciones en Fedora también. Dado que los clientes se ejecutaban sin disco, utilicé el arranque PXE. Estos son los pasos básicos, las instrucciones se toman principalmente del arranque de Debian Linux sin disco a través de dhcp/pxe/nfs/tftp/aufs y la instalación de Debian usando el arranque de red.

El servidor de arranque PXE tiene la dirección IP 192.168.1.10 y también sirve como servidor TFTP
y NFS. Utiliza aufs y el sistema de archivos raíz está montado en modo de solo lectura. Debido
a las aufs, los clientes tienen acceso de escritura. Todos los cambios residen en la memoria y
se borran al reiniciar.

Instalar los paquetes necesarios

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

Configurar el servidor DHCP para servir una imagen de arranque 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

Esto configura DHCP para usar el servidor TFTP en la dirección 192.168.1.10 y cargue la imagen de arranque PXE pxelinux.0 .

Configurar servidor TFTP

mkdir /srv/tftp

Configurar servidor NFS.

El sistema de archivos raíz se monta en modo de solo lectura a través de NFS.

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

Rellene el directorio NFS con una instalación de Debian

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

Instale las herramientas kernel e initramfs:

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

Configure su initramfs para generar initrds de arranque NFS:

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

Cargue el aufs módulo:

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

Configurar 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

Hacer el archivo ejecutable:

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

Generar initrd:

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

Tenga cuidado si el kernel del host y el chroot no coinciden. Reemplazar $(uname -r) con el núcleo correcto si es necesario.

Relacionado:Linux:¿dónde se almacena un semáforo con nombre?

Copie el initrd generado, la imagen del kernel y el cargador de arranque PXE a la raíz TFTP y
cree una carpeta para la configuración 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

El archivo pxelinux.0 es el programa de arranque PXELINUX.

Configurar cargador de arranque:

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

Cambiar contraseña raíz

chroot /srv/nfsroot passwd root

Reiniciar servicios

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

Fedora
  1. Una distribución de Linux para artistas digitales

  2. Los 5 mejores software de virtualización de código abierto para Linux

  3. Los 5 principales lenguajes para la automatización en Linux

  4. Los 5 mejores entornos de desarrollo para Linux

  5. Linux – ¿Software similar a Deep Freeze para Fedora?

Hydrogen:una caja de ritmos de software para Linux

Los 5 mejores programas de seguimiento del tiempo para Linux

¿Resolver la dirección Mac desde la dirección IP en Linux?

6 distribuciones de Linux para uso educativo

Los 10 mejores antivirus para Linux:¡Lista de software antivirus de Linux!

Software para tomar notas como Notational Velocity para Linux