Hallo,
ich habe die letzten Tage über Nextcloud geflucht, weil einige Musikdateien
einfach nicht gesynct werden wollten.
Dann habe ich die externe SD Karte aus dem Android Handy genommen und
mit einem Adapter am Laptop angeschlossen. Und: Das gleiche.
Die Dateien ließen sich nicht kopieren.
Es hat eine Weile gebraucht. Jetzt kenn ich die Ursache: Das Dateisystem
auf der SD-Karte unterstützt nur Dateinamen bis zu einer gewissen Länge.
Also ist Nextcloud unschuldig.
Aber was nun?
Die vielen Dateinamen anzupassen ist aufwändig.
Welches Dateisystem ist unter Android zu empfehlen?
Gruß,
Thomas
On Thursday, 19 September 2019 19:45:34 CEST Thomas Güttler Lists wrote:
Es hat eine Weile gebraucht. Jetzt kenn ich die Ursache: Das Dateisystem
auf der SD-Karte unterstützt nur Dateinamen bis zu einer gewissen Länge.
[cut]
Die vielen Dateinamen anzupassen ist aufwändig.
Welches Dateisystem ist unter Android zu empfehlen?
die /proc/filesystems auf meinem Handy sagt sie kann: vfat, ext2-4, f2fs
vfat: die ganze Familie hat eine Limitierung von 260 Zeichen, ist aber mit Windows kompatibel
Wenn Du die Karte nicht in ein Windows stecken willst kannst Du auch die anderen Probieren:
ext4: schnell, nahezu unbegrenzte Dateinamen, die selben Hardware-Limits wie FAT - irgendwann geben ein paar Flash-Zellen auf wenn Du häufig schreibst --> die richtige Wahl wenn Du nur moderat (über-)schreibst, aber beliebig liest
f2fs: ist ext ähnlich, aber für Schreiben auf Flash optimiert --> wenn Du häufig schreibst, sonst ist ext4 einfacher
Konrad
Hallo Konrad,
On Fri, Sep 20, 2019 at 12:04:35 +0200, Konrad Rosenbaum wrote:
die /proc/filesystems auf meinem Handy sagt sie kann: vfat, ext2-4, f2fs
Auf neueren SD-Cards findet man auch haeufig exfat als Dateisystem. Exfat stammt von Microsoft und soll eine Art Nachfolger von fat/vfat sein, damit u.a. Dateien > 4 GB Groesse moeglich sind. Die maximale Pfadnamenlaenge ist aber eine generelle Windows-Beschraenkung, deshalb vermute ich, dass exfat dort auch nicht besser sein wird als fat/vfat.
Exfat wird von Linux ueber FUSE unterstuetzt, koennte also auch mit Android laufen.
Eine kuerzlich gekaufte externe USB-SSD (Samsung Portable SSD T5) war auch mit exfat eingerichtet. Da ich diese SSD ausschliesslich an Linux-Notebooks/Desktops verwende, habe ich stattdessen ext4 genommen.
@Thomas: Du hast noch nicht verraten, welches Dateisystem aktuell auf Deiner SD-Card ist -- also mit welchem das Problem auftrat.
Gruss, Christian
Am 20.09.19 um 12:34 schrieb Christian Perle:
@Thomas: Du hast noch nicht verraten, welches Dateisystem aktuell auf Deiner SD-Card ist -- also mit welchem das Problem auftrat.
fat/vfat oder so etwas. Nicht das neue exfat. Ich kann es gerade nicht prüfen.
https://en.wikipedia.org/wiki/ExFAT sagt:
Max. filename length 255 characters
Hilfe! Das ist wirklich traurig. Gut, dass MS-Windows bei mir keine Rolle mehr spielt.
Als werde ich wohl ext nehmen. Oder mal f2fs ausprobieren.
Danke für die Infos. Thomas
Hallo Thomas,
On Fri, Sep 20, 2019 at 15:09:59 +0200, Thomas Güttler wrote:
https://en.wikipedia.org/wiki/ExFAT sagt:
Max. filename length 255 characters
Hilfe! Das ist wirklich traurig. Gut, dass MS-Windows bei mir keine Rolle mehr spielt.
Moment...
Die maximale Dateinamenlaenge ist auch unter Linux 255 Zeichen. Die maximale Pfadlaenge ist unter Linux 4096 Zeichen.
Siehe auch include/uapi/linux/limits.h in den Kernelsourcen.
Gruss, Christian
Hi,
On 9/20/19 3:24 PM, Christian Perle wrote:
Moment... Die maximale Dateinamenlaenge ist auch unter Linux 255 Zeichen. Die maximale Pfadlaenge ist unter Linux 4096 Zeichen.
Das ist unter vFAT genauso, nur dass es bei allen modernen Windows-Dateisystemen UCS-2 Character sind und nicht Bytes.
Das interessante Limit bei Windows ist die Pfadlänge und die ist 260 Zeichen in der normalen Win32-API und 32k in einer erweiterten API, die aber kaum ein Programm benutzt (noch nicht einmal Windows Explorer). Soweit ich weiß versucht Linux in den Standardeinstellungen dieses Limit für Windows-Dateisysteme zu forcieren, damit der Datenträger unter Windows funktioniert - es könnte Mount-Parameter geben um das zu ignorieren. Letzteres würde unter Android aber nicht viel helfen, da man keine Kontrolle über den Mountprozess hat.
Konrad
lug-dd@mailman.schlittermann.de