Raspberry Pi 3, Ubuntu Core 18, Mounten der USB-Festplatte schlägt fehl

1

Ich habe Ubuntu Core auf einem Raspberry 3 und ich versuche, ein externes USB-Laufwerk zu mounten und folge den Anweisungen auf: Montageanleitung

Beim Ausführen des Befehls

igor-lopez@localhost:~$ systemctl start home-igor-lopez-backup-vol1.mount

Ich bekomme den Fehler:

Fehler beim Starten von home-igor-lopez-backup-vol1.mount: Einheit home-igor-lopez-backup-vol1.mount ist nicht richtig geladen: Ungültiges Argument.

Meine Mount-Datei (/writable/system-data/etc/systemd/system/home-igor-lopez-backup-vol1.mount) sieht folgendermaßen aus:

[Unit]
Description=Mount for Backup Vol1

[Mount]
What=/dev/disk/by-uuid/eb48ffde-6fcd-48e4-a31b-316628728f4c
Where=/home/igor-lopez/backup/vol1
Type=ext4

[Install]
WantedBy=multi-user.target

und der Einhängepunkt existiert:

igor-lopez@localhost:~/backup/vol1$ pwd
/home/igor-lopez/backup/vol1

und die Scheibe auch:

/ dev / disk / by-uuid / eb48ffde-6fcd-48e4-a31b-316628728f4c - & gt; ../../sda1

Da der Benutzer während der Installation erstellt und mit meinem Launchpad-Konto verbunden wurde, ist der Benutzername mit einem Bindestrich versehen. Die Mount-Datei sollte einen Namen haben, der mit dem Mount-Punkt übereinstimmt, aber einen mit Bindestrich wiedergegebenen Schrägstrich, aber ich möchte den Benutzernamen nicht ändern, wenn ich ihn vermeiden kann.
Das Ausführen des gleichen Befehls mit sudo ergab zusätzliche Informationen:

Jan 05 13:24:28 localhost.localdomain systemd 1 : home-igor-lopez-backup-vol1.mount: Where = setting stimmt nicht mit dem Gerätenamen überein. Ablehnen.

So sieht es aus wie der Mount-Dateieintrag:

Where=/home/igor-lopez/backup/vol1  

ist der Täter und ich habe keine Ahnung, wie ich es lösen soll.

Versucht, den Speicherort entsprechend der Antwort von grawity zu ändern:

Where=/home/igor\x2dlopez/backup/vol1  

aber das hat nicht geholfen.

IgorLopez
quelle

Antworten:

0

Da Unit-Dateinamen keine Schrägstriche enthalten dürfen, werden diese durch Bindestriche ersetzt. Aber um Mehrdeutigkeiten zu vermeiden, waren das Bindestriche ursprünglich es muss durch etwas anderes ersetzt werden; systemd verwendet C-style \x## hexadezimales Escapezeichen. So igor-lopez muss geschrieben werden als igor\x2dlopez.

Benutzen systemd-escape um den richtigen Namen zu finden:

$ systemd-escape --path /home/igor-lopez/backup/vol1
home-igor\x2dlopez-backup-vol1
grawity
quelle
Vielen Dank für die Antwort, aber ich habe den Speicherort aktualisiert: Where = / home / igor \ x2dlopez / backup / vol1, aber immer noch den gleichen Fehler.
IgorLopez
Sie sollten das aktualisieren Einheitendateiname , nicht die Einstellung Where =.
grawity
Das habe ich auch versucht, aber es ist mir nicht gelungen, die Unit-Datei zuerst mit \ x2d zu benennen, aber dann zuerst mit dem Schrägstrich, mv home-igorx-lopez-backup-vol1.mount home-igor \\ x2dlopez-backup-vol1.mount der trick und nun der start befehl hat funktioniert. Danke für die Hilfe.
IgorLopez