Amikor először olvastam arról, hogy az M-Disc tárolási technika 1000 éves adattárolást garantál, akkor azt mondtam magamban: „Ha ebből 30-40 év valóban igaz, akkor nekem szükségem van erre a technológiára. Valójában olyan optikai tárolási módról van szó, ahol a lemezek hordozóanyaga az, ami ilyen különleges adatmegőrzési képességet biztosít.
Ideális arra a célra, hogy az 1987 óta összegyűlt számítógépes forráskódjaimnak, szövegeknek és egyéb olyan adatnak gyűjtőhelye legyen, amit más forrásból nem lehet visszanyerni, ha esetleg az eredeti állományokkal történne valami. Körülbelül 20 gigabyte-nyi adatról van szó, pontosan elfér egy Blu-Ray M-Disc lemezen.
Előkészületek
Két egyszerű dolgot kellett volna tudnom, mielőtt hozzákezdtem volna az archiváláshoz:
1. Nem minden M-Disc Blu-Ray.
Rákerestem az Interneten az M-Disc író eszközökre, és meg is rendeltem nagyjából 10 000 Ft-ért egy ASUS M-Disc írót. Nem is lett volna ezzel semmi baj, csak, amikor beletettem egy Blu-Ray M-Disc-et, akkor jelezte, hogy ő ezt a típust nem tudja kezelni. Igen, mert ő M-Disc lemezek kategóriájában csak a DVD lemezekhez értett. Akkor döbbentem rá, hogy DVD is lehet M-Disc, hiszen az M-Disc az adathordozó típusára utal, és nem a lemez méretére. A DVD M-Disc viszont (igaz hogy hosszú tárolási idő mellett,) de csak 4.7 gigabyte-os kapacitású.
Vennem kellett egy igazi Blu-Ray írót, olyat, ami kezeli az M-Disc-et is. Nagyjából 40 000 Ft-ért meg is vettem egy Verbatim Blu-Ray hordozható írót, ami ugyan Pioneer márkájúnak vallja magát, de végül is az is egy ismert márka. Az íróhoz járt egy Nero CD-DVD-Blu-Ray író program, nem a legfrissebb és nem is a legjobb program, de hát a semminél jobb.
2. Nem minden Blu-Ray M-Disc.
Ez akkor derült ki, amikor azt láttam, hogy vannak 50 gigabyte-os, sőt 100 gigabyte-os Blu-Ray lemezek is, ez utóbbiak ára kicsit magas, de a dupla rétegű és méretű lemez elég jó áron hazavihető. Aztán jöttem rá, hogy ezek a Blu-Ray lemezek nem M-Disc technológiájúak, hiszen a dupla réteg nem valósítható meg azzal a hordozóanyaggal, ami az M-Disc megbízhatóságát adja.
Összegezve: ha forráskódot, dokumentumokat, saját írásokat szeretnénk hosszú távra megőrizni, akkor használjuk az M-Disc Blu-Ray lemezeket, 25 gigabyte kapacitással. Ha nagyobb hordozóra van szükség, de nem szükséges a szélsőséges tárolási idő, akkor a Blu-Ray minden kategóriája jó. Különösen szerencsés, hogy újraírható Blu-Ray lemez is van (persze ez sem M-Disc), ezek a kísérletezéshez nagyon kellenek, majd meglátjuk, miért.
Az első mentések
Összeállítottam a kiírandó anyagot, kitakarítottam a felesleget, és azon nyomban megírtam egy 50 gigabyte-os lemezt. Ezekből is vettem, de ezek ugye nem M-Disc-ek, de ha már ott voltak, miért ne írjak ki rá mindenfélét. Egyszer írhatóak, tehát nem kell félni attól, hogy később véletlenül törlöm a tartalmat.
Amikor az ember felír egy adathordozót, azt elhelyezi egy biztonságos helyen, de ha valamit le akar róla olvasni, akkor tudnia kell, hogy mi is van pontosan a lemezeken. Ezért érdemes a számítógépre egy megfelelő helyre készíteni egy listát a „dir /s” paranccsal, a kimenetet egy állományba átirányítva.
Ekkor ért a meglepetés (az első): a lista túl hamar elkészült, és rögtön láttam, hogy nem a teljes tartalom szerepel rajta. Rájöttem, hogy egy bizonyos alkönyvtár mélység alatti alkönyvtárak üresek, és amikor a dir parancs ezekhez ér, nem tud tovább listázni, és kilép.
Ugyanakkor a lemez túlnyomó része rendben volt, közvetlenül elérhető volt az egész lemez, csak ugyebár listázni nem lehetett, és bizonyos, túl mélyen lévő alkönyvtár struktúrák hiányoztak.
A kutakodás
Vajon milyen korlát érvényes ezekre a lemezekre. Hamar rájöttem, hogy csak az ISO9880+Joliet kiterjesztés a jó választás, a többinek igen kellemetlen korlátai vannak, viszont a Joliet-ről is csak annyit tudtam meg, hogy 8 alkönyvtárnál többet is megenged. Hogy pontosan mennyit, arról mélyen hallgat mindenki. Aztán az kezdett el érdekelni, hogy vajon a Nero miért nem jelezte, hogy túl mély a könyvtár struktúra?
Kipróbáltam jó néhány programot, és ehhez nagyon jól jöttek az újraírható lemezek, mert amikor kiderült, hogy megint csak hiányoznak könyvtárak, le tudtam törölni a lemezt az új kísérlethez. Ekkor jött a második meglepetés: egyik író program sem jelezte a problémát a könyvtárakkal kapcsolatban. Még olyat is próbáltam, hogy előbb ISO állományt készítettem, azt csatoltam fel, és arról próbáltam dir listát kérni, újra csak nem futott végig a program. Nem az írókkal volt egyedül probléma, az ISO készítő programok is elbuktak a teszten.
A következtetés
Rá kellett döbbennem, hogy ez egy olyan probléma, aminek hivatalos, jó megoldása nincsen, az egyetlen járható út, ha a felírás előtt mindenki maga gondoskodik róla, hogy maximum 12 könyvtár mélységű legyen az adatszerkezet.
Sebaj, keressünk olyan programot, ami kiírja a maximális alkönyvtár mélységet, kilistázza a túl mélyen lévőket, és esetleg még javítja is ezeket. A törlésen kívül a másik logikus megoldás, hogy a mélyen lévő alkönyvtárat egy zip állományba tömörítjük a szülő könyvtárban, majd az eredetit töröljük, így az adat is megmarad, és a struktúra is jó lesz.
Harmadik meglepetés: jelenleg mindenféle bash és powershell szkripten kívül nincs olyan Windows program, ami képes lenne erre a mutatványra, hogy egy kiírandó adatállományról véleményt mondjon, érdemes-e Blu-Ray, DVD vagy CD lemezre írni.
A köztes megoldás
Amikor kiderült ez a probléma, gondoltam, betömörítek mindent zip-pel, és úgy írom ki, ekkor nem lehet probléma az alkönyvtár mélység korlát. Amikor azonban az első 2 gigabyte-nál nagyobb zip-hez érkezett a Nero a kiíráskor, akkor közölte, hogy ez már túl nagy ennek a lemezformátumnak (negyedik meglepetés, de legalább szólt a program). Újra kellett tehát mindent tömöríteni, úgy, hogy minden könyvtár zip állománya 2 gigabyte-nál kisebb legyen, ahol ez nem jött össze, ott megmaradt a könyvtár, és az alkönyvtárait tömörítettem egyenként. Ahol ismét túl nagy volt a létrejött zip, ott egy szinttel lejjebb megismételtem ugyanezt az eljárást, vigyázva persze, hogy 12-nél mélyebben ne legyen könyvtár.
Kiírtam ebből a változatból 2 db 50 gigabyte-os Blu-Ray lemezt, ami már dir-rel természetesen listázható volt. De ugye ez nem volt M-Disc, és ha valamire szükség volt, akkor azokat előbb a zip file-okból ki kellett venni, de ez azért nem olyan nagy probléma. És mivel a tömörítés miatt kevesebb volt a kiírandó adat mérete, sok olyasmit is kiírtam így, amit eredetileg nem terveztem, ez talán a pozitív hozadéka ennek a módszernek.
A jó megoldás
Természetesen nem nyugodtam meg, tudtam, amíg nincs egy-két tökéletes 25 gigabyte-os M-Disc archívumom, életem eddigi összes alkotásáról, addig nem hagyom abba a kísérletezést.
Ekkor ért az egyetlen pozitív meglepetés: rábukkantam a https://raywoodcockslatest.wordpress.com/2016/02/25/counting-the-number-of-subdirectory-levels/ web oldalon arra a megoldásra, ami bár munkaigényesen, de zseniálisan oldotta meg a problémámat.
Készítsünk egy listát az archiválandó könyvtárról a „dir /s /ad /b” paranccsal. Ebben a listában csak a könyvtárak (alkönyvtárak) lesznek benne, a file-ok nem, és csak a nevük, semmi egyéb.
Másoljuk ki a listát a vágólapra, nyissunk egy új Excel táblát, majd az A1 mezőbe illesszük be a listát. Lesz egy hosszú A oszlopunk. A B1 cellába írjuk bele:
=HOSSZ(A1)-HOSSZ(HELYETTE(A1;”\”;””))
Láthatjuk a zseniális megoldást, ami nekem nem jutott volna eszembe, és amiért meg is dicsértem a szerzőt egy kommentben. Az alkönyvtárak számát a „\” jelek száma alapján határozza meg, ezt pedig úgy éri el, hogy az eredeti név hosszából kivonja annak a névnek a hosszát, amiben a „\” jeleket törli, a hossz különbség pontosan a „\” jelek számát adja a névben, ez pedig megadja, hogy hány alkönyvtár van abban az elérési útban.
Ezután csak a formulát kell az összes sorra bemásolni, erre van egy kényelmes Excel megoldás, kétszer kell kattintani a cella jobb alsó sarkában megjelenő jelen, és az Excel a cellákba bemásolja a formulát, addig a sorig, ahol még nem üres az A cella. Ezután csak rendezni kell a táblát a B oszlop szerint csökkenő sorrendben, és máris kiderül, hogy esetemben például 17 volt a legnagyobb szám. Megkerestem az első 12-es sort, elé betettem egy üres sort, hogy tudjam, mely könyvtárakat kell kiigazítanom.
Elég hosszú kézi munka következett, mert volt, amit törölni tudtam, mert nem volt fontos, de volt, amit zip-pel tömörítettem, és csak utána töröltem, hogy azért megmaradjon. Ezt nem tudtam semmilyen programra rábízni.
Mondanom sem kell, többször is neki kellett futnom, de amikor a végső ellenőrzés már azt mutatta, hogy 12 van az Excel tábla legelső sorában, akkor már tudtam, hogy indulhat az írás.
Így készült el a 2 tökéletes 25 gigabyte-os M-Disc, amin életem eddigi alkotómunkájának eredménye található, hiánytalanul, és ami vélhetőleg 1000 évig használható is lesz.
Nehéz volt eddig eljutni és kijózanító is egyben látni, hogy mennyire elnagyoltak és hiányosak ezek a megoldások, hogy nincsenek leírások, egyértelmű specifikációk, hogy a web áruházak mennyire csekély információt adnak egy-egy eszközről, cikkről, hogy mindennek úgy kell utánajárni, és van, amire még az Internet sem mindig ad megoldást.
És jó, hogy vannak segítőkész emberek, akik zseniális megoldásokat adnak olyan problémákra, amiknek nem is lenne szabad létezniük. Jelen esetben az író eszköznek kellett volna jeleznie a problémát az írás előtt, és ha rákattintok a Help menüre, akkor nem a cég web oldalára kellene mennie, ahol semmilyen információ nincs, hanem közölnie kellene a fellépő hiba okát, nevezetesen azt, hogy túlléptem a 12-es alkönyvtár mélység korlátot.
Végül sikerrel és rengeteg tanulsággal zárult a projekt, de a számítástechnika jelenlegi állapotát illetően egyáltalán nem vagyok nyugodt és elégedett.
És ha lesz időm, elkészítem azt a Windows programot, ami egy könyvtárstruktúrában meg tudja találni, majd ki is listázza az egy bizonyos mélységben, vagy az alatt lévő könyvtárakat, és természetesen a programot közkinccsé is fogom tenni, hogy másnak ne kelljen azt végigjárni, amit nekem kellett.
A profit éhség egyre inkább a minőség és a professzionalitás ellen hat, és hogy ennek milyen mélyen van a határa, arra nem olyan könnyű rátalálni, mint a Joliet file-rendszer kiterjesztés 12-es mágikus számára.