GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

Linux – Deep Freeze-ähnliche Software für Fedora?

Für eines meiner Labs muss ich konsistente Dateisysteme verwalten. Ich möchte also nicht, dass nach dem Herunterfahren des Systems Änderungen in das Dateisystem geschrieben werden. Derzeit verwalte ich ein Betriebssystem-Image und kopiere es manuell, nachdem die Lab-Sitzung beendet ist.

Ich versuche herauszufinden, ob es eine Open-Source-Implementierung von Deep Freeze gibt Software für Fedora-basierte Systeme. Ich versuche, ein konsistentes Dateisystem beizubehalten, sodass alle vorgenommenen Änderungen verloren gehen, wenn das System neu gestartet wird.

Aus diesem Link sehe ich, dass es ähnliche Software wie Deep Freeze gibt, sie sind jedoch für Debian-basierte Systeme verfügbar. Ich bin auch auf LVM-Partitionen gestoßen, von denen ich nicht viel verstand.

Schlagen Sie mir eine Software vor, die in Fedora-basierten Systemen verwendet werden kann, oder eine andere bessere Lösung.

Akzeptierte Antwort:

Sie könnten aufs auf der Root-Partition einrichten und das Original-Image nur lesen lassen und alle Änderungen im RAM speichern. Auf diese Weise können die Schüler beliebige Änderungen vornehmen (auch als Root), nach einem Neustart wird ein sauberer, wohldefinierter Systemzustand wiederhergestellt.

Ich habe genau dieses Setup mit Debian durchgeführt, aber das gleiche sollte ohne zu viele Änderungen auch auf Fedora möglich sein. Da die Clients ohne Festplatte liefen, habe ich PXE-Boot verwendet. Hier sind die grundlegenden Schritte, die Anweisungen stammen hauptsächlich aus dem plattenlosen Debian-Linux-Booten über dhcp/pxe/nfs/tftp/aufs und dem Installieren von Debian über das Netzwerkbooten.

Der PXE-Bootserver hat die IP-Adresse 192.168.1.10 und dient auch als TFTP
- und NFS-Server. Es verwendet aufs und das Root-Dateisystem wird schreibgeschützt gemountet. Aufgrund
des aufs haben die Clients schreibenden Zugriff. Alle Änderungen befinden sich im Arbeitsspeicher und werden
beim Neustart gelöscht.

Installieren Sie die erforderlichen Pakete

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

Konfigurieren Sie den DHCP-Server, um ein PXE-Boot-Image bereitzustellen

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

Dadurch wird DHCP so konfiguriert, dass der TFTP-Server an der Adresse 192.168.1.10 verwendet wird und laden Sie das PXE-Boot-Image pxelinux.0 .

TFTP-Server konfigurieren

mkdir /srv/tftp

NFS-Server konfigurieren.

Das Root-Dateisystem wird nur lesend über NFS gemountet.

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

Füllen Sie das NFS-Verzeichnis mit einer Debian-Installation

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

Kernel- und initramfs-Tools installieren:

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

Konfigurieren Sie seine initramfs, um NFS-bootende initrds zu generieren:

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

Laden Sie den aufs Modul:

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

aufs konfigurieren :

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

Machen Sie die Datei ausführbar:

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

Initrd generieren:

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

Achten Sie darauf, ob der Kernel des Hosts und die Chroot nicht übereinstimmen. Ersetzen Sie $(uname -r) ggf. mit dem richtigen Kernel.

Verwandte:Linux – Wo wird ein benanntes Semaphor gespeichert?

Kopieren Sie die generierte initrd, das Kernel-Image und den PXE-Bootloader in das TFTP-Stammverzeichnis und
erstellen Sie einen Ordner für die PXE-Konfiguration:

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

Die Datei pxelinux.0 ist das Bootstrap-Programm von PXELINUX.

Bootloader konfigurieren:

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

Root-Passwort ändern

chroot /srv/nfsroot passwd root

Dienste neu starten

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

Fedora
  1. Eine Linux-Distribution für digitale Künstler

  2. Top 5 Datensicherungssoftware für Linux

  3. Top 5 Open-Source-Virtualisierungssoftware für Linux

  4. Top 5 Sprachen für die Automatisierung in Linux

  5. Top 5 Entwicklungsumgebungen für Linux

Hydrogen:Eine Software-Drum-Machine für Linux

Top 5 Zeiterfassungssoftware für Linux

Auflösen der Mac-Adresse von der IP-Adresse in Linux?

6 Linux-Distributionen für Bildungszwecke

Top 10 der besten Antivirenprogramme für Linux – Liste der Linux-Antivirensoftware!

Notizsoftware wie Notational Velocity für Linux