Vor ein paar Tagen hatte ich Probleme auf einem NFS ein Verzeichnis per PHP weg zu löschen. Das Problem trat auf als ich eine Extension im Typo3 aktualisieren wollte. Typo3 löscht bei einem Extension Update die Extension zuerst und entpackt dann die neue Version. Typo3 konnte allerdings das Verzeichnis nicht löschen, da es nicht leer war, das Update brach ab und das Typo3 war danach unbrauchbar, da die Extension nicht gefunden werden konnte. Anfangs hatte ich überhaupt keine Ideen woran das liegen konnte, es waren wirklich keine Dateien in dem Ordner und ich konnte den Ordner selbst auch ohne Probleme löschen.

Wo lag nun das Problem?
Wenn eine Datei benutzt/verwendet wird auf einem NFS, dann wird eine ".nfs" Datei erstellt (Beispiel ".nfs0123456789"). In dem Fall war es Typo3 dass die Librarys der Extension selbstverständlich geladen hatte. Es gab also keine "einfache" Möglichkeit das Problem zu lösen, denn man konnte die Extension auch nicht entfernen, da die Datei immer in Benutzung war.

Wie habe ich das Problem umgangen?
Ich habe vorübergehend den Ordner "typo3conf" lokal auf die Festplatte verschoben, die Extension aktualisiert und anschliessend den Ordner wieder auf das NFS gelegt.

Was ich leider nicht testen konnte ist, die Extension zu deaktivieren und dann zu aktualisieren, da eine weitere Extension diese benötigte. Das heisst ich hätte alles deaktivieren müssen. Ich fand die obige Lösung nicht schlecht, da man danke der "symbolischen Links" auch auf einem Live-System das ganze umsetzen kann:

Order kopieren auf die HDD
Symbolischen Link aus "typo3conf" machen
Update im Typo3
Ordner wieder aufs NFS kopiere/überschreiben
Symbolischen Link ändern/wieder entfernen
Fertig :-)

Da ich schon vorher einen symbolischen Link verwendet habe war das ganze kein Problem.

Vielleicht hilft es jemand weiter, der auf ein ähnliches Problem stößt :-)

0 Kommentare:

Kommentar veröffentlichen