Nach dem Zufallsprinzip "kann die alte Datei nicht mehr gelöscht werden (Berechtigung verweigert)" nach einem Git-Pull in einem Vagrant-Feld

9

Ich arbeite in einer Vagrant-Box, die vor Homestead 5.0 und manchmal nach einer git pull oder git checkout , bekomme ich

%Vor%

Nachdem ich meine Box neu gestartet habe, kann ich normal ziehen oder auschecken. Ich habe auch versucht, git pull lokal und es hat perfekt funktioniert.

Einrichtung:

  • Mac OS Sierra
  • Virtuelle Box 5.1.14
  • Vagrant 1.9.1
  • Gehöft 5.0

Jeder mit diesem Problem?

    
Dominic 03.03.2017, 14:03
quelle

1 Antwort

11

Es sieht so aus, als wäre es ein Fehler mit macOS ( möglicherweise El Capitan, aber in Sierra bestätigt) und / oder NFS.

Siehe diese Vagrant-Probleme:

Die meisten Leute fanden heraus, dass es mit einem Dateisystem-Caching-Problem zu tun hat.

Lösung High Sierra (2017-11-21)

Aktualisieren Sie auf High Sierra 10.13.2 Beta 2 als von JF Bibeau bestätigt .

  

Zu High Sierra 10.13.2 Beta 2 hochgestuft, habe meinen Cronjob entfernt, der periodisch eine ls -laR als Workaround verwendet, [...]

     

Ich freue mich, berichten zu können, dass ich das in fast zwei Wochen nicht gesehen habe, als ich High Sierra benutzt habe. Es ist komplett behoben!

Beachten Sie, dass ein neues, aber anderes Problem in High Sierra aufgetreten ist, das mit einer falschen Auflistung von Dateien zusammenhängt auf dem Gastcomputer .

Mögliche Problemumgehungen

Wenn ein Upgrade auf High Sierra nicht möglich ist, finden Sie hier einige Umgehungslösungen.

Update Vagrant und Virtualbox

Wenn möglich, aktualisieren Sie beide, obwohl einige Leute das Herunterstufen erwähnt haben.

Rekursives Listing auf dem Host (Einfache Problemumgehung)

Beim Ausführen des folgenden auf dem Host wird der Dateisystemcache aktualisiert:

%Vor%

oder das Get info Menü des synchronisierten Verzeichnisses scheinen vorübergehend zu funktionieren.

Einige Leute haben einen Cron-Job gemacht, um das alle fünf Minuten zu tun , damit sie nie auf das Problem stoßen, auch wenn es keine endgültige Lösung ist.

Jemand wies darauf hin , dass nur eine rekursive Auflistung ausgeführt wurde Das Verzeichnis hatte den gleichen Effekt und war schneller .

%Vor%

Deaktivieren von NFS-Lookupcache

Ein Kommentar in dem erwähnten Problem:

  

Die Deaktivierung von NFS-Lookupcache scheint zu funktionieren, aber die Leistung ist   unerträglich.

Ändern Sie die Berechtigungen des synchronisierten Verzeichnisses

Geben Sie auf dem Hostcomputer Lese- und Schreibzugriff auf Jeder . Es scheint auch vorübergehend zu funktionieren, wahrscheinlich für den gleichen Cache-Grund funktioniert das Öffnen des Menüs Get info .

Nicht mit NFS

%Vor%

Aber das hat einen enormen Leistungsabfall.

Verwenden Sie vagrant-sshfs

Dies ist ein vagabundierendes Plugin, das das Mounten von Verzeichnissen mit SSHFS ermöglicht. Allerdings von den Nachteilen, die auf dem Repo selbst aufgeführt sind:

  

Die Leistung ist schlechter als eine Implementierung wie NFS

Downgrade auf El Capitan

Einige Leute erwähnten, dass sie dieses spezielle "unlink" -Problem auf El Capitan nicht hatten . Eine Herabstufung wäre also eine letzte Möglichkeit Lösung, um den Umgang damit zu umgehen.

Einige registrierte Apple-Entwickler haben das Problem auf bugreport.apple.com gemeldet ( # 28927426 und # 33043401 ), aber die Informationen sind privat.

Apple antwortete und schloss den ursprünglichen Fehlerbericht mit den Worten:

  

Das in diesem Fehlerbericht gemeldete Problem wurde behoben, aber das High Sierra-Problem ist spezifisch für APFS und nicht das gleiche Problem. Bitte füge einen neuen Nug (sic) für dieses Problem ein. Vielen Dank. Wir schließen jetzt diesen Fehlerbericht.

    
Emile Bergeron 02.05.2017 15:09
quelle