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.
- 5132 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
A hiba továbbra is fennáll, és azokat nem listázza ki, mely fájlok mérete => 2 GiB
Ez talán egy bug?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Jó, és mi a megoldás, hogy viszontlássam a fájljaimat egy jegyzékben?
Ez a tree nagyon szimpatikusan tette a dolgát.
Ezzel készítettem magamnak egy txt listát a külső vinyón lévő filmjeimről. Mivel váltsam ki ha ez nem működik az elvárásaimnak megfelelően?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
Ha eddig nem tetted meg, ez így már tényleg megérne egy strace/ltrace indítást.
- A hozzászóláshoz be kell jelentkezni
Attól tartok, a 64bitre felkészített tree szükséges, de nem elégséges, ui. a stat függvények mintha a libc-n keresztül volnának elérhetőek...
- A hozzászóláshoz be kell jelentkezni