Erweitert
Dieses Kapitel sammelt die Power-User-Oberflächen — die, zu denen Sie gelegentlich greifen, nicht jeden Tag. Es behandelt das Zurückdrehen des Home-Ordners einer Maschine auf einen früheren Boot mit Home zurückdrehen…, den integrierten ext4-Dateibrowser, der die Disk-Images einer Maschine direkt auf Ihrem Mac öffnet, ohne die VM zu starten, die native Dateisystemprüfung und einige Low-Level-Konfigurationsvorgaben.
Eine Maschine (im Einstellungseditor ein Arbeitsbereich) speichert ihre Daten in zwei Linux-ext4-Disk-Images: der Systemdisk und dem Home-Image. Alles hier setzt voraus, dass Sie mit dem Speichermodell vertraut sind, das unter Maschinen und Ressourcen-Einstellungen beschrieben ist.
Den Home-Ordner einer Maschine zurückdrehen
Bei jedem erfolgreichen Start einer Maschine legt Bromure einen Copy-on-Write-Checkpoint ihres Home-Images an — des /home/ubuntu, das Ihre Projekt-Checkouts, Dotfiles, .ssh, den Shell-Verlauf und den Agentenzustand enthält. Checkpoints werden gestaffelt aufbewahrt: die letzten paar Boots, dann einer pro Tag für eine Woche, dann einer pro Woche für einen Monat. Echten Speicherplatz belegen sie erst, wenn sich das aktuelle Home von ihnen entfernt.
Home zurückdrehen… ist der alltägliche Weg, sie zu nutzen:
- Öffnen Sie in der Seitenleiste Virtuelle Maschinen und klicken Sie in der Zeile der Maschine auf die Schaltfläche ⋯.
- Wählen Sie Home zurückdrehen…. Ein Sheet mit dem Titel Home von „‹Maschine›“ zurückdrehen öffnet sich: „Jeder Punkt ist der Home-Ordner, wie er zu Beginn dieses Boots war. Der nächste Start bootet von dem Punkt, den Sie wählen; das aktuelle Home wird als neuer Punkt aufbewahrt, sodass sich das hier rückgängig machen lässt.“
- Wählen Sie einen Punkt in der Liste. Jede Zeile zeigt Datum und Uhrzeit, wie lange das her ist, und die Größe des Checkpoints auf der Festplatte.
- Klicken Sie auf Zurückdrehen.
Danach zeigt das Sheet „Fertig — der nächste Start von „‹Maschine›“ bootet von ihrem Home vom ‹Datum›.“ Sonst ändert sich nichts: Die Systemdisk, die Einstellungen der Maschine und ihre Zugangsdaten bleiben, wie sie sind.
Gut zu wissen:
- Die Maschine muss ausgeschaltet sein. Das Home-Image wird als Ganzes ausgetauscht und darf daher nicht in Gebrauch sein. Solange die Maschine läuft, zeigt das Sheet „Die Maschine läuft — ihr Home kann nicht ausgetauscht werden, solange es in Gebrauch ist. Fahren Sie sie zuerst herunter.“ und bietet eine Schaltfläche Herunterfahren an; Zurückdrehen bleibt deaktiviert, bis die Maschine aus ist.
- Ein Zurückdrehen lässt sich rückgängig machen. Vor dem Austausch wird das aktuelle Home zu einem neuen Rücksetzpunkt oben in derselben Liste. Zum Rückgängigmachen öffnen Sie erneut Home zurückdrehen… und wählen ihn.
- Noch keine Punkte. Eine Maschine, die noch nie gebootet hat oder gerade erstellt wurde, zeigt „Noch keine Rücksetzpunkte — bei jedem Start dieser Maschine wird einer angelegt.“
- Ältere Maschinen. Eine Maschine, die ihr Home noch in einem Ordner auf dem Mac hält (das alte Shared-Folder-Home), hat kein Image zum Zurückdrehen; das Sheet zeigt „Diese Maschine hält ihr Home auf dem Mac, nicht in einem Image — nichts zurückzudrehen.“ Stellen Sie zuerst ihren Speicher im Bereich Ressourcen um.
- Entfernte Maschinen. In einem Spiegelfenster des Rich Clients funktioniert Home zurückdrehen… genauso, mit den Checkpoints des Servers.
Die anderen Speicheraktionen
Der Bereich Ressourcen der Maschine (⋯ › Bearbeiten… › Ressourcen) behält die älteren Aktionen pro Schicht. Sie sind deaktiviert, solange das Fenster der Maschine geöffnet ist („Schließen Sie zuerst das Sitzungsfenster.“):
| Schaltfläche | Schicht | Was sie tut |
|---|---|---|
| Home wiederherstellen… | Home (ext4) | Dasselbe Zurücksetzen wie Home zurückdrehen…, als Hinweisfenster mit einer Aufklappliste der Punkte: Wiederherstellen / Abbrechen. Vom aktuellen Home wird zuerst ein Checkpoint angelegt. |
| Persönlichen Ordner löschen… | Home | Löscht alles unter /home/ubuntu — Projekt-Klone, Shell-Verlauf, Caches, das SSH-Schlüsselpaar der Maschine. Von Bromure verwaltete Dateien (.bashrc, .gitconfig, CLI-Konfigurationen) werden beim nächsten Start aus den Einstellungen der Maschine neu erzeugt. |
| Auf Basis zurücksetzen… | Systemdisk | Klont die Systemdisk erneut aus dem Basis-Image. Alles, was mit apt installiert wurde, und Änderungen unter /etc, /var, /usr, /opt gehen verloren; das Home bleibt erhalten. |
Das Menü ⋯ der Maschine bietet außerdem Datenträger zurücksetzen, dasselbe Zurücksetzen der Systemdisk. Den vollständigen Bereich beschreiben die Ressourcen-Einstellungen.
Der ext4-Dateibrowser
macOS unterstützt ext4 nicht nativ, daher ist der einzige Weg, in die Disk-Images einer Maschine zu schauen, normalerweise das Starten der VM. Bromure vermeidet das mit einem eigenen, abhängigkeitsfreien ext4-Leser und -Schreiber: Er liest das Format auf der Festplatte direkt und zeigt Ihnen den Verzeichnisbaum.
Arbeitsbereiche › ext4-Datei öffnen… öffnet jedes ext4- (auch ext2 oder ext3) .img — ein rohes Dateisystem oder einen MBR-/GPT-partitionierten Datenträger — in einem Finder-ähnlichen Fenster. Es wird nichts eingehängt, keine VM gestartet und keine erhöhten Rechte benötigt.
Hinweis: Das Image wird standardmäßig schreibgeschützt geöffnet — sicher, selbst wenn eine VM den Datenträger noch angehängt hat. Das Bearbeiten ist ein separater, ausdrücklich abgesicherter Schritt (siehe Ein Image bearbeiten).
Was Sie öffnen können
Eine Maschine liegt unter ~/Library/Application Support/BromureAC/profiles/<uuid>/. Zwei Images dort lohnen sich zum Durchsuchen, zuzüglich ihrer Rollback-Checkpoints:
| Image | Was der Browser anzeigt | Toolbar-Infozeile lautet |
|---|---|---|
disk.img | Das Ubuntu-System-Root — /etc, /var, /usr, /opt usw. Der Datenträger ist ein GPT-Layout (eine EFI-Partition plus das ext4-Root); der Browser findet das ext4-Root automatisch. | partition @…MiB |
home.img | Das /home/ubuntu des Gasts direkt im Dateisystem-Root — Dotfiles, Projekt-Checkouts, .ssh, Shell-Verlauf und Bromures eigener Ordner .bromure/. | raw |
checkpoints/<ts>.img | Ein Checkpoint von disk.img, bei jedem Boot angelegt. | partition @…MiB |
checkpoints/home/<ts>.img | Ein Checkpoint von home.img, bei jedem Boot angelegt — die Punkte, die Home zurückdrehen… auflistet. | raw |
Das Home-Image verhält sich so, weil der Gast es beim Booten über /home/ubuntu einhängt — das Wurzelverzeichnis des Images ist also dieser Home-Ordner. Kubernetes-Knoten, Registries und der Messaging-Connector legen ihre Datenträger stattdessen unter kube/<id>/nodes/<uuid>/ ab und lassen sich genauso öffnen.
Ein Image öffnen
- Wählen Sie Arbeitsbereiche › ext4-Datei öffnen….
- Ein Öffnen-Dialog mit dem Titel ext4-Disk-Image öffnen erscheint — „Wählen Sie ein ext4-.img-Disk-Image (roh oder partitioniert).“ — beginnend in
~/Library/Application Support/BromureAC. Navigieren Sie in den Ordnerprofiles/<uuid>/einer Maschine und wählen Siedisk.img,home.imgoder eine Datei untercheckpoints/. - Der Browser öffnet sich in einem Fenster mit dem Titel ext4 — «Dateiname» und zeigt das Dateisystem-Root.
Die Infozeile der Toolbar fasst das Volume zusammen: seine Bezeichnung, die Gesamtgröße, ob das Dateisystem roh oder an einem Partitions-Offset gefunden wurde, und seinen Zustand — clean, not cleanly unmounted oder journal needs recovery. Es gibt ein Fenster pro Image; das erneute Öffnen eines bereits geöffneten Images holt nur sein Fenster nach vorne.
Durchsuchen, Vorschau und Extrahieren
Die Hauptansicht ist eine dreispaltige Tabelle — Name, Größe und Typ — mit den Verzeichnissen zuerst. Der Typ unterscheidet Ordner, Dateien und Symlinks sowie die speziellen Unix-Knotentypen (Char, Block, FIFO, Socket).
- Navigieren — doppelklicken Sie auf einen Ordner, um ihn zu betreten; klicken Sie auf den Pfeil Nach oben in der Toolbar, um zurückzugehen. Der Breadcrumb zeigt den aktuellen Pfad.
- Vorschau — doppelklicken Sie auf eine Datei oder klicken Sie mit der rechten Maustaste darauf und wählen Sie Vorschau. Textdateien werden als Text dargestellt; Binärdateien werden als Hex-Dump dargestellt. In jedem Fall ist die Vorschau auf das erste 1 MiB begrenzt, und die Fußzeile meldet, wie viele der Gesamt-Bytes der Datei angezeigt werden. Ein Symlink wird als sein Zielpfad angezeigt.
- Extrahieren — klicken Sie mit der rechten Maustaste auf eine Datei und wählen Sie Extrahieren…, um ihren vollständigen Inhalt über einen Sichern-Dialog auf Ihren Mac zu schreiben. Dies ist der schreibgeschützte Weg, den Sie am häufigsten nutzen werden.
Ein Image bearbeiten
Das Bearbeiten liegt bewusst hinter einer Absicherung. Klicken Sie in der Toolbar auf Bearbeiten aktivieren…; das Hinweisfenster Bearbeiten dieses Disk-Images aktivieren? warnt:
Bearbeiten Sie nur ein Image, dessen Arbeitsbereich-VM gestoppt ist. Das Schreiben auf einen Datenträger, den eine laufende VM geöffnet hat, beschädigt ihn.
Klicken Sie auf Bearbeiten aktivieren, und das Image wird schreib-lesbar erneut geöffnet, mit einem orangefarbenen Abzeichen Bearbeiten in der Toolbar. Das Kontextmenü einer Datei erhält dann Ersetzen…: Wählen Sie eine Host-Datei, deren Inhalt die ausgewählte Datei an Ort und Stelle überschreibt. Der Editor berechnet die Prüfsumme des Inodes neu, sodass das Ergebnis konsistent bleibt.
Warnung: Das Ersetzen erfolgt nur an Ort und Stelle. Der neue Inhalt muss in die bereits zugewiesenen Blöcke der Datei passen — eine größere Datei wird mit Diese Datei müsste wachsen abgelehnt (das Vergrößern, Erstellen und Löschen von Dateien ist nicht aktiviert). Inline-Data-Dateien können nicht bearbeitet werden. Schreibvorgänge werden abgelehnt, solange das Journal eine Wiederherstellung benötigt — führen Sie zuerst fsck aus (unten). Und bearbeiten Sie niemals ein Image, das eine laufende VM angehängt hat.
Einen Datenträger prüfen und reparieren
Bromure prüft und repariert ext4-Images mit einem eigenen, eingebauten Prüfprogramm — es muss nichts installiert werden (macOS liefert kein e2fsprogs mit, und Bromure verwendet es nicht). Sie begegnen ihm an drei Stellen:
- Automatisch, beim Booten. Wenn der Boot einer Maschine wegen Dateisystemfehlern anhält, zeigt ihre Bühne DATENTRÄGERFEHLER — „Die Systemdisk hat die Dateisystemprüfung beim Booten nicht bestanden, und der Boot kann nicht fortgesetzt werden.“ — mit Festplatte reparieren und Systemfestplatte zurücksetzen…. Festplatte reparieren stoppt die VM, lässt das Prüfprogramm über die Systemdisk laufen und bootet erneut; nichts wird gelöscht. Scheitert auch der nächste Boot, ist Zurücksetzen der Weg nach vorn. Siehe Fehlerbehebung.
- Im ext4-Browser. Die Schaltfläche fsck ausführen… in der Toolbar.
- Auf der Kommandozeile.
bromure-cli vm fsck <workspace> [--repair] [--home]— siehe CLI, API & MCP.
Im Browser fragt fsck ausführen… Dieses Image prüfen? — „Dies spielt das Dateisystem-Journal erneut ab, falls es unsauber ist, und überprüft die Metadaten. Die VM des Arbeitsbereichs muss gestoppt sein. Das Image kann verändert werden.“ — mit fsck ausführen und Abbrechen. Das Ergebnis erscheint in einem Sheet mit dem Titel fsck.ext4, mit einer einzeiligen Zusammenfassung über der vollständigen Ausgabe:
| Zusammenfassung | Bedeutung |
|---|---|
| „Dateisystem ist sauber.“ | Nichts zu tun. |
| „Dateisystem repariert; es ist jetzt konsistent.“ | Das Journal wurde erneut abgespielt; das Image ist jetzt genau das, was der Gast-Kernel zuletzt festgeschrieben hat. |
| „Das Dateisystem hat Fehler, die dieses Prüfprogramm nicht reparieren kann.“ | Schäden, die über ein unvollendetes Journal hinausgehen. |
Das Image wird anschließend erneut geöffnet, sodass der Browser den reparierten Zustand zeigt.
Was das Prüfprogramm tut und was nicht:
- Reparieren spielt das Dateisystem-Journal erneut ab und löscht das Flag „needs recovery“. Das ist die ganze Geschichte für fast jeden beschädigten Bromure-Datenträger: Images werden unsauber, wenn eine VM mitten im Schreiben gestoppt wird oder abstürzt, nicht durch Bit-Rot.
- Überprüfen kontrolliert immer die Prüfsummen von Superblock und Gruppendeskriptoren und durchläuft dann den Baum ab der Wurzel, wobei es die Prüfsumme und den Extent-Baum jedes erreichbaren Inodes validiert. Es meldet, was es findet, behebt es aber nicht.
- Für Schäden, die das Prüfprogramm nicht reparieren kann, ist die ehrliche Lösung Linux' eigenes
e2fsckin einer VM. Der Gast prüft das Home-Image ohnehin bei jedem Boot, und Kubernetes-Knoten und Registries weichen auf eine Wegwerfmaschine aus, diee2fsckautomatisch auf ihren Datenträgern ausführt. Für die Systemdisk eines Arbeitsbereichs klont Auf Basis zurücksetzen… sie neu und lässt das Home unberührt.
Wann Sie zu diesen Werkzeugen greifen
- Schäden an Ihrem Home rückgängig machen — ein Agent hat den falschen Ordner gelöscht, oder eine Dotfile-Änderung hat Ihre Shell kaputt gemacht: Home zurückdrehen… auf den letzten guten Boot.
- Eine Datei retten aus einer Maschine, die Sie lieber nicht booten möchten — holen Sie eine nicht committete Änderung oder ein Log mit Extrahieren… aus
home.img. - Einen Checkpoint prüfen, bevor Sie zurückdrehen, um sicherzugehen, dass er enthält, was Sie erwarten: Öffnen Sie ihn im ext4-Browser aus
checkpoints/home/. - Eine Maschine retten, die nicht bootet — lassen Sie Festplatte reparieren das Journal erneut abspielen; ist eine fehlerhafte Konfigurationsdatei die Ursache, ersetzen Sie sie mit dem Browser an Ort und Stelle und führen Sie fsck aus. Zur Diagnose von Boot-Fehlern siehe Fehlerbehebung.
Entwicklervorgaben
Einige Low-Level-Stellschrauben werden aus der UserDefaults-Domain der App, io.bromure.agentic-coding, gelesen. Setzen Sie sie mit defaults write, während die App nicht läuft, und starten Sie sie dann neu:
| Schlüssel | Wirkung | Standard |
|---|---|---|
vm.homeImageGB | Scheinbare (für den Gast sichtbare) Größe eines neu erstellten ext4-Home-Images in GiB. Die Host-Datei ist sparse, daher kostet dies im Voraus nichts. Auf 8–1024 begrenzt. Ein altes Home, das in sein erstes Image migriert wird, erhält mindestens 64. | 16 |
vm.mtu | MTU-Begrenzung für die primäre NIC der VM einer Maschine, die bei jedem Booten in den Gast geschrieben wird. Der Standard von 1280 ist VPN-sicher (WireGuard, IKEv2 und Unternehmens-PMTU-Pfade). | 1280 |
terminal.allowGraphics | Aktiviert die Bilddarstellung im Terminal (kitty-Grafikprotokoll) aus dem Gast wieder. Standardmäßig aus, weil es bedeutet, dass der Host vom Gast gelieferte Bild-Bytes dekodiert — und derselbe Kanal könnte eine gefälschte Oberfläche über das Terminal zeichnen. Schalten Sie es nur ein, wenn Sie möchten, dass Agenten Bilder inline darstellen, und dieses Risiko akzeptieren. | NO |
ui.terminalBell | Lässt die Glocke eines Terminals klingeln. Standardmäßig aus: Agenten läuten am Ende jeder Runde, und der Status in der Seitenleiste zeigt es Ihnen ohnehin. | NO |
Um beispielsweise die Home-Images künftiger Maschinen als 128 GiB erscheinen zu lassen:
defaults write io.bromure.agentic-coding vm.homeImageGB -int 128
Hinweis:
vm.homeImageGBbetrifft nur Home-Images, die nach der Änderung erstellt werden; bestehende Images behalten ihre Größe. Ein Home-Image kann später vergrößert, aber nicht verkleinert werden.
Tipp: Für wirklich wegwerfbare Arbeit bootet
bromure-cli vm run --rmeinen Docker-artigen, wegwerfbaren Arbeitsbereich, dessen Datenträger gelöscht wird, wenn die VM stoppt — dokumentiert in CLI, API & MCP.
Die vollständige Liste der UserDefaults-Schlüssel und Umgebungsvariablen steht im Anhang.