Editiere Dateien in VM mount

Keylan

Lt. Commander
Registriert
Apr. 2012
Beiträge
1.512
Ich habe dann doch mal eine spezielle Frage, wobei meine google suche doch immer nur bei Themen landet die dann etwas anders aufgestellt sind.

Deshalb hier mal ganz spezifisch. Ich habe auf meinem Manjaro-Arch System eine VM mit NixOS eingerichtet.

Nachdem das ganze noch experimentelle Bastelei ist, habe ich NixOS noch nicht komplett mit WindowManager zum laufen gebracht.
Das ist hier aber nicht der Kernpunkt, da ich ggf. mehrfach wieder in solche Probleme laufe wenn ich andere OS und WM/DE's ausprobiere.

Aktuell habe ich das FileSystem (.vdi) der VM auf dem Host gemounted und würde gern die Dateien darin mit einem komfortablen Editor bearbeiten.
Ich kann die Dateien auch mit z. B. Kate öffnen. Beim speichern kommt dann aber permission denied. Nicht nur wird gar nicht der Dialog zur Frage nach root-Rechten geöffnet, wenn ich es recht verstehe, hat root gar keine schreib rechte auf die Dateien, weil diese von einem fremden System stammen.

Wenn ich mir die Rechte auf den Verzeichnissen ansehe sieht das recht normal aus, wobei es auf Host und Guest jeweils die selben Benutzer also root und meinen Standardnutzer gibt.

Die Bearbeitung der ganzen Konfigurations-Dateien über die Konsole geht innerhalb der VM zwar problemlos, ist für mich mit Nano und ohne geteilte Zwischenablage aber ein Graus.
Da ich sehr viel an den Dateien in etc/nixos und ~/.config/ arbeite ist ein Shared-Folder auch nur bedingt praktikabel.

Meine bisherigen versuche mit chmod waren auch erfolglos, wobei ich mich da auch grade erst eingelesen habe und nicht sicher bin ob ich das richtig angewendet habe.
 
Ist denn das Dateisystem deiner vdi schreibbar gemountet? Wenn du mount eingibst, werden dir alle aktiven Mount-Optionen angezeigt. Wenn da ein ro darunter ist, dann ist es nur lesbar. Da helfen dir auch keine root- oder Dateirechte weiter.
 
  • Gefällt mir
Reaktionen: madmax2010 und Keylan
Hmm, grade nochmal die Doku von vboximg-mount studiert, ist richtig, wird normal als read-only gemountet.

Danke schon mal dafür.

Wenn ich allerdings mit dem Parameter -rw ergänze, bekomme ich

Code:
vboxing-mount: Failed to access fielsystem on volume 1, ignoring

Entsprechend taucht dann nur Volume 0 im Mountpunkt auf und das ist die EFI Partition.

Code:
vboximg-mount --image 312f0404-106d-4ee6-b5db-e2b9029c31b0 -l     ✔

Virtual disk image:

   Base: /home/sgr/VM/NixOS/NixOS.vdi
   UUID: 312f0404-106d-4ee6-b5db-e2b9029c31b0

Partition     Boot    Start  Sectors      Size     Offset  Type                
NixOS.vdi(0)           4096  1048576    512.0M    2097152  EFI system partition
NixOS.vdi(1)        1052672  204800000   97.6G  538968064  Linux native

Code:
vboximg-mount --image 312f0404-106d-4ee6-b5db-e2b9029c31b0 -g NixOS_VM_Disk --rw

vboximg-mount: Failed to access filesystem on volume 1, ignoring
 
Zuletzt bearbeitet:
Keylan schrieb:
Die Bearbeitung der ganzen Konfigurations-Dateien über die Konsole geht innerhalb der VM zwar problemlos, ist für mich mit Nano und ohne geteilte Zwischenablage aber ein Graus.
Da ich sehr viel an den Dateien in etc/nixos und ~/.config/ arbeite ist ein Shared-Folder auch nur bedingt praktikabel.
wie wäres mit einer SSH/SCP Session und einem passenden Terminal?
 
Keylan schrieb:
Wenn ich allerdings mit dem Parameter -rw ergänze, bekomme ich
Da kann ich zwar nicht helfen (müsste auch im Internet suchen), aber:
sikarr schrieb:
wie wäres mit einer SSH/SCP Session und einem passenden Terminal?
Dann könnte man auch gleich sshfs nutzen. Wenn man dann einmal die Keys einrichtet, kann man das als normaler Benutzer mounten, bearbeiten und wieder unmounten.
 
Da musst du die Datei halt runterladen, bearbeiten und wieder hochladen. sshfs kapselt das transparent, weil es wie ein Dateisystem funktioniert.
 
Keylan schrieb:
Aktuell habe ich das FileSystem (.vdi) der VM auf dem Host gemounted und würde gern die Dateien darin mit einem komfortablen Editor bearbeiten.
Ich kann die Dateien auch mit z. B. Kate öffnen. Beim speichern kommt dann aber permission denied. Nicht nur wird gar nicht der Dialog zur Frage nach root-Rechten geöffnet, wenn ich es recht verstehe, hat root gar keine schreib rechte auf die Dateien, weil diese von einem fremden System stammen.
Ein Filesystem mehrfach zu mounten ist eine extrem schlechte Idee!!!
 
