Der Martin: Gelöst: HTTP-Downloads und Datei-Berechtigungen

Beitrag lesen

Guten Abend ...

ich hatte vor einiger Zeit mal in die Runde gefragt, ob jemand erklären könnte, warum Downloads bei mir manchmal mit abweichenden Datei-Berechtigungen gespeichert werden (normalerweise 0664, manchmal aber auch 0644 oder sogar 0600). Jetzt habe ich des Lösels Rätsung gefunden.

Der Server kann nichts dafür, HTTP auch nicht. Auch die Browser sind in diesem Fall unschuldig. Der Bösewicht ist Caja, der Standard-Dateimanager des MATE-Desktops, der nicht immer das anzeigt, was wirklich da ist.

Folgendes läuft da ab: Wenn ich in Firefox oder Pale Moon eine Datei archive.zip herunterlade, um sie zu speichern, erzeugen beide Browser zu Beginn des Downloads zwei Dateien im Zielverzeichnis.

  • archive.zip dient nur als Platzhalter für die fertig heruntergeladene Datei und hat während des gesamten Downloads eine Größe von 0 Byte. Diese Datei wird zunächst mit 0600 angelegt.
  • archive.zip.part ist die tatsächliche Download-Datei, die kontinuierlich wächst. Diese Datei wird mit 0644 angelegt.

Ist der Download beendet, löscht der Browser die Platzhalter-Datei archive.zip, benennt dann archive.zip.part in archive.zip um und ändert schließlich die Berechtigungen auf 0664.

Und hier kommt die Unfähigkeit von Caja ins Spiel: Der pennt manchmal und kriegt Veränderungen im aktuell angezeigten Verzeichnis nicht richtig mit. Und da er außerdem ein aggressives Caching für die Verzeichnisdaten praktiziert, zeigt er dann manchmal stunden- oder tagelang veraltete Informationen an. Sogar wenn man zwischendurch in ein anderes und dann wieder zurück zum Download-Verzeichnis wechselt, holt er einen Teil der Metadaten wieder aus seinem Cache, anstatt sie neu aus dem Filesystem zu lesen. Erst wenn ich F5 drücke und damit ausdrücklich ein Reload auslöse, werden die Verzeichnisdaten neu gelesen.

Dieses Caching ist IMO unnötig wie ein Kropf und war mir schon öfter ein Dorn im Auge, weil es Arbeitsspeicher kostet und auf Systemen mit knappem Speicher beim Wechsel von einem Verzeichnis in ein anderes gern erstmal eine Swap-Orgie auslöst. Während ich dann auf die Anzeige des Verzeichnisses warte, wird in der Statuszeile noch der freie Speicher auf dem Datenträger zum Zeitpunkt des letzten Zugriffs von Caja auf dieses Verzeichnis angezeigt.

Ich habe schon mehrfach recherchiert, ob man dieses Caching nicht abstellen kann.
Anscheinend nicht.

Live long and pros healthy,
 Martin

--
Wer respektiert werden will, sollte zunächst damit anfangen, andere zu respektieren.