Opsi Paket mit Reboot unter Linux

Antworten
datenteiler
Beiträge: 3
Registriert: 19 Feb 2023, 18:54

Opsi Paket mit Reboot unter Linux

Beitrag von datenteiler »

Hallo,

ich möchte in einem Opsi Skript für Linux etwa folgende Abfolge einbauen:

Schritt 1: In overlayroot chroot gehen und Conf umbenennen

overlayroot-chroot /bin/bash -c "mv /etc/overlayroot.conf /etc/overlayroot.conf.bak"


Schritt 2: System neu starten ohne OverlayFS

Schritt 3: Update wird nach dem Neustart des Rechners von Opsi Skript ausgeführt:

apt update && apt dist-upgrade -y

Schritt 4: Conf Datei wieder herstellen

mv /etc/overlayroot.conf.bak /etc/overlayroot.conf

Schritt 5: System neu starten, damit OverlayFS wieder aktiv wird

Wie kann ich den Neustart in das Opsi-Skript so einbauen, dass das Skript nicht beendet wird, sondern auch nach dem Neustart noch auf Setup ist und die Updates macht und danach das OverlayFS wiederherstellt?

Bzw. ein anderer Ansatz wäre, das Opsi-Skript schaut, ob das OverlayFS an oder aus ist und deaktiviert es, wenn es an ist, macht einen Neustart, stellt fest, dass OverlayFS disabled ist, macht die Updates, stellt die Config wieder her und macht einen finalen Neustart und prüft, ob OverlayFS enabled ist:

check_overlayfs_status() {
if mount | grep -q "overlay on / type overlay"; then
echo "enabled"
else
echo "disabled"
fi
}

Was ist best practice den Neustart in Opsi zu skripten?

Viele Grüße
datenteiler
Beiträge: 3
Registriert: 19 Feb 2023, 18:54

Re: Opsi Paket mit Reboot unter Linux

Beitrag von datenteiler »

Okay, habe es so gelöst:

Code: Alles auswählen


if not (FileExists("/opt/reboot_phase1.marker"))
    comment "Do things for next reboot"
    ShellScript_disable
    ShellScript_reboot
elseif not (FileExists("/opt/reboot_phase2.marker"))
    comment "Do things after first reboot"
    ShellScript_update
    ShellScript_reboot
else
    comment "Finalizing after second reboot"
    Files_uninstall
endif

[ShellScript_disable]
set -x
exec > /opt/update.log 2>&1
# ... #
touch /opt/reboot_phase1.marker
exit $?

[ShellScript_update]
set -x
exec >> /opt/update.log 2>&1
# ... #
touch /opt/reboot_phase2.marker
exit $?

[ShellScript_reboot]
exec >> /opt/update.log 2>&1
echo "Rebooting system now"
reboot -f

[Files_uninstall]
del -sf "/opt/reboot_phase1.marker"
del -sf "/opt/reboot_phase2.marker"

Benutzeravatar
n.doerrer
uib-Team
Beiträge: 486
Registriert: 23 Okt 2020, 16:11

Re: Opsi Paket mit Reboot unter Linux

Beitrag von n.doerrer »

Moin

über opsi-script geht das (wenn ich das Ziel richtig verstanden habe) über

ExitWindows /Immediatereboot

siehe https://docs.opsi.org/opsi-docs-de/4.3/ ... nds-reboot


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


datenteiler
Beiträge: 3
Registriert: 19 Feb 2023, 18:54

Re: Opsi Paket mit Reboot unter Linux

Beitrag von datenteiler »

Hi,

ich hatte erst auch

Code: Alles auswählen

ExitWindows /Immediatereboot
genommen, aber da es Kiosk-Systeme sind, bei denen immer ein Benutzer (Kiosk-User) angemeldet ist, hätte das Update 60 Min gewartetet mit dem Start und in der Meldung die Zeit runtergezählt. Das Update soll aber sofort starten, deswegen dann diese Lösung.

Viele Grüße
Antworten