Keylan schrieb:
Wenn ich allerdings mit dem Parameter -rw ergänze, bekomme ich

Code:
vboxing-mount: Failed to access fielsystem on volume 1, ignoring

Entsprechend taucht dann nur Volume 0 im Mountpunkt auf und das ist die EFI Partition.
Du versuchst aber nicht, auf die VDI-Datei einer laufenden VM zuzugreifen, oder? Das wird aus gutem Grund nicht funktionieren. Siehe:
Note
When using vboximg-mount, ensure that the following conditions apply:
  • The disk image is not being used by any other systems, such as by guest VMs.
  • No VMs are running on the host system.
 
foofoobar schrieb:
Ein Filesystem mehrfach zu mounten ist eine extrem schlechte Idee!!!
Hat ja auch niemand vor, zumindest nicht bis ich hier von shhfs gelesen habe. Das klingt mir so als ob es genau das verträglich macht. Muss ich aber erst mal sehen ob ich das eingerichtet bekomme.
Evil E-Lex schrieb:
Du versuchst aber nicht, auf die VDI-Datei einer laufenden VM zuzugreifen, oder?
Nein, versuche ich nicht.
Ich wollte diese Mounten, die Dateien Bearbeiten, dann umount und dann die VM starten und sehen wie sie mit der neuen Konfiguration läuft. Nur das Bearbeiten klappt halt bisher nicht wegen fehlenden Rechten, bzw. read-only mount.

Habe jetzt erst mal shh-keys generiert und versucht mich hier zu verbinden. Ist aber auch alles neu für mich und lese ich mir nebenbei an. Hab eine Portweiterleitung eingerichtet, aber irgendwas klappt auch da noch nicht.
Leider verzichten viele Erklärungen die man so findet auf Troubleshooting oder auch nur Checks zwischen all den Schritten, ob man bis dato überhaupt Erfolg hatte.
 
Keylan schrieb:
Hat ja auch niemand vor, zumindest nicht bis ich hier von shhfs gelesen habe. Das klingt mir so als ob es genau das verträglich macht. Muss ich aber erst mal sehen ob ich das eingerichtet bekomme.
ssh (nich shh) ist ein Programm für den Fernzugriff, sshfs baut darauf auf. Du kannst es statt mit Schlüsseln auch mit Benutzer/Passwort benutzen, dann muss gar nichts eingerichtet werden außer dass der Dienst auf dem Remote läuft (und Passwortanmeldung erlaubt) und die Netzwerkverbindung steht. Mit Schlüsseln ist es aber besser, weil man sich dann die Passworteingabe spart.

Sshfs mountet das Dateisystem nicht direkt wie mount, sondern liest quasi die gemounteten Dateien aus und bietet sie lokal an, ähnlich wie beim fish-Protokoll oder wenn man im Midnight Commander eine ssh-Verbindung zu einem anderen Rechner aufmacht (Edit: laut Wikipedia nutzt mc das fish-Protokoll). Deshalb geht das auch komplett ohne Root-Rechte. Du kannst als normaler Nutzer auch sowas machen: sshfs remote:/home/keylan/some/path ~/localmount. Das heißt du musst nicht das komplette Dateisystem mounten, sondern nur ein bestimmtes Unterverzeichnis ist auch möglich.

Wenn du Dateien bearbeiten willst, die auf dem Remote nur mit root schreibbar sind, dann braucht auch der verwendete ssh-Zugang root-Rechte. Sprich: sshfs root@remote:/etc ~/localmount. Den verwendeten Benutzer kann man permanent in der .ssh/config einstellen, sodass man ihn nicht jedes Mal mittippen muss.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: sikarr
Keylan schrieb:
Hat ja auch niemand vor, zumindest nicht bis ich hier von shhfs gelesen habe. Das klingt mir so als ob es genau das verträglich macht. Muss ich aber erst mal sehen ob ich das eingerichtet bekomme.
Eigentlich haben fast alle grafischen Filemanager unter Linux die Möglichkeit Filesysteme von anderen Maschinen via ssh einzublenden, "Connect to server" oder ähnlich. Bedenke jedoch das via ssh immer der Zugriff auf der Remotemaschine immer im Kontext des Users läuft der die drunterliegende ssh Verbindung aufgebaut hat. Das NightmareFileSystem braucht spezielle Konfigs um als root auf dem Fileserver "unterwegs" zu sein (no_root_squash).
Ansonsten könnte dir auch "ssh -X" (X11-Forwarding) helfen.
 
Für vim reicht ssh ohne X. Und richtig eingerichtet ist vim wesentlich komfortabler als die meisten anderen Editoren.
 
Höchstwahrscheinlich nicht für den TO.

Mir ist gerade noch was Anderes eingefallen was dem TO evtl. helfen könnte: Eine zweite grafische Session auf einer zweiten Console starten.
 
sikarr schrieb:
versteh ich nicht???

Ich nehme mir ein Terminal, putty z.B. und verbinde mich damit von meinem Rechner per ssh auf das Linuxsystem. Entweder bin ich dann schon mit root angemeldet oder ich wechsle mittel su zum root, mache meine Anpassungen und gut.

Wozu sshfs oder X11??
Lies noch mal das erste Posting in diesem Thread.
 
Zurück
Oben