Thursday, March 3, 2011

මුදවාගැනීමේ මහා මෙහෙයුම සහ තවත් මෙහෙයුමක්

මම නිහඬව හිටපු කාලේ කරදර වුණා කියල මම කිව්වනෙ මගෙ ඕවර්හීට් වෙච්ච බ්ලොග් පෝස්ට් එකෙන්... මේ ඒ කරදර වලින් එකක් තමා. අවදානම් ඇක්ස්පැරිමන්ට් කරන්න ගිහිං මගේ ලැප්ටොප් එකේ හාඩ් ඩිස්ක් එකට තවත් වරක් කෙළැ වී ගියා. කොහොම කොහොම හරි මේකට විසඳුම මතක් වුණා ටිකක් වෙලා ගිහින්. ඒ තමා Testdisk කියන අපූරු මෘදුකාංගය.

---

මගේ හාඩ් ඩිස්ක් එකේ /home partition එක පත සයිස් එකක්. ගිගාබයිට් අසූවක් අනූවක් විතර ඇති. /home සඳහා අතිවිශාල ඉඩක් වෙන් කරන එක ඒ තරම් හොඳ දෙයක් නෙමෙයි කියල මම තේරුම් ගත්තෙත් මේ සිද්ධියෙන්. මේකෙ ප්‍රමාණය සම්බන්ධව පොඩි සීරුමාරුවක් කරන්න මට ඕනෙ වුණා. ඉතිං Ubuntu Live එකකින් බූට් කරලා වැඩේ වෙන්න තියලා මම පොඩි රවුමක් එහෙම ගියා. ලොකු partition එකක් නිසා වැඩේට ලොකු කාලයක් ගත වෙනවා. මම ගිහිං එනකොට ප්‍රධාන විදුලිය විසන්ධි වෙලා. බැටරිය බැහැලා. අවුරුදු තුනක් පරණ මගේ ලැප්ටොප් එකේ බැටරිය ආරෝපණ තත්වය අතිශයින් සතුටුදායක නොවැ. අනේ අපොයි! කියාගෙන බැලුවා මොකද වෙලා තියෙන්නෙ කියල. මගේ සබ්බසකලමනාවම තිබුණු /home partition එක අතුරුදහන්! O_o

ඉතිං දැන් මේකට දුක් වෙලා තැවිලා වැඩක් නෑ නෙව. කල්පනා කළා නැති වුණු ඒවා හොයාගන්න ක්‍රමයක් ගැන. අන්න එතකොට තමා Testdisk මතක් වුණේ. නැති වුණු විබෙදුම් (partitions) එහෙම්පිටින්ම ගොඩගන්නත්, මකාදැමුණු ගොනු නැවත පිහිටුවන්නත් Testdisk ගජ හපනා. කිව යුතු වැදගත් දෙයක් තියෙනවා. ඒ Testdisk මගින්, හානි වූ විබෙදුම් සහ ගොනු සොයා ගන්නේ ඒ හානි වූ දත්ත වල දැනට ඉතිරි වී ඇති "සලකුණු" අනුව බව. මේ ඉතිරි වූ සලකුණු අනුව අදාළ ගොනුවට අයත්ව තිබූ දත්ත කොටස් නැවත සොයාගෙන ඒ ඇසුරින් ගොනුව ප්‍රතිපිහිටුවනු ලබනවා. අපි දෘඩ තැටිය මත නැවත ලිවීමක් කළොත්, ඒ කියන්නෙ ගොනුවක් save කළොත්/ මෘදුකාංග පිහිටුවීම් හෝ ඉවත් කිරීම් කළොත්, නැවත  නැවතත් ආකෘතිගත කළොත් මේ ඉතිරි වුණු "සලකුණු" වලටත් හානි වෙන්න පුළුවන්. එහෙම වුණොත් ඉතිං කාලා හමාරයි.

