[Wichtiger Sicherheit Hinweis] Gefälschte Qfinder Pro Websites entdeckt. Mehr erfahren >

Manchmal erhalte ich einen Fehlercode -43, wenn ich versuche, bei der Verwendung des Finders in macOS über SMB auf Dateien in einem freigegebenen Ordner zuzugreifen. Was verursacht das?


Zuletzt geändertes Datum 2019-03-13

Im obigen Screenshot versucht der Finder, (über SMB) auf das Verzeichnis "1_ã" in einem freigegebenen Ordner zuzugreifen und einen Unterordner zu erstellen, was zu dem Fehler führt. Dies geschieht, weil das Zeichen "ã" mit der Normalisierungsform D (NFD) kodiert wird, welche die Unicode Normalisierungsform "Canonical Decomposition" ist.
 
Auf der Client-Seite sendet der Finder die Anfrage jedoch mit der Normalisierungsform C (NFC), der "Canonical Composition" Form. Daher kann der NAS Server den Verzeichnisnamen nicht erkennen und das Verzeichnis nicht finden, so dass der Server den Fehler meldet.

Dieser Unterschied kann auch dazu führen, dass einige Dateien in Ordnern mit Namen, die Buchstaben aus der NFD-Form enthalten, unsichtbar und unbearbeitbar werden. Vorgänge wie das Umbenennen, Erstellen oder Bearbeiten von Dateien in einem solchen Ordner könnten fehlschlagen.

Dieser Fehler ist darauf zurückzuführen, dass Server und Client zwei verschiedene Unicode Normalisierungsformen verwenden. Wenn ein Benutzer versucht, über SMB auf einen freigegebenen Ordner auf dem NAS Server zuzugreifen, sendet der Client eine Anfrage, um herauszufinden, welche Dateien sich im Verzeichnis befinden. Nach Erhalt der Anfrage sendet der NAS Server alle Dateinamen im Verzeichnis an den Client. Das Problem tritt auf, wenn die Dateinamen eine andere Unicode Normalisierungsform verwenden - in diesem Fall NFD auf der Serverseite und NFC auf der Client-Seite. Dies tritt auf, wenn der Client beim Speichern von Dateien auf dem NAS Server eine andere Form wählt. Wenn der Client die Dateinamen erhält, fordert er den Server auf, diese Dateien anzuzeigen, oder fordert, dass eine neue Datei im Verzeichnis erstellt wird. Das Kodierungsformat der Anforderung hängt von den Einstellungen auf der Client-Seite ab. Wenn die Anfrage des Clients ein anderes Format hat als das auf dem Server verwendete Format, kann der Server die Dateien oder Verzeichnisse nicht finden und den Fehler melden.

 
Wenn Sie Dateinamen in NFD Form in die NFC Form für Dateien konvertieren möchten, die auf dem NAS gespeichert sind, können Sie ein Programm namens convmv verwenden. Befolgen Sie die nachstehenden Schritte, um convmv zu installieren.

  1. Melden Sie sich am NAS an und gehen Sie zum App Center.
  2. Installieren Sie Perl.
  3. Gehen Sie zu https://www.j3e.de/linux/convmv/ und laden Sie convmv herunter.
  4. Speichern Sie die Datei in einem Verzeichnis auf dem NAS. (z.B. freigegebener Ordner, Öffentlich)
  5. Öffnen Sie das Terminal und bauen Sie eine SSH-Verbindung auf, um sich am NAS anzumelden.
  6. Geben Sie den Ordnerpfad ein, in dem convmv gespeichert ist.
    Geben Sie den Befehl ein: Run: cd /share/Public
  7. Entpacken Sie die Datei.
    Geben Sie den Befehl ein: Run: tar -xvf convmv-2.05.tar.gz
  8. Geben Sie den Ordnerpfad ein, in dem die extrahierten Dateien gespeichert sind.
    Geben Sie den Befehl ein: Run: cd convmv-2.05
  9. Stellen Sie sicher, dass convmv ausführbar ist.
    Geben Sie den Befehl ein: Run: chmod a+x convmv
  10. Ändern Sie den Perl Shell Pfad für das NAS.
    Geben Sie den Befehl ein: Run: sed -i -e'1c\\#\!\/opt\/bin\/perl' convmv
  11. Konvertieren Sie die Dateinamen.
    Geben Sie den Befehl ein: Run: ./convmv -r --nfc --nosmart -f UTF-8 -t UTF-8 --notest <Ordnerpfad mit zu konvertierenden Dateien>

Hinweis:
Diese Anleitung basiert auf der Firmware QTS 4.3.6 mit einer x86_64 Plattform. Der Versuch, diese Schritte mit früheren Firmware Versionen durchzuführen, kann zu unterschiedlichen Ergebnissen führen. So kann sich beispielsweise der Perl Shell Pfad in Schritt 10 unterscheiden, so dass Sie ihn möglicherweise durch den richtigen Pfad ersetzen müssen.
 
Diese Anleitung gilt nicht für ARM-basierte Modelle.


Verweise:
https://en.wikipedia.org/wiki/Unicode_equivalence#Errors_due_to_normalization_differences
https://en.wikipedia.org/wiki/Unicode_equivalence#Normalization
https://www.j3e.de/linux/convmv/
https://linux.die.net/man/1/convmv
http://unicode.org/reports/tr15

War dieser Artikel hilfreich?

33% der Nutzer fanden es hilfreich.
Vielen Dank für Ihre Rückmeldung.

Bitte teilen Sie uns mit, wie dieser Artikel verbessert werden kann:

Wenn Sie zusätzliches Feedback geben möchten, fügen Sie es bitte unten ein.

Wählen Sie die Spezifikation

      Mehr anzeigen Weniger
      Diese Seite in anderen Ländern / Regionen:
      open menu
      back to top