Machen Sie Ubuntu 16.04 „live“ (schreibgeschützt mit Lese-/Schreibebene)

Machen Sie Ubuntu 16.04 „live“ (schreibgeschützt mit Lese-/Schreibebene)

Ich möchte Ubuntu 16.04 wie eine Live-CD einrichten. Das hat bei Ubuntu 12.04 prima funktioniert, aber bei 16.04 gibt es Probleme. Dienste stürzen ab, CRON funktioniert nicht, X funktioniert nicht, ich kann mich nicht einmal bei der Shell anmelden. Ich denke also, dass 16.04 einige Änderungen benötigt. Wenn ich das Root-Laufwerk als Lese-/Schreibzugriff mounte, funktioniert alles wie es soll. Das Betriebssystem selbst ist also in Ordnung.

Um Ubuntu im schreibgeschützten Modus booten zu lassen, ersetze ich den Kernelparameter „rw“ durch „ro“ und verwende ein Skript in initramfs:

/etc/initramfs-tools/scripts/init-bottom/ro_root

#!/bin/sh

PREREQ=''

prereqs() {
  echo "$PREREQ"
}

case $1 in
prereqs)
  prereqs
  exit 0
  ;;
esac

ro_mount_point="${rootmnt%/}.ro"
rw_mount_point="${rootmnt%/}.rw"

# Create mount points for the read-only and read/write layers:
mkdir "${ro_mount_point}" "${rw_mount_point}"

# Move the already-mounted root filesystem to the ro mount point:
mount --move "${rootmnt}" "${ro_mount_point}"

# Mount the read/write filesystem:
mount -t tmpfs root.rw "${rw_mount_point}"

# Mount the union:
mount -t aufs -o "dirs=${rw_mount_point}=rw:${ro_mount_point}=ro" root.union "${rootmnt}"

# Correct the permissions of /:
chmod 755 "${rootmnt}"

# Make sure the individual ro and rw mounts are accessible from within the root
# once the union is assumed as /.  This makes it possible to access the
# component filesystems individually.
mkdir "${rootmnt}/ro" "${rootmnt}/rw"
mount --bind "${ro_mount_point}" "${rootmnt}/ro"
mount --bind "${rw_mount_point}" "${rootmnt}/rw"

# ro_root end

Wie richte ich Ubuntu 16.04 mit Ro-Root-Laufwerk und RW-FS-Layer richtig ein?

Antwort1

Verwenden Sie das Standard-Ubuntu-Paket „overlayroot“. In Ubuntu 16.04 wird dieses Paket automatisch installiert. Sie müssen es lediglich aktivieren, indem Sie /etc/overlayroot.conf bearbeiten und die folgende Einstellung hinzufügen:

overlayroot="tmpfs"

Starten Sie das Ubuntu 16.04-System neu und Sie sind fertig. Möglicherweise möchten Sie Ihrer Grub-Konfiguration einen Kernel-Boot-Eintrag hinzufügen, um das schreibgeschützte Root-Dateisystem für Patches usw. vorübergehend zu deaktivieren. Dazu fügen Sie einen Grub-Eintrag hinzu, der ein Kernel-Argument wie folgt übergibt:

overlayroot=disabled

Weitere Informationen finden Sie unter:https://spin.atomicobject.com/2015/03/10/protecting-ubuntu-root-filesystem/

verwandte Informationen