GNU/Linux >> Linux Esercitazione >  >> Fedora

Linux – Deep Freeze come un software per Fedora?

Per uno dei miei laboratori, devo mantenere file system coerenti. Quindi, non voglio che le modifiche vengano scritte sul file system dopo l'arresto del sistema. Attualmente sto conservando un'immagine del sistema operativo e la sto copiando manualmente al termine della sessione di laboratorio.

Sto cercando di capire se esiste un'implementazione open source di Deep Freeze software per sistemi basati su Fedora. Sto cercando di mantenere un file system coerente in modo che tutte le modifiche apportate vadano perse al riavvio del sistema.

Da questo link, vedo che ci sono software simili a Deep freeze, tuttavia sono disponibili per sistemi basati su Debian. Mi sono anche imbattuto in partizioni LVM che non capivo molto.

Suggeriscimi del software che può essere utilizzato nei sistemi basati su Fedora o qualche altra soluzione migliore.

Risposta accettata:

È possibile impostare aufs sulla partizione di root e avere l'immagine originale di sola lettura e tutte le modifiche vengono archiviate nella RAM. In questo modo gli studenti possono apportare le modifiche che vogliono (anche come root), dopo un riavvio viene ripristinato uno stato di sistema pulito e ben definito.

Ho eseguito esattamente questa configurazione utilizzando Debian, ma lo stesso dovrebbe essere possibile senza troppe modifiche anche su Fedora. Poiché i client erano in esecuzione senza disco, ho usato l'avvio PXE. Ecco i passaggi di base, le istruzioni sono principalmente tratte dall'avvio di Debian Linux senza disco tramite dhcp/pxe/nfs/tftp/aufs e dall'installazione di Debian utilizzando l'avvio di rete.

Il server di avvio PXE ha l'indirizzo IP 192.168.1.10 e funge anche da server TFTP
e NFS. Usa aufs e il filesystem di root è montato in sola lettura. A causa
degli aufs che i clienti hanno accesso in scrittura. Tutte le modifiche risiedono in memoria e vengono
cancellate al riavvio.

Installa i pacchetti necessari

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

Configura il server DHCP per servire un'immagine di avvio 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

Questo configura DHCP per utilizzare il server TFTP sull'indirizzo 192.168.1.10 e carica l'immagine di avvio PXE pxelinux.0 .

Configura server TFTP

mkdir /srv/tftp

Configura il server NFS.

Il file system radice viene montato in sola lettura tramite NFS.

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

Popolare la directory NFS con un'installazione Debian

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

Installa gli strumenti kernel e initramfs:

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

Configura il suo initramfs per generare initrds di avvio NFS:

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

Carica il aufs modulo:

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

Configura 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

Rendi eseguibile il file:

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

Genera initrd:

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

Fai attenzione se il kernel dell'host e il chroot non corrispondono. Sostituisci $(uname -r) con il kernel corretto, se necessario.

Correlati:Linux – Dove viene archiviato un semaforo denominato?

Copia initrd generato, immagine del kernel e bootloader PXE nella radice TFTP e
crea una cartella per la configurazione 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

Il file pxelinux.0 è il programma di bootstrap di PXELINUX.

Configura caricatore di avvio:

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

Cambia la password di root

chroot /srv/nfsroot passwd root

Riavvia i servizi

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

Fedora
  1. Una distribuzione Linux per artisti digitali

  2. I 5 migliori software di backup dei dati per Linux

  3. I 5 migliori software di virtualizzazione open source per Linux

  4. I 5 migliori ambienti di sviluppo per Linux

  5. Linux – Deep Freeze come un software per Fedora?

Idrogeno:una drum machine software per Linux

I 5 migliori software di monitoraggio del tempo per Linux

Risolvere l'indirizzo Mac dall'indirizzo IP in Linux?

6 Distribuzioni Linux per uso didattico

I 10 migliori antivirus per Linux - Elenco dei software antivirus per Linux!

Software per prendere appunti come Notational Velocity per Linux