Sitzungsverwaltung in MiniOS 🔄
🤔 Was sind Sitzungen?
MiniOS-Sitzungen bieten persistenten Speicher für Ihre Änderungen und ermöglichen Ihnen:
- Änderungen speichern, die während einer Live-Sitzung vorgenommen wurden
- Arbeiten fortsetzen an der Stelle, an der Sie nach dem Neustart aufgehört haben
- Mehrere separate Arbeitsumgebungen verwalten
- Zwischen verschiedenen Konfigurationen wechseln
Sitzungen nutzen die Union-Filesystem-Technologie (AUFS oder OverlayFS), um Änderungen über das schreibgeschützte Basissystem zu legen.
📋 Sitzungstypen und -modi
Sitzungsaktionen
resume– Fortfahren mit der zuletzt verwendeten Sitzung (Standard)new– Neue Sitzung erstellenask– Interaktive Sitzungswahl beim Bootenfresh– Keine Persistenz (temporäre Sitzung)
Speichermodi
native– Direktes Dateisystem-Storage (benötigt POSIX-Dateisystem: ext4, btrfs, xfs)dynfilefs– Erweiterbare Containerdateien (funktioniert auf jedem Dateisystem, empfohlen für FAT32/NTFS/exFAT)raw– Feste Image-Dateien (funktioniert auf jedem Dateisystem)
🚀 Boot-Parameter zur Sitzungssteuerung
Kernparameter für Sitzungen
| Parameter | Werte | Beschreibung |
|---|---|---|
perch | - | Persistente Änderungen aktivieren |
perchdir | resume | new | ask | /path | Sitzungsaktion oder Verzeichnis |
perchmode | native | dynfilefs | raw | Speichermodus |
perchsize | <size_in_MB> | Initiale Größe für Container-/Imagemodi |
Sitzungsverzeichnisstruktur
/minios/changes/
├── session.conf # Session configuration (default format)
├── session.json # JSON metadata (when jq is available)
├── 1/ # Session #1 directory
├── 2/ # Session #2 directory
└── N/ # Session #N directory🎛️ Bootloader-Integration
GRUB-Konfiguration
MiniOS stellt vorkonfigurierte GRUB-Menüeinträge für verschiedene Sitzungsmodi bereit:
# Resume previous session
linux /minios/boot/vmlinuz... perchdir=resume
# Start new session
linux /minios/boot/vmlinuz... perchdir=new
# Interactive session selection
linux /minios/boot/vmlinuz... perchdir=ask
# Fresh start (no persistence)
linux /minios/boot/vmlinuz...SYSLINUX-Konfiguration
Entsprechende SYSLINUX-Einträge:
LABEL default
MENU LABEL Run MiniOS (Resume previous session)
APPEND ... perchdir=resume
LABEL perch
MENU LABEL Run MiniOS (Start a new session)
APPEND ... perchdir=new
LABEL asksession
MENU LABEL Run MiniOS (Choose session during startup)
APPEND ... perchdir=ask
LABEL live
MENU LABEL Run MiniOS (Fresh start)
APPEND ...🔧 Sitzungsmanagement-Befehle
Verwendung des MiniOS Session Managers (GUI)
# Launch graphical session manager
minios-session-managerFunktionen:
- Anzeige aller verfügbaren Sitzungen mit Metadaten
- Neue Sitzungen mit verschiedenen Modi erstellen
- Sitzungen aktivieren/wechseln
- Alte Sitzungen löschen
- Sitzungen bereinigen, die älter als eine angegebene Anzahl von Tagen sind
Verwendung von minios-session (CLI)
⚠️ Administratorrechte erforderlich:
Das CLI-Tool benötigt Root-Rechte und prüft diese automatisch. Führen Sie Befehle mit sudo oder über pkexec aus:
sudo minios-session list
# or
pkexec minios-session activate 3Grundlegende Befehle:
# List all sessions
sudo minios-session list
# Show currently active session (will boot next)
sudo minios-session active
# Show currently running session (current boot)
sudo minios-session running
# Check filesystem compatibility and session directory status
sudo minios-session info
sudo minios-session status
# Create new sessions (using positional arguments)
sudo minios-session create native
sudo minios-session create dynfilefs 2000
sudo minios-session create raw 2000
# Activate specific session
sudo minios-session activate 3
# Delete session
sudo minios-session delete 2
# Resize session (dynfilefs/raw modes only)
sudo minios-session resize 1 8000
# Export session to archive
sudo minios-session export 1 /path/to/backup.tar.zst
# Import session from archive
sudo minios-session import /path/to/backup.tar.zst
sudo minios-session import /path/to/backup.tar.zst dynfilefs # with mode conversion
# Copy session with optional mode conversion
sudo minios-session copy 1 2 # copy keeping same mode
sudo minios-session copy 1 3 raw # copy and convert to raw mode
sudo minios-session copy 1 4 native 3000 # copy, convert to native, set size
# Cleanup old sessions (older than 30 days)
sudo minios-session cleanup --days 30Erweiterte Optionen:
# JSON output for automation (available for all commands)
sudo minios-session --json list
sudo minios-session --json info
sudo minios-session --json active
sudo minios-session --json running
sudo minios-session --json status
sudo minios-session --json create native
sudo minios-session --json activate 2
sudo minios-session --json delete 3
sudo minios-session --json cleanup --days 30
sudo minios-session --json resize 1 8000
sudo minios-session --json export 1 backup.tar.zst
sudo minios-session --json import backup.tar.zst
sudo minios-session --json copy 1 2 native
# Custom sessions directory
sudo minios-session --sessions-dir /custom/path list
sudo minios-session --sessions-dir /mnt/usb/sessions create nativeWichtige Befehlsunterschiede:
active– Zeigt die Sitzung, die beim nächsten Start verwendet wirdrunning– Zeigt die aktuell genutzte Sitzung (falls vorhanden)resize– Sitzungsgröße ändern (nur für dynfilefs/raw-Modi)export– Sitzung als .tar.zst-Archiv für Backup exportierenimport– Sitzung aus Archiv mit optionaler Modus-Konvertierung importierencopy– Sitzung mit optionaler Modus-Konvertierung kopiereninfo– Dateisystemkompatibilität prüfen und Empfehlungen anzeigen
📦 Sitzungs-Backup und Migration
Sitzungen exportieren
Sitzungen als komprimierte Archive für Backup oder Transfer exportieren:
# Export session to archive
sudo minios-session export 1 /backup/session1.tar.zst
# Export with JSON output
sudo minios-session --json export 2 /backup/session2.tar.zstFunktionen:
- Erstellt ein komprimiertes .tar.zst-Archiv
- Erhält alle Sitzungsdaten und Metadaten
- Kann auf jedem MiniOS-System importiert werden
- Automatische Komprimierung für platzsparende Speicherung
Sitzungen importieren
Sitzungen aus Archiven mit optionaler Modus-Konvertierung importieren:
# Import session keeping original mode
sudo minios-session import /backup/session1.tar.zst
# Import and convert to different mode
sudo minios-session import /backup/session1.tar.zst dynfilefs
sudo minios-session import /backup/session2.tar.zst raw
sudo minios-session import /backup/session3.tar.zst native
# Import with JSON output
sudo minios-session --json import /backup/session.tar.zstFunktionen:
- Stellt Sitzungsdaten aus Archiv wieder her
- Konvertiert bei Bedarf automatisch zwischen Speichermodi
- Überspringt vorhandene Dateien, um Datenverlust zu vermeiden
- Erstellt automatisch eine neue Sitzungsnummer
Sitzungen kopieren und konvertieren
Sitzungen zwischen verschiedenen Speichermodi kopieren:
# Copy session keeping same mode
sudo minios-session copy 1 2
# Copy and convert to different mode
sudo minios-session copy 1 3 raw # convert to raw mode
sudo minios-session copy 1 4 dynfilefs # convert to dynfilefs
sudo minios-session copy 1 5 native # convert to native
# Copy with custom size (for raw/dynfilefs)
sudo minios-session copy 1 6 raw 4000 # 4GB raw image
sudo minios-session copy 2 7 dynfilefs 2000 # 2GB dynfilefsUnterstützte Konvertierungen:
- native ⇄ dynfilefs ⇄ raw
- Alle Moduskombinationen werden unterstützt
- Automatische Größenanpassung
- Sitzungsdaten bleiben beim Konvertieren erhalten
Anwendungsfälle:
- Migration von FAT32 auf ext4-Dateisystem (dynfilefs → native)
- Portable Sitzungen erstellen (native → dynfilefs/raw)
- Optimierung für verschiedene Dateisysteme
- Sitzungs-Backups mit unterschiedlichen Modi erstellen
🏗️ Sitzungs-Speichermodi im Detail
Native-Modus
Optimal für: Systeme auf POSIX-Dateisystemen (ext4, btrfs, xfs)
# Enable native mode
perchmode=nativeMerkmale:
- Direkter Zugriff auf das Dateisystem ohne Container
- Volle POSIX-Kompatibilität (Hardlinks, Berechtigungen, erweiterte Attribute)
- Beste Performance aller Modi
- Voraussetzungen: POSIX-kompatibles Dateisystem (ext4, btrfs, xfs)
- Nicht kompatibel: FAT32, NTFS, exFAT
DynFileFS-Modus
Optimal für: Nicht-POSIX-Dateisysteme (FAT32, NTFS, exFAT)
# Enable dynfilefs mode with initial size
perchmode=dynfilefs perchsize=2000Merkmale:
- Erweiterbarer Container mit ext4-Dateisystem im Inneren
- Wächst bei Bedarf automatisch bis zum verfügbaren Speicherplatz
- Funktioniert auf jedem Dateisystemtyp
- Geringer Performance-Overhead im Vergleich zu native
- Standardgröße: 1000MB, wächst dynamisch
- Empfohlen für: FAT32, NTFS, exFAT-Dateisysteme
Raw-Modus
Optimal für: Feste Größenanforderungen auf jedem Dateisystem
# Enable raw mode with fixed size
perchmode=raw perchsize=2000Merkmale:
- Image mit fester Größe und ext4-Dateisystem im Inneren
- Vorhersehbarer und konstanter Speicherplatzverbrauch
- Funktioniert auf jedem Dateisystemtyp
- Größe muss bei der Erstellung angegeben werden
- Standardgröße: 1000MB, falls nicht angegeben
- Anwendungsfälle: Portable Sitzungen, Speicherquoten, planbare Speicherzuteilung
🗂️ Sitzungs-Metadaten und Kompatibilität
Sitzungs-Metadatenformate
Standardformat (session.conf):
default=2
session_mode[1]=native
session_version[1]=5.0.0
session_edition[1]=standard
session_union[1]=overlayfs
session_mode[2]=dynfilefs
session_version[2]=5.0.0
session_edition[2]=standard
session_union[2]=overlayfsJSON-Format (wenn jq verfügbar ist):
{
"default": "2",
"sessions": {
"1": {
"mode": "native",
"version": "5.0.0",
"edition": "standard",
"union": "overlayfs"
},
"2": {
"mode": "dynfilefs",
"version": "5.0.0",
"edition": "standard",
"union": "overlayfs"
}
}
}Hinweis: MiniOS erkennt automatisch, ob
jqverfügbar ist und verwendet das JSON-Format, wenn möglich. Andernfalls wird auf das traditionelle conf-Format zurückgegriffen.
Kompatibilitätsprüfung
MiniOS prüft die Sitzungs-Kompatibilität automatisch:
- Versionsunterschied – Erstellt eine neue Sitzung, wenn sich die MiniOS-Version unterscheidet
- Editionsunterschied – Erstellt eine neue Sitzung, wenn sich die Edition unterscheidet (standard/toolbox/ultra)
- Union-FS-Unterschied – Erstellt eine neue Sitzung, wenn sich das Union-Filesystem unterscheidet (aufs/overlayfs)
- Moduswechsel – Erstellt eine neue Sitzung, wenn sich der Speichermodus ändert
Warnsystem
Bei Auswahl inkompatibler Sitzungen zeigt MiniOS Warnungen an:
- Warnungen bei Versionsinkompatibilität
- Hinweise bei Editionsunterschieden
- Kompatibilitätsprobleme mit dem Union-Filesystem
- Möglichkeit, auf eigenes Risiko fortzufahren
🎯 Erweiterte Sitzungs-Konfiguration
Benutzerdefinierte Sitzungsorte
# Specify custom session directory
perchdir=/dev/sda2/my-sessions
# Use labeled partition
perchdir=label:MYSESSIONS/work
# Interactive disk selection
perchdir=askdiskSitzungsgrößenverwaltung
# Auto-size for dynfilefs (uses 90% of available space)
perchmode=dynfilefs perchsize=0
# Fixed size for any mode
perchsize=8000 # 8GB
# Size limits per filesystem:
# - FAT32: Maximum 4095MB (4GB limit)
# - Others: Limited by available spaceAutomatisches Sitzungsmanagement
# Resume last session (default behavior)
perchdir=resume
# Force new session creation
perchdir=new
# Interactive session management
perchdir=ask🛠️ Fehlerbehebung bei Sitzungen
Häufige Probleme
Sitzung nicht gefunden
# Check session directory
ls -la /minios/changes/
# Verify session metadata
cat /minios/changes/session.conf
# or if JSON format is used:
cat /minios/changes/session.jsonBerechtigungsprobleme
# Check directory permissions
ls -ld /minios/changes/
# Verify filesystem mount options
mount | grep changesFehler im Speichermodus
# Native mode falls back to dynfilefs automatically
# Check system logs for details
sudo minios-session status
sudo minios-session info # Show filesystem compatibilitySitzungswiederherstellung
# List all sessions and their status
sudo minios-session list
# Check session integrity and filesystem info
sudo minios-session status
sudo minios-session info
# Show active vs running session status
sudo minios-session active
sudo minios-session running
# Create new session if corrupted
sudo minios-session create nativeSitzungen bereinigen
# Remove sessions older than 30 days
sudo minios-session cleanup --days 30
# Delete specific session (safe method)
sudo minios-session delete 3
# Manual session removal (advanced users only)
sudo rm -rf /minios/changes/session_number/📊 Best Practices für Sitzungen
Speichermodus auswählen
- Native-Modus: Verwenden, wenn MiniOS auf einem POSIX-Dateisystem (ext4, btrfs, xfs) liegt – beste Performance
- DynFileFS-Modus: Für FAT32, NTFS, exFAT-Dateisysteme – automatisches Platzmanagement
- Raw-Modus: Nutzen, wenn eine feste Größe auf jedem Dateisystem benötigt wird – vorhersehbarer Speicherverbrauch
Größenplanung
- Kleine Sitzungen: 1–2 GB für grundlegende Konfigurationsänderungen
- Entwicklung: 4–8 GB für Entwicklungsumgebungen
- Hohe Last: 8 GB+ für umfangreiche Softwareinstallationen
Sitzungsverwaltung
- Alte Sitzungen regelmäßig bereinigen
- Aussagekräftige Sitzungsnamen bei manueller Verwaltung verwenden
- Speicherplatz überwachen
- Mindestens eine bekannte, funktionierende Sitzung zur Wiederherstellung aufbewahren
Performance-Optimierung
- Nach Möglichkeit Native-Modus für beste Performance nutzen
- Sitzungsdaten auf schnellen Speichermedien ablegen
- SSD-Speicher für häufig genutzte Sitzungen in Betracht ziehen