"Der Vorgang kann nicht abgeschlossen werden, da das Element verwendet wird" beim Löschen von einem Samba-gemounteten Laufwerk

Ich habe ein USB-Laufwerk an meinen Asus RT-N66U-Router angeschlossen und über SMB freigegeben. Ich habe dieses Laufwerk ursprünglich auf einem Mac formatiert. Ich habe zwei Trendnet TV-IP572PI-Überwachungskameras, die Schnappschüsse/Videos auf diesem Laufwerk über SMB aufzeichnen. Manchmal, wenn ich das Laufwerk von meinem Mac mounte ('Mit Server verbinden' @ smb://192.168.1.1) und versuche, alte Verzeichnisse davon zu löschen, erhalte ich diese Fehlermeldung:

Der Vorgang kann nicht abgeschlossen werden, weil Sie nicht berechtigt sind, auf einige der Elemente zuzugreifen.

Das ist extrem frustrierend, da ich das USB-Laufwerk trennen, wieder an meinen Mac anschließen und formatieren muss, damit es wieder funktioniert. Ich nehme an, dass dies eine Art Berechtigungsproblem ist, und wenn diese Berechtigungen durcheinander gebracht werden, schreiben die Kameras nicht auf das Laufwerk. Ich kann dies tagelang nicht bemerken, wenn ich nicht in der Stadt war.

Wenn Sie Google nach diesem Fehler durchsuchen, werden meistens Ergebnisse zum Deaktivieren einer Unix-Erweiterungseinstellung in smb.conf auf dem Server angezeigt, mit dem Sie sich verbinden. Ich habe keine Möglichkeit, dies zu tun, da der Samba-Server auf dem Asus-Router läuft. Der E-Mail-Support von ASUS war bisher nicht hilfreich, mit Empfehlungen, die Firmware zu aktualisieren und einen Hard-Reset auf dem Router durchzuführen (verfüge bereits über die neueste Firmware). Ich glaube, dass dieses Problem auf das Mounten des Laufwerks von meinem Mac zurückzuführen ist.

Vielen Dank im Voraus.

Antworten (4)

Es gibt eigentlich zwei Nachrichten, auf die Sie sich beziehen:

"Dieser Vorgang kann nicht abgeschlossen werden, da das Element verwendet wird"

Und

"Der Vorgang kann nicht abgeschlossen werden, da Sie nicht berechtigt sind, auf einige der Elemente zuzugreifen."

Wenn Sie die erste sehen, bekomme ich diese Nachricht manchmal auch. Sehr oft kann dies behoben werden, indem Sie Folgendes ausführen: sudo lsof | grep <filename>in Terminal.app - offensichtlich <filename>durch den tatsächlichen Namen der Datei ersetzen, die Sie löschen möchten. Ich erhalte dies normalerweise, wenn ich versuche, den Papierkorb zu leeren, aber wenn der Papierkorb auf dem von Ihnen gemounteten Dateisystem nicht unterstützt wird, sehen Sie ihn möglicherweise, wenn Sie versuchen, ihn zu löschen.

Was lsofes tut, ist, dass es alle geöffneten Dateien auflistet und zeigt, welcher Prozess jede von ihnen geöffnet hat. Ziemlich oft ist dies ein Quick-Look-Prozess, der die Datei geöffnet und irgendwie nicht geschlossen hat (das passiert, wenn Sie eine Liste von Filmdateien im Finder anzeigen - es wird dann versuchen, Ihnen das erste Bild des Films in zu zeigen die Vorschau, und es verwendet Quick Look, um dies zu tun).

Normalerweise werden die Dateien nach dem Ausführen lsofgeschlossen (das heißt, wenn lsofnichts angezeigt wird), oder ich kann einfach den Quick-Look-Prozess beenden und dann den Papierkorb leeren.

Was die andere Nachricht betrifft, ist es am besten , die Berechtigungen für die Datei oder den Ordner, den Sie entfernen möchten, auszuführen ls -la <filename>oder anzuzeigen. ls -lad <directory>Dies kann Ihnen eine bessere Vorstellung davon geben, wo das Problem liegt.

Hmm, lsof scheint nichts zurückzugeben, und der Fehler tritt in jedem Verzeichnis auf, das ich zu löschen versuche. Die Berechtigungen scheinen für alle Verzeichnisse/Dateien gleich zu sein.
Was @mike beschrieben hat, ist genau das, was für mich unter macOS Catalina 10.15.2 und SMB-Freigabe unter Linux passiert. Durch einfaches Öffnen eines Verzeichnisses mit Bildern auf einer SMB-Freigabe im Finder führt der QuickLook-Prozess zum Öffnen der Dateien, anscheinend um Miniaturansichten zu erzeugen. Irgendwie zögert QuickLook, diese Dateien freizugeben, und ich konnte es nur erzwingen, indem ich kill -9 ausführte (normales kill würde nicht funktionieren). Nun, das war nie ein Problem auf High Sierra – ungeachtet einiger seltsamer Fälle. Auf Catalina passiert es fast die ganze Zeit.

Ich fand, dass die Verbindung über FTP mit Filezilla stattdessen besser funktionierte. Es gibt MacOS nicht die Möglichkeit, dort Änderungen an der Dateistruktur vorzunehmen.

Welches Dateisystem erstellen Sie auf Ihrem freigegebenen Laufwerk? Sieht so aus, als ob Sie den falschen FS verwenden. Ich verwende Ext3 am selben Router und verbinde erfolgreich von meinem PC und von meinem Mac. Ich habe immer die erforderlichen Berechtigungen, um alles zu tun.

Übrigens sollten Sie daran denken, dass Sie die Ext3-Festplatte nicht direkt mit Ihrem Mac verwenden können. Nur über den Router.

Um die Festplatte auf Ext3 FS zu formatieren, können Sie dies mit einem Linux-PC (falls Sie einen haben) oder mit dem Router selbst tun:

  1. Aktivieren Sie den Telnet-Zugriff auf Ihren Router:

    A. Verbinden Sie sich per Webbroser mit dem Control Panel Ihres Routers (z. B. Zugang http://192.168.1.1oder was ist die IP Ihres Routers)

    B. Gehen Sie zu Administration->System-> Telnet aktivieren (aktivieren Sie Ja)

    C. drücken Sie "Anwenden". Warten Sie, bis der Router neu gestartet wird.

  2. Verbinden Sie sich per Telnet mit dem Router:

    A. Terminal ausführen

    B. Schreiben Sie Telnet normalerweise sollte es 192.168.1.1 sein

    C. Melden Sie sich mit dem Login|Pwd Ihres Administrators an

  3. Festplatte formatieren:

    A. Überprüfen Sie, welches Gerät Ihre Festplatte ist: Schreiben Sie dfDateisysteme. Ihr Gerät sollte das größte Dateisystem sein (die größte Anzahl von Blöcken). Es wird so /dev/sda1oder ähnlich sein.

    B. format it: mkfs.ext3 /dev/sda1(geben Sie die richtige Partitionskennung ein, die Sie in dfder Ausgabe von gesehen haben.

  4. Starten Sie Ihren Router neu.
  5. Genießen.

PS: Vielleicht möchten Sie den Telnet-Zugriff aus Sicherheitsgründen deaktivieren.

PPS Sie sollten Ihre Daten vor diesem Vorgang sichern, nicht danach.

Um dieses Problem zu lösen, wenn wir einen Linux-Server verwenden, müssen wir das Samba-Paket installieren, das VFS-Module enthält, und die Samba-Konfigurationsdatei bearbeiten. Diese Datei ist die Datei > /etc/samba/smb.conf.

Fedora-Server : Um VFS-Module auf dem Fedora-Server zu installieren, müssen Sie die Dateien von fedora pkgs.org herunterladen und in das Verzeichnis gehen, in dem die Datei heruntergeladen wurde, und die Datei im Terminal installieren. Link: https://fedora.pkgs.org/34/fedora-updates-testing-x86_64/samba-vfs-cephfs-4.14.2-1.fc34.x86_64.rpm.html

sudo dnf install ./samba-vfs-cephfs-4.14.2-1.fc34.x86_64.rpm

Ubuntu-Server : Öffnen Sie ein Terminal und geben Sie Folgendes ein:

sudo apt install --no-install-recommends samba-vfs-modules

config die Datei > /etc/samba/smb.conf. Öffnen Sie die Datei mit einem Editor und fügen Sie im [global]Abschnitt vfs objects = fruit streams_xattr hinzu

bearbeitete Datei

Danach müssen Sie den Samba-Dienst neu starten .

Fedora

sudo service smb restart

Ubuntu

sudo service smbd restart

Verbinden Sie danach Ihr iOS- oder iPadOS- Gerät erneut mit dem Server.

Die Dokumentation für das Frucht -SAMBA-VFS-Modul finden Sie unter https://www.samba.org/samba/docs/current/man-html/vfs_fruit.8.html .