Erweitert

Dieses Kapitel versammelt die Power-User-Oberflächen der App — jene, die Sie gelegentlich statt in jeder Sitzung nutzen. Ihr Herzstück ist der eingebaute ext4-Dateibrowser, der die Disk-Images eines Arbeitsbereichs direkt auf Ihrem Mac öffnet, ohne die VM zu starten: um eine Datei aus einem Arbeitsbereich zu retten, den Sie lieber nicht starten möchten, oder um einen zu reparieren, der nicht mehr bootet. Ein kurzer Abschnitt am Ende dokumentiert zwei Low-Level-Konfigurationsvorgaben.

Alles hier setzt voraus, dass Sie mit dem Speichermodell aus Arbeitsbereiche und Sitzungen vertraut sind.

Der ext4-Dateibrowser

Jeder Arbeitsbereich speichert seine Daten in Linux-ext4-Disk-Images — der Systemdatenträger disk.img und das Home-Image home.img. macOS bietet keine native ext4-Unterstützung, daher ist der einzige Weg, in diese Images hineinzusehen, normalerweise das Starten der VM. Bromure Agentic Coding umgeht das mit einem eigenen, abhängigkeitsfreien ext4-Leser und -Schreiber im Userland: Er parst das On-Disk-Format direkt und zeigt Ihnen den Baum.

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 Arbeitsbereich-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: die Datenträger in einem Arbeitsbereich

Ein Arbeitsbereich liegt unter ~/Library/Application Support/BromureAC/profiles/<uuid>/. Zwei Images dort lohnen sich zum Durchsuchen, zuzüglich ihrer Rollback-Snapshots:

ImageWas der Browser anzeigtToolbar-Infozeile lautet
disk.imgDas Ubuntu-System-Root — /etc, /var, /usr, /opt usw. Der Datenträger ist ein GPT-Layout (eine 512-MiB-EFI-Partition plus das ext4-Root); der Browser findet das ext4-Root automatisch.partition @…MiB
home.imgDas /home/ubuntu des Gasts direkt im Dateisystem-Root — Dotfiles, Projekt-Checkouts, .ssh, Shell-Verlauf und der Paste-Cache unter .bromure/.raw
checkpoints/<ts>.imgEin boot-erprobter Rollback-Snapshot von disk.img.partition @…MiB
checkpoints/home/<ts>.imgEin Rollback-Snapshot von home.img.raw

Das Home-Image verhält sich so, weil der Gast es mit mkfs.ext4 formatiert und beim Booten über /home/ubuntu einhängt — daher ist das eigene Root-Verzeichnis des Images dieser Home-Ordner. Bei einem Arbeitsbereich, der noch das ältere Home per geteiltem Ordner verwendet, gibt es kein home.img zum Öffnen; siehe Sitzungen für die Speichermodelle und das einmalige Upgrade.

Ein Image öffnen

  1. Wählen Sie Arbeitsbereiche ▸ ext4-Datei öffnen….
  2. 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 Ordner profiles/<uuid>/ eines Arbeitsbereichs und wählen Sie disk.img, home.img oder eine Datei unter checkpoints/.
  3. Der Browser öffnet sich in einem Fenster mit dem Titel ext4 — «Dateiname» und zeigt das Dateisystem-Root.

Die Infozeile der Toolbar (unten links) fasst das Volume zusammen: seine Bezeichnung, 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 fokussiert einfach dessen Fenster.

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…; eine Warnung erscheint:

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.

Bestätigen Sie, und das Image wird schreib-lesbar erneut geöffnet, mit einem orangefarbenen Stift-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 metadata_csum-Prüfsumme des Inodes neu, sodass das Ergebnis konsistent bleibt und keine Reparatur benötigt.

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 noch 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.

fsck ausführen

Die Schaltfläche fsck ausführen… in der Toolbar führt fsck.ext4 (e2fsck) gegen das geöffnete Image aus, um das Journal wiederzugeben und das Dateisystem zu reparieren. Sie bestätigt zunächst — „fsck.ext4 auf diesem Image ausführen?", mit dem Hinweis, dass die Arbeitsbereich-VM gestoppt sein muss und dass das Werkzeug das Image verändern kann — und führt dann eine erzwungene automatische Reparatur durch. Bei einem rohen Image läuft fsck direkt auf der Datei; bei einem partitionierten Datenträger wird das Image mit hdiutil ohne Einhängen angehängt, die ext4-Slice geprüft und das Image anschließend wieder abgehängt. Es sind keine erhöhten Rechte beteiligt.

Die Ergebnisse erscheinen in einem Berichtsblatt mit einer verständlichen Zusammenfassung — „Filesystem is clean.", „Filesystem errors were corrected." oder „Filesystem errors remain UNCORRECTED." — plus der vollständigen Werkzeugausgabe; das Image wird dann erneut geöffnet.

Hinweis: macOS liefert kein e2fsprogs mit. Fehlt das Werkzeug, lautet ein Hinweis fsck.ext4 ist nicht installiert mit der Lösung brew install e2fsprogs. Die App durchsucht zuerst ihr eigenes Bundle, dann $PATH, dann Homebrews keg-only e2fsprogs-Speicherorte.

Wann Sie darauf zurückgreifen

Der Browser macht den Datenträger eines gestoppten Arbeitsbereichs zu etwas, das Sie vom Host aus inspizieren und aus dem Sie retten können:

  • Eine Datei retten aus einem Arbeitsbereich, den Sie lieber nicht booten möchten — holen Sie eine nicht committete Änderung oder ein Log aus home.img mit Extrahieren… heraus.
  • Einen Prüfpunkt inspizieren, bevor Sie ein Rollback durchführen, um zu bestätigen, dass er das enthält, was Sie erwarten. Kombinieren Sie dies mit Home wiederherstellen… und Auf Base zurücksetzen…, beide behandelt unter Prüfpunkte und Rollback.
  • Einen Arbeitsbereich retten, der nicht bootet — ersetzen Sie eine fehlerhafte Konfigurationsdatei an Ort und Stelle und führen Sie dann fsck aus, falls der Schreibvorgang das Journal in einem Zustand hinterlassen hat, der eine Wiederherstellung benötigt. Siehe Fehlerbehebung für die Diagnose von Boot-Fehlern.

Entwicklervorgaben

Zwei 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üsselWirkungStandard
vm.homeImageGBScheinbare (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.64
vm.mtuMTU-Begrenzung für die primäre NIC einer Arbeitsbereich-VM, die bei jedem Booten in den Gast geschrieben wird. Der Standard von 1280 ist VPN-sicher (WireGuard, IKEv2 und Unternehmens-PMTU-Pfade).1280

Um beispielsweise die Home-Images künftiger Arbeitsbereiche als 128 GiB erscheinen zu lassen:

defaults write io.bromure.agentic-coding vm.homeImageGB -int 128

Hinweis: vm.homeImageGB betrifft nur Home-Images, die nach der Änderung erstellt werden; bestehende Images behalten ihre Größe. Ein Home-Image kann später vergrößert (ein Online-Truncate plus resize2fs), aber nicht verkleinert werden.

Tipp: Für wirklich wegwerfbare Arbeit bootet bromure-ac vm run --rm einen Docker-artigen, wegwerfbaren Arbeitsbereich, dessen Datenträger gelöscht wird, wenn die VM stoppt — dokumentiert in Automatisierung & die CLI.