ඒ නිසා පළවෙනිම කාරණය, අපට ප්‍රතිපිහිටුවන්න අවශ්‍ය දත්ත තියෙන දෘඩ තැටියමත ලියන්න ඉඩ නොදී එය ප්‍රවේසම් කර ගන්න එක. ඒ දෘඩ තැටිය මත දැනට මෙහෙයුම් පද්ධතියක් ස්ථාපනය කරල තියෙනවනම් ඒ මෙහෙයුම් පද්ධතියෙන් පරිගණකය ක්‍රියාරම්භ කිරීමත් එතරම් හොඳ දෙයක් නෙමෙයි. මොකද මෙහෙයුම් පද්ධතියක් ක්‍රියාරම්භ වීමෙදි ඒ සමඟම ස්වයංක්‍රීයව ධාවනය වන සමහර මෘදුකාංග වලින් දෘඩ තැටිය මත නැවත ලිවීම් ඇති කරන්න පුළුවන් නිසා.

වඩාත්ම සුදුසු දේ තමයි වෙනත් දෘඩ තැටියකින් හෝ සජීව මෙහෙයුම් පද්ධතියකින් (Live OS) පරිගණකය ක්‍රියාරම්භ කරලා ගොනු ප්‍රතිපිහිටුවීම කරන එක. ඉතින්, 95% විතර සාර්ථක වුණු මගේ මේ ගලවාගැනීමේ ප්‍රයත්නයෙ ඉතිරි ටික සිද්ධ වුණේ මෙන්න මෙහෙමයි. මුලින්ම Ubuntu Live CD එකෙන් පරිගණකය ක්‍රියාරම්භ කරලා testdisk භාගත කරගත්තා.

Testdisk ධාවනය කරන්න කලින් කළ යුතු තවත් දෙයක් තියෙනවා. ඒ, පරීක්ෂාවට ලක් කරන දෘඩ තැටිය සම්පූර්ණයෙන් නිදහස් කර ගන්න එක. දැනට mount කරල තියෙන විබෙදුම් unmount කරන එකත්, swap විබෙදුම් තිබෙනවා නම් swapoff විධානය මගින් ඒවා නිදහස් කරගන්න එකත් වැඩේට පහසුවක් වෙනවා.

sudo umount /dev/sda*
sudo swapoff -a
tar xvfj testdisk-6.11.3.linux26.tar.bz2
cd testdisk-6.11.3/linux
sudo ./testdisk_static

මූලික භාවිතයෙදි ලඝු සටහන් එතරම් අවශ්‍ය නොවෙන නිසා මේ අදියර නොතකා Enter කරලා ඉදිරියට යන්න පුළුවන්

මගේ /home වලට අදාළ විබෙදුම සම්පූර්ණයෙන්ම නොපෙනී ගිහින් තිබුණු නිසා මම මුලින්ම කළේ නැති වුණු විබෙදුම සොයාගන්න එක. මෙන්න මෙහෙමයි අංජනම බැලුවේ... :)

අදාළ දෘඩ තැටිය තෝරාගන්නෙ මෙතනින්

මේ මෘදුකාංගය භාවිතයෙදි අපි පසුකරන හැම පියවරක් පාසාම අපි තෝරගන්න විධාන වලින් වෙන්නෙ මොනවද කියල කෙටි සටහනක් තිරයෙ පහතින්ම දක්වනවා. ඒ නිසා පාවිච්චිය හරි පහසුයි. තමන් කරන්නෙ මොකක්ද කියල දැනගෙන කළාම හොඳටම ඇති. දෘඩ තැටිය විශ්ලේෂණය (Analyze) කිරීමේ විධානය දීල ඉදිරියට ගියාම මෙන්න මේ වගේ තැනකට ආවා,


මෙතනින් එහාට මෙහාට සීරුමාරු කරල බැලුවාම (← / → යතුරු මගින්) කලින් තිබුණු විබෙදුම් ව්‍යූහය (partition structure) හොයාගන්නත් පුළුවන්. විබෙදුම් අන්තරස්දාන වෙලා නම්, පෙර තිබුණු විබෙදුම් ව්‍යූහය හොයාගන්න වෙනවා. ඒකට පෙර තිබුණු ආකාරය ගැනත් පොඩි මතකයක් ඕනේ. විබෙදුම් වලට ලේබල නොතිබුණොත් සමහරවිට කොයි එක මොකක්ද කියල හොයාගන්න බැරි වෙන්නත් පුළුවන්. ඒ වෙලාවට Size in sectors කියල තියෙන කොලමෙන් දළ අදහසක් ගන්න පුළුවන්.

ඉහත තිරපිටපතේ පෙන්නන දේවල් වලින් කීපයක් විස්තර කළොත්,
Structure: Ok. -- අපි සීරුමාරු කරල තෝරගත්ත විබෙදුම් ව්‍යූහය වලංගු එකක් බවයි මේකෙන් කියන්නේ.
Enter: to continue -- මෙතනින් ඉදිරියට යන්න කියලනේ කියන්නේ. ඔව්, ඉදිරියට ගියාම මේ විබෙදුම් ව්‍යූහය ස්ථිර කරන්න (Write to disk) පුළුවන් කැමති නම්. ඒත් ඒක ටිකක් හිතල මතල කරන්න ඕනෙ දෙයක්.
P: list files -- තෝරාගත් විබෙදුම් ව්‍යූහය ස්ථිර නොකර වුණත්, දැනට තෝරල තියෙන විබෙදුමේ තියෙන (තිබුණු) ගොනු මොනවද කියල මෙතනින් පරීක්ෂා කරල බලන්නත්, අවශ්‍ය නම් (කොහොමත් අපට අන්තිමේ අවශ්‍ය ඒකනෙ :P) ආචයන මාධ්‍යයකට (storage media) පිටපත් කරගන්නත් පුළුවන්.

ඔන්න ඔය පියවරෙන් ඔබ්බට යන්න මම එතන තිබුණු ලොකුම විබෙදුමේ ගොනු පරීක්ෂා කරල බැලුවා (P). යංතං හිතට සහනයක් ආවේ සබ්බසකලමනාවම තියෙනව දැකල. ඒව ලැයිස්තුගත වෙලා තිබුණෙ රතෙන්. ඒ කියන්නෙ මකාදැමූ ගොනු විධියට. බොහෝවිට ගොඩගන්න පුළුවන් වෙයි. නමුත් අතරින් පතර එකක් දෙකක් හානි වෙලා තියෙන්නත් පුළුවන්. සියල්ල හරි වගේ පෙනුන නිසා ආපස්සට ඇවිත් Write to disk කියන විධානයට කොටලා ඒ විබෙදුම ආපහු සකස් කළා.

සියල්ල හරිය කියල හිතාගෙන මම testdisk නවත්තලා ගොඩගත්ත විබෙදුම mount කරල බැලුවා. ඒත් ඒකෙ මොකුත් නෑ නෙ! O_o හිස්. එක අතකින් බැලුවම මට ඒක අපේක්ෂා කරන්න තිබුණා. ගොනු ටික ලැයිස්තුගත කළාම පෙන්නුවෙ මකාදැමූ ගොනු (deleted files) විධියටනෙ. ආපහු වතාවක් testdisk ධාවනය කරලා කලින් තැනටම ආවා. ඔව්, මකාදැමූ ගොනු විධියට තාමත් ඒවා පෙන්නනවා.

c to copy -- මෙතනින් තමා ගොනු ප්‍රතිපිහිටුවන්නේ

දැන් තමා ඊළඟ ගැටළුව මතු වුණේ. දෘඩ තැටියෙ සම්පූර්ණ ධාරිතාවයෙන් 65% පමණ ප්‍රමාණයක ගොනු ප්‍රතිපිහිටුවන්න අවශ්යව තිබුණා. වෙනින් විබෙදුමක් පාවිච්චි කරන්නත් ඉඩ මදි. මේ දෘඩ තැටියම පාවිච්චි කළොත් ම ඉහත කිව්ව "සලකුණු" මැකෙනවා. Overwrite වෙනවා. එහෙම වුණොත් නං හොයලා හමාරයි. ඒ නිසා මෙතනින් එහාට මට විකල්ප තුනයි.
  • එක්කෝ දෘඩ තැටිය කේබලයක් හරහා ඩෙස්ක්ටොප් පරිගණකයකට සම්බන්ධ කරගෙන ඩෙස්ක්ටොප් පරිගණකයෙන් testdisk ධාවනය කළ යුතුයි. (මේ සඳහා විශේෂිත කේබලයක් අවශ්‍යයි)
  • එහෙම නැත්තම් ප්‍රතිපිහිටුවන ගොනු, USB දෘඩ තැටියක් මතට පිහිටුවිය යුතුයි.
  • එහෙමත් නැත්නම් වෙනත් පරිගණකයක් එක්ක ජාලගත කරලා ගොනු හුවමාරු (file sharing) උපක්‍රමයක් හරහා ආගන්තුක පරිගණකයට පිහිටුවිය යුතුයි. (මේ සඳහා ethernet හෝ wi-fi භාවිත කරන්න පුළුවන්)
තිබුණු හදිසියෙ හැටියට පළවෙනි ක්‍රම දෙකම පාවිච්චි කරන්න බැරි තත්වයක තිබුණේ. ඒත් වාසනාවට මට උදව් කරන්න කෙනෙක් හිටියා. ඩිලාන්, බ්ලොග්කරණය පිළිබඳවත්, වෛද්‍ය වෘත්තිය ආශ්‍රිත තොරතුරු තාක්ෂණ ක්ෂේත්‍රයේ නිදහස් හා විවෘත මෘදුකාංග වල ප්‍රායෝගික භාවිතය පිළිබඳවත් විශේෂ උනන්දුවක් දක්වන කෙනෙක්. මේ ඔළුව ගිනිගත් වෙලාවේ ඩිලාන් අයියා දීපු ඒ උපකාරය මට කවදාවත් අමතක වෙන්නෙ නෑ. එයාගෙ ලැප්ටොප් එක මට ගෙදර ගෙනියන්නම දුන්නේ වැඩේ කරගෙන ඉවර වෙලාම ගෙනත් දෙන්න කියලා. :)

320 GB දෘඩ තැටියෙ ගිගාබයිට් සීයකට වඩා ඉඩ ඉතිරි වෙලා තිබුණා. ඉතින් ඒ ලැප්ටොප් එකත්, මගේ ලැප්ටොප් එකත් crossover කේබලයකින් සම්බන්ධ කරලා මහා මෙහෙයුමේ ඊළඟ අදියර පටන් ගත්තා. මොකක්ද දැන් එතකොට පාවිච්චි කරන ගොනු හුවමාරු උපක්‍රමය?

අන්න ඒකට තමා NFS කියන්නේ. NFS කියන්නෙ අර කාර් සෙල්ලම එහෙම නෙවෙයි... වරදවා වටහගන්න එපා ;) . Network File System. ගෙදර අන්තර්ජාල පහසුකම් තියෙන එක මේ මොහොතෙදි ලොකු පිටුවහලක් වුණා. ඒක නොතිබුණා නං වැඩේ තවත් අමාරු වෙනවා. මගේ සැලසුම වුණේ ආගන්තුක පරිගණකය මත NFS server එකක් පිහිටුවල, මගේ පරිගණකයෙ Live OS එක මත NFS client එකක් භාවිත කරමින් ගොනු හුවමාරු උපක්‍රමය හදාගන්න. ඒක සාර්ථක වුණා. NFS server එක පිහිටවූ පරිගණකයෙ තියෙන ආචයන ඉඩ, වෙනම ඩිරෙක්ටරියක් විධියට මගේ පරිගණකයෙ සිට භාවිත කරන්න හැකි වුණා.

මේ බ්ලොග් සටහන දිග වැඩි වෙන නිසා මම NFS සැකසුම් විස්තර කරන්න යන්නෙ නැහැ. ඒක ඉතාම සරලව මෙන්න මෙතන විස්තර කරල තියෙනවා. ආකෘතිය සරලව විස්තර කළොත් මෙන්න මේ රූපසටහනේ වගේ එකක්,


එක පින්තූරයක් වචන දාහක් විතර වටිනවලුනේ... ඒ හින්දම තමා මම පොඩි ආට්වර්ක් එකක් කළේ. :) ඩෙස්ක්ටොප් පරිගණක වල නම් මෙච්චර නහින්න දෙයක් නෑ. දෘඩ තැටිය ගලවගෙන ගිහින් වෙනින් එකකට හයි කරගෙන ලේසියෙන්ම වැඩේ ඉවර කරගන්න පුළුවන්.

අවසාන පියවර, ඒ කියන්නෙ අන්තිම තිරපිටපතේ දක්වල තියෙන c (to copy) විධානයත් දුන්නා. ඊට පස්සෙ, mount කරපු NFS ඩිරෙක්ටරියට ගොනු ටික පිටපත් වෙන්න දුන්නා. අවසාන වශයෙන් මගේ ලැප්ටොප් එකේ දෘඩ තැටිය නිසි පරිදි සකසලා, ප්‍රතිස්ථාපිත ගොනු ටික නැවත මගෙ ලැප්ටොප් එකට පිටපත් කළා. ඒකත් කළේ NFS මගින්මයි. සම්පූර්ණ වැඩේට පැය 9ක විතර කාලයක් ගත වුණා. හොඳයි නේද කාපු පරිප්පුව? :P

මේ ඇබැද්දිය වුණු වෙලාවේ screenshots ටික එකතු කරගන්නවත්, කළේ මොකක්ද කියලවත් මතක තියාගන්න සිහියක් තිබුණෙ නෑ. මම මේ සටහනේ දාල තියෙන තිරපිටපත් ටික බ්ලොග් සටහනට ගැළපෙන විධියට සංස්කරණය කරන ලද ඒවා. අනිත් පින්තූර ගත්තේ Creative Commons Search පාවිච්චි කරලා.



මේ මට වෙච්ච ඇබැද්දියත් එක්ක ළඟින් යන තවත් සිද්ධියක්... ළඟින් යන කිව්වට ඉතින් ඇත්තටම පෙර සිද්ධියෙ විලෝමය ලෙස සලකන්න පුළුවන් එකක්. අපේ ගමේ කොල්ලෙකුට මගෙන් පොඩි උදව්වක් ඕනෙ වෙලා. මම ඒ උදව්ව නොකළොත් කොල්ලට ගෙදරින් යන්න වෙනව නෙවෙයි ගෙදරින් එළවන සීන් එකක් ලු.

සිද්ධිය මෙහෙමයි. කොල්ලට තියෙනව තෑග්ගක් විධියට ලැබුණු ලැප්ටොප් එකක්. මේකෙන් දවස තිස්සෙම කරන්නෙ චිත්රපටි බාන එකලු. ටොරන්ට් හැර ලොවක් නැති ලු. බෑමත් ඉතින් මහා පරිමාණෙන්. ඔය බාන ඒවා අතරින් පතර "දෙකේ ඒවා", "තුනේ ඒවා" එහෙමත් තිබුණ ලු. සියල්ල හොඳින් සතුටුදායක විධියට සිද්ධ වෙමින් තියෙද්දි කොල්ලා ඒ ලෙවල් විභාගෙත් ගෙදර ඇත්තෝ සතුටු වෙන විදියටම කර ගත්තා. ඒ කෙසේද යත්, කොල්ලට ලැප්ටොප් එක ගෙනත් දීපු එයාගෙ මාමා ලැප්ටොප් එක දරුණුවට පරීක්ෂා කරන ගානට වැඩේ දුරදිග ගියා. ඒත් වාසනාවට මේ බව කොල්ලට ආරංචි වුණා. මාමාත් වැඩ දන්න මනුස්සයෙක්. ඩිලීට් කරපු දෙකේ තුනේ ක්ලිප් වල වගක් හරි අහුවුණොත් කොල්ල විනාසයි.

ඉතිං මගෙන් ඕනෙ වුණු උදව්ව තමා හාඩ් ඩිස්ක් එකේ තිබුණු මොනම දේකවත් සලකුණු ඉතුරු නොවෙන්න ඒක format කරවගන්න එක. නිකම් format කරල හරියන්නෙ නෑ. ඔය හරස් ඉරට ඉහළින් තියෙන testdisk කතා වස්තුවට අනුව කොල්ලා මාට්ටු වෙනවා. ඒ කතා වස්තුවෙ දෙවෙනි ඡේදයෙ තියෙනවනේ testdisk ඇතුළු data recovery මෘදුකාංග වලින් දත්ත නැවත ප්‍රතිපිහිටුවන හැටි. පොඩි එකාව බේරගන්න නම් ඔය කියන "සලකුණු" ටික මකල අයින් කරන්න ඕනේ. ඒකට දෘඩ තැටිය මත දෙතුන් සැරයක් නැවත ලිවීම් කළ යුතුයි.

ක්‍රමානුකූලව වැඩේට බැස්සොත්, දෘඩ තැටිය මත නැවත නැවතත් අහඹු දත්ත (random data) ලිවීමෙන් පෙර කී සලකුණු මකාදමන්න පුළුවන්. මේක කරන්න හරි අපූරු මෘදුකාංගයක් Ubuntu එක්කම එනවා. ඒ shred.

Ubuntu Live CD එකකින් පරිගණකය ක්‍රියාරම්භ කරලා මෙන්න මේ විධියටයි කරන්නේ,
sudo shred -vz /dev/sda

සිහියෙ තියාගන්න. වැඩේට NO UNDO! ඒ කියන්නෙ කළොත් කළාමයි... format කළාට එහා! සියල්ල වනසලා ඉවර කරන්න පැය කීපයක් ගත වෙන්න පුළුවන් දෘඩ තැටියෙ ප්‍රමාණය අනුව. v අකුරෙන් කියන්නේ verbose, ප්‍රගතිය තිරයෙ දක්වන්න ඕනෙ කියන එක. z වලින් කරන්නෙ අපි කරපු මගඩිය හංගන්න කරන තව මගඩියක්. zeros, ඒ කියන්නෙ ඉලෙක්ට්රොනික/තාර්කික 0 අගයයෙන් මුළු දෘඩ තැටියම අවසාන වශයෙන් පුරවනවා. එතකොට හරියට අළුත් දෘඩ තැටියක් වගේ. ඩෝසර් කරලා තාර දාලා කාපට් කළා වගේ තමා. මාට්ටු වෙන්නෙ නෑ. :D

අන්තිමේ testdisk දාලා දෙකේ තුනේ නිධන් හෙව්වා. ඒවා හම්බවුණේ නෑ. ඒ කියන්නෙ කොල්ලට තව චිරාත් කාලයක් ගෙදර ඉන්න පුළුවන් කියන එක. :)

ඉරෙන් යට තියෙන දෙවෙනි කතාව වැදගත් නැති එකක් වගෙ පේන්න පුළුවන්. ඒක එහෙම නෙවෙයි. හිතන්න තමන්ට අයිති පරිගණකයක් විකුණනව කියල. හාඩ් ඩිස්ක් එක නිකන්ම format කරල විකිණුවම හරිද? නෑ. අපේ පුද්ගලිකත්වයට, ප්‍රතිරූපයට හානි වෙන දෙයක් ඒකෙ තිබිල වෙනින් කෙනෙක් අතට ගියොත් කොහොමද? ඩිජිටල් යුගයෙ තොරතුරු පැතිරෙන්නෙ විදුලි වේගයෙන්. ඉතින් ඒකෙ භයානක කම ගැන අමුතුවෙන් විස්තර කරන්න ඕනෙ නැහැනේ... භාවිත කරපු හාඩ් ඩිස්ක් එකක්, USB pen drive එකක් තවත් කෙනෙකුට දෙනවනම් මේ ගැනත් හිතල බලන්න. පාවිච්චි කරන්න shred. :)

එහෙනම් ඉතිං... දිග බ්ලොග් පෝස්ට් එකක්! තව මාස ගානකින් පස්සේ ආපහු හමුවෙමු! :P さようなら සයොනාරා!



වැඩිදුර කියැවීම්: