Gibt es ein FUSE-Overlay-Dateisystem, das:
* "zu lange Dateinamen" für das zugrunde liegende Dateisystem selbst auflöst
* andernfalls (für Dateinamen, die in die Grenzen des zugrunde liegenden Dateisystems passen) nur Proxy 1:1
?
Beispiel wie das funktionieren könnte:
für jede Datei fabc...yxz
Wenn der Dateiname für das zugrunde liegende Dateisystem zu lang ist, übersetzen Sie diesen in einen kürzeren Namen und verwenden Sie die zweite Datei als Metadaten mit vollständigen Dateinamendetails.
Anwendungsfall:
Einschränkung verschlüsselter Dateisysteme wie EncFS oder ecryptfs. Sie bieten beim Verschlüsseln von Dateinamen die Möglichkeit, Dateinamen zu speichern, die kürzer sind als im zugrunde liegenden Dateisystem, was dazu führt, dass Sie Inhalte, die längere Dateinamen erfordern, nicht mit ihnen synchronisieren können. (Beispiel:Ext4 hat 255 B, ecryptfs auf ext4 erlauben 143 B an Dateinamen).
Beispielprobleme rsync
Berichterstattung:
rsync: mkstemp "/mnt/naswaw2016/ext4/asusm2n1934/enc/home/gwpl/dane/cs/reed-solomon/.CS-05-569 - reed-solomon [vg][vgvg] - Optimizing Cauchy Reed-Solomon Codes for Faul
t-Tolerant Storage Applications - by James S. Plank.pdf.CwyPQH" failed: File name too long (36)
Einige Referenzen:
- dieselbe Idee wurde bereits früher vorgeschlagen:https://github.com/vgough/encfs/issues/7#issuecomment-160678136
- ecryptfs-Fehler, der das Problem beschreibt:https://bugs.launchpad.net/ecryptfs/+bug/344878
- SE-Antwort zu Dateinamenbeschränkungen von ecryptfs:https://unix.stackexchange.com/a/32834/9689
- escryptfs-Bug mit rsync-Anwendungsfall:https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/592303
(P.S. Und ja – ich bin mir bewusst, dass ich mit LUKS auf Blockschicht verschlüsseln kann, aber die Verschlüsselung über der fs-Schicht ist so viel besser für meinen Anwendungsfall, dass ich lieber dabei bleiben würde)