Érdekes tree parancs

Adva vagyon egy Hitachi 2terás vinyó melyről az alábbi paranccsal szoktam készíteni egy listát:

tree --charset UTF-8 -N /media/mobilrack_03/Filmek/ > /mnt/Dokumentumok/Txt/mobilrack03.txt

Azt vettem észre hogy egyes fájlokat kihagy. Jelenleg 2-ről tudok.
Az "ls" mutatja, a "tree" nem.

Próbáltam már átnevezést, letörlést, újbóli másolást más névvel, újra átnevezve, de hiába. Ékezeteket kihagyva, betéve, ugyanígy szóközökkel is.
A film ott van, és le is lehet játszani. A "tree" viszont még akkor sem listázza ki, ha direktben belépek a mappába.

A vinyó ext3-ra van formázva. Általában egy Samsung UE32C5000QW-re dugva csücsül. Igen látja az ext3-at. A D-s széria nem. Sajna az utf8-at viszont felirat terén nem komálja, de már eltértem a tárgytól.
Ez a vinyó a haveromé.

Nekem is van egy ilyen ugyanezekkel a paraméterekkel, de nekem nincs hozzá ilyen tévém. Én egy ASUS Oplay-ra dugtam.
Nálam úgy vettem észre nincs gond. Ugyanazokat a fájlneveket nálam kilistázza.
Mi lehet a gond? Mind a két gépen ugyanaz a Mageia 1 disztró van, illetve nem egészen. Az egyik, az enyém 64bites.

Hozzászólások

"enyém 64bites"
Lehet hogy éppen itt bújik meg a hiba. A tree 32 bites megvalósítása - vagy egy általa használt 32 bites dinamikus könyvtár (xxx.so) - lehet hibás.

Számodra "bug", de természetes.

Próbáld ki ezt
strace tree
mindkét gépen.

Látsz majd olyan sorokat, hogy stat/lstat ill. stat64/lstat64.
Előbbi függvények (legalábbis LFS nélkül) olyan struktúrát használnak, amelyben a méret 32bites, amelyben nem fér el a nagy fájlok mérete. Valószínűleg mélyen a 32 bites tree lelkiben ezek a függvények visszaadnak egy hibát jelző -1-et, amit a tree maga szótlanul lenyel, és nem mutatja a fájlt.

Egyébként ezzel analóg helyzetet látsz, ha LFS nélküli mc-vel kóborolsz nagy fájlokat tartalmazó könyvtárak között, csak az mc közli, hogy nem tudta kiolvasni ennekmegannak a fájlnak az adatait, aztán meg sem jeleníti:

Error File 'xyz' exists but can not be
stat-ed: Value too large to be stored in data type.

Hát, ha tényleg a 32 bites limit átlépése a probléma, akkor:

- a tree paraméterei között keresni olyasmit, hogy a fájlméretet ne olvassa (vagy van ilyen, vagy nincs) és az vagy segít, vagy nem
- másik tree (vagy újabb) parancsot kell keresni
- másik parancsot (pl. find) kell használni
- írni kell egy új tree-t

Legalábbis én errefelé haladnék.

Nos közben megtaláltam a tree honlapját, és ott látom hogy

Version 1.4
Added large file support under Linux.

Én a tree-1.5.3-2.mga1 csomagot használom. Először megkérdezem a szerzőket.

De hoppá, most újra leellenőriztem és ezek szerint más jellegű a probléma:

$ tree -h
.
├── [377M] archlinux-2011.08.19-core-x86_64.iso
├── [169M] debian-6.0.5-amd64-netinst.iso
├── [839M] EasyPeasy-1.6.iso
├── [645M] Fedora-17-x86_64-Live-Desktop.iso
├── [801M] linuxmint-13-cinnamon-dvd-64bit.iso
├── [4.0K] Mageia-2-dual-CD
│   ├── [ 80K] Mageia-2-dual-CD.idx
│   ├── [692M] Mageia-2-dual-CD.iso
│   ├── [ 55] Mageia-2-dual-CD.iso.md5
│   ├── [ 652] Mageia-2-dual-CD.iso.md5.gpg
│   ├── [ 63] Mageia-2-dual-CD.iso.sha1
│   └── [ 661] Mageia-2-dual-CD.iso.sha1.gpg
├── [3.4G] Mageia-2-i586-DVD.iso

Ezek szerint mégis kilistázza a nagy fájlokat. De filmek esetében miért nem?