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 さようなら සයොනාරා!



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

Wednesday, February 23, 2011

CPU Overheat! -- පරීක්ෂාකාරී වන්න

ආයුබෝවන්,... ශාකුන්තලගෙ සටහන් පොතේ පිටුවක් මේ අළුතින් ලියැවෙන්නෙ මාස ගණනාවකට පස්සෙයි. පහුගිය කාලේ මට ටිකක් විතර කරදර කාලයක් වුණු නිසා ටිකක් නිශ්ශබ්දව ඉන්න තීරණය කළා. ඒත් ඉතිං ජම්මෙට වඩා පුරුද්ද ලොකුයිනෙ. ඒ නිසා ආපහු ලියනවා Blog!

නිතර නිතර මගේ අඩන්තේට්ටම් වලට ලක්වෙන ලැප්ටොප් එක ගැන වචනයක් කියන්නම් අද සටහනට පූර්විකාවක් විධියට. මම මේක ගත්තේ 2007 අවුරුද්දෙ දෙසැම්බර් මාසෙ දෙවෙනි සතියෙ දවසක. Acer Aspire 4315 වර්ගයෙ ලැප්ටොප් එකක්. දැන් වයස අවුරුදු තුනයි මාස දෙකයි සතියයි දවස් ගානක් විතර ඇති. පරණයි. ඉස්සර ආපු IBM ලැප්ටොප් වගේ දැන් තියෙන ලැප්ටොප් එතරම් කල්පවතින්නෙ නෑ. මේකට මුලින්ම වෙච්ච වින්නැහිය මගේ බ්ලොග් එකත් එක්ක හිටපු පරණ කස්ටියට මතක ඇතිනේ... ඒ කොහොම වුණත් මගේ උත්සාහය මේ ලැප්ටොප් එක අවම වශයෙන් අවුරුදු පහක්වත් පාවිච්චි කරන්න. මොකද 1.73 GHz Intel Celeron ප්‍රොසෙසරය මගේ වැඩ වලට හොඳටම ප්‍රමාණවත්.

මෑතක ඉඳලා මගේ ලැප්ටොප් එක ආපහු ලෙඩ වෙන්න පටන් ගත්තා. හිටිගමන් shutdown වෙනවා. මේක හරියන වැඩක් නෙමෙයි නිසා System Monitor applet එක ගෙනත් තියාගත්තා Panel එක උඩින්... මේකට හේතුව ගැන ඉඟියක් ගන්න. දන් ඉතින් නිතර දෙවේලේ පේනව නෙව සිද්ධ වෙන දේ.


දවසක් දෙකක් ගියාම දැණුනු විධියට, CPU භාවිතාව උපරිමයේ (100%) ටික වෙලාවක් තිබුණොත් තමයි shutdown වෙන්නේ. එහෙනම්... මේකට හේතුව,... අධික උෂ්ණත්වය. ප්‍රොසෙසරය වැඩි වැඩියෙන් භාවිත වෙනකොට එය වැඩි වැඩියෙන් රත් වෙනවා. ලැප්ටොප් එක ඇතුලේ තාප යාමනය නිසි පරිදි සිදු නොවුනොත් ප්‍රොසෙසරය එහි අවධි අගය දක්වාම රත් වෙනවා. අවසානයේදී, ආරක්ෂක පියවරක් ලෙස, තවදුරටත් උෂ්ණත්වය වැඩි වීමට මත්තෙන් ස්වයංක්‍රීයව පරිගණකය වසාදැමෙනවා. Fan belt එකක් බුරුල් වෙලා වාහනයක එන්ජිම අනවශ්‍ය තරම් රත් වෙන්නේ....අන්න ඒ වගෙම තමා.

මේ සන්තෑසියට ආසන්නම හේතුව තමා ලැප්ටොප් එක ඇතුලේ දූවිලි හිර වෙලා ඒ තුළ වා සංසරණය අවහිර වීම. පංකාව, ප්‍රොසෙසරය එච්චර ලේසියෙන් ලෙඩ වෙන කොටස් නෙමෙයි. ඉතින් විදුලිය විසන්ධි කරලා බැටරියත් ගලවලා පටන් ගත්තා ශල්‍යකර්මය. තාපගිල්ලුම (heat-sink) ගැලවීමෙදි සැලකිය යුතු කාරණාවක් තියෙනවා. ඒ තමයි එය නැවත සවිකිරීමෙදි අවශ්‍ය වෙන "තාප සන්නායක ආලේපය" (thermal compound) සහ එතනෝල් ස්වල්පයක් කල් ඇතුව සූදානම් කර ගන්න එක. ඒ ගැන විශේෂිතව සඳහන් කළේ අමතක වෙන්න ඉඩ තියෙන නිසා. කවුදෝ කෙනෙක් දවසක් කියනව ඇහුණ ටූත්පේස්ට් ටිකක් වුණත් පාවිච්චි කරන්න පුළුවන් කියල. ඒක නම් හරියන වැඩක් නෙමෙයි. ප්‍රොසෙසරයත් තාපගිල්ලුමත් අතර තාප සන්නයනය කාර්යක්ෂමව සිද්ධ වෙන්න මේ ආලේපය අත්‍යවශ්‍යයි. ඉලෙක්ට්රොනික උපාංග අලෙවිසැල් වලින් මේ ආලේපය මිළ දී ගන්න පුළුවන් ඇති. මම නම් ගත්තේ Unity Plaza එකෙන්මයි. එතනෝල් සොයාගන්න ටිකක් අහපසු නිසා මම නම් පාවිච්චි කළේ "සර්ජිකල් ස්ප්‍රිට්" (isopropyl alcohol).


තාපගිල්ලුම සවි කරලා තියෙන ඇණ ඉතාම ප්‍රවේසමෙන් බුරුල් කරලා, තාපගිල්ලුම වෙන් කරලා අරගෙන පංකාවත් එයින් වෙන් කළා. ටිකක් කාරිය විපරං කරලා බැලුවම කිරි අප්පට බල්ලො පැනපි කිව්වලු මෙන්න තියෙනව දූවිලි කුට්ටි කුට්ටි. ඒව තිබුණෙ සිසිලන වරල් (cooling fins) අතර රැඳිලා. මේ හිරවෙච්ච දූවිලි අයින් කරන එක අමාරු වැඩක්.

පේනව නේද දූවිලි කුට්ටියෙ තරම....
සිසිලන වරල් (cooling fins) වලට හානි නොවෙන විධියට පරිස්සමින් ස්කුරුප්පු නියනෙන් මේ ටික ඇදල ගත්තේ...

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

Just like new...!

දැන් තමා අපර භාගය. ඒ කියන්නෙ කෑලි වැඩි නොවෙන්න, ඇණ ඉතුරු නොවෙන්න ගලවපුවා ඔක්කොම හයි කරන්න ඕනේ. :P ඊට කලින් අර මුලින් කිව්ව thermal paste එක. ඒවා ගාන්න කලින්, දැනට ප්‍රොසෙසරයත් තියෙන පරණ paste ටික හොඳට ඇල්කොහොල් වලින් සෝදලා අයින් කරන්න ඕනේ. ඊට පස්සෙ අළුතෙන් paste එක ගාලා ඉතාම ප්‍රවේසම්සහගතව කෑලි බෑලි ටික හයි කළාම බබා වගේ වැඩ! සන්තෝසේ කියාගන්න බැරුවා... මොකද කලින් තිබුණු විධියට තියෙන්න දුන්නා නම් ලැප්ටොප් එක අනිත් පැත්ත හරවලා ඔම්ලට් දාන්නත් පුළුවන්. ;)

---

සාමාන්‍යයෙන් Gnome System Monitor එකේ CPU උෂ්ණත්වමාපකයක් පෙන්නන්නෙ නැහැ. ඒත් Screenlets පාවිච්චි කරලා temperature widget එකක් අටවගන්න පුළුවන්. මම පුරුදු වෙලා ඉන්න සරල රටාවට ඔය screenlets, object docks වගේ දේවල් නොගැලපෙන නිසා වෙනින් විකල්පයක් හෙව්වා. ටර්මිනල් එකේ අඳුරේ අතපත ගානකොට විසඳුමක් හම්බවුණා. ඒ sensors විධානය.

නමුත් ඒක පාවිච්චි කරන්න කලින් sensors-detect විධානය ධාවනය කරලා අදාළ කර්නල් මොඩියුල ටික තෝරාගන්න සිද්ධ වෙනවා. මෙය කළ යුත්තෙ එක්වරක් පමණයි. මෙහිදී අහන ප්‍රශ්න වලට පෙරනිමියෙන් එන උත්තරේ දුන්නම හොඳටම ඇති.

sudo sensors-detect
.
.
.
sudo /etc/init.d/module-init-tools start
sensors

මෙන්න මෙහෙමයි පෙන්නන්නේ...
root@shaakunthala-laptop:~# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +74.0°C (crit = +99.0°C)
temp2: +70.0°C (crit = +110.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +72.0°C (high = +100.0°C, crit = +100.0°C)

ඔය crit(ical) කියල පෙන්නන එක තමා අවධි අගය. උෂ්ණත්වය ඒ දක්වා වැඩි වුණු ගමන් පරිගණකය ක්‍රියාවිරහිත වෙනවා ස්වයංක්‍රීයව.

---

සාමාන්‍ය පාවිච්චියෙදි නිතර කීබෝඩ් එකට ඇන ඇන වතුර නටන ගානට ඇවිත්ද කියල බලන එක කරදරයිනේ. ඒ නිසා මෙන්න panel එකටම එකතු කරගන්න පොඩි භාණ්ඩයක්... sensors-applet

sudo apt-get install sensors-applet

දැන්, panel එක right click කරලා Add to Panel...


එතනින් Hardware Sensors Monitor කියන එක තෝරලා එකතු කරගත්තාම හරි. :)

සරලයි!
දකුණු පැත්තෙන් පෙන්නන්නෙ දෘඩ තැටියෙ උෂ්ණත්වය

---

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

එහෙනම්... කූල්ඩවුන් දවසක් වේවා....! ආයුබෝ...!!! :)

(මගේ බ්ලොග් අඩවියට අළුත් අයගේ දැනගැනීම පිණිස -- මං පාවිච්චි කරන්නෙ ලිනක්ස්.... නෝ ටු වින්ඩෝස්)

Saturday, August 7, 2010

Gammu එක්ක මොබයිල් වැඩ කිඩ | SMS කෙළිය

ආ........යිබෝ.........ං........! අර.... ශාකුන්තල කියල එකෙක් හිටියෙ... අන්න ඒකා නින්දෙන් නැගිටලා ඇවිත් තමා මේක ලියන්නෙ... බ්ලොග් සීන් එකෙන් පොඩ්ඩක් විතර ඈත් වෙලා ඉඳලා කස්ටියට මාව අමතක වෙන්න ගිහිනුත් ඇති... තවත් නිශ්ශබ්දව හිටියොත් සින්ඩියෙන් නිළ වශයෙන්ම මාව පන්නන්න ඉතිරි වෙලා තියෙන්නෙ තවත් දවස් හතරක් නිසා මොකක් හරි තේරුමක් ඇති දෙයක් සටහන් කරල යන්න තමා මේ පැත්තෙ ආපහු ආවේ. :D

මේ බ්ලොග් එක නිතර කියවන අය දන්නවනේ මම ලියන තාක්ෂණික ලිපි වලින් අති බහුතරය ලියැවෙන්නෙ මගේ අත්දැකීම් අනුසාරයෙන් බව. කොපි පේස්ට් නෑ... පරිවර්තන වැඩ නෑ... එකක් දෙකක් හැර අනිත් සියල්ල පෞද්ගලිකව අත්හදා බලා දෙසන ඒවා. නමුත් පහු ගිය කාලේ මම යෙදිලා හිටපු වැඩ කටයුතු වල ස්වභාවයයි තරමයි අනුව මම අදහස් කළා ටිකක් විතර බ්ලොග් ලියන වැඩෙන් ඈත් වෙලා ඉන්න.

මම මීට අවුරුද්දකුත් මාසෙකට කලින් බොහෝම කලබලෙන් Wammu ගැන ලිව්ව පික්ෂු පීකුදු බ්ලොග් සටහන මතක ඇතිනේ... Wammu වැඩකරු වගෙ පෙනුනට මෙතන ඇත්තටම මැච් එක සෙල්ලං කරන්නෙ ඒකෙ backend එක. ඒ කිව්වෙ Gammu. ඉතිං Gammu වලින් ජංගම දුරකථනයත් එක්ක කරන්න පුළුවන් පොඩි පොඩි සෙල්ලං ටිකක් ගැන තමා අද ලියන්නෙ. මම මේකට පාවිච්චි කළේ මගේ (අවුරුද්දක් පට්ට්ට ගහපු) Sony Ericsson K770i දුරකථනය. Sony Ericsson, Nokia ඇතුළුව තව දුරකථන මාදිලි බොහොමයකට Gammu සහය දක්වනවා. Gammu එක්ක පාවිච්චි කරන්න පුළුවන් ජංගම දුරකථන මාදිලි ලැයිස්තුවක් මෙතනින් බලාගන්න පුළුවන්.

කොයි දේටත් කලින් පූර්ව සූදානම තියෙන්න ඕනැ නෙව. ඉතිං මේකෙදි මුල්ම කාරිය ජංගම දුරකථනය පරිගණකයත් එක්ක නිසි පරිදි සම්බන්ධ කරගන්න එක (මේකට අවශ්‍ය දේවල් ගැන සොයා බලන්න මගේ පරණ සටහන කියවන්න). මගේ ලැප්ටොප් එකේ නීලදන්ත ජිල්මාට් නැති නිසා මේවා අත්හදා බලන්න මම පාවිච්චි කළේ USB කේබලය. USB කේබල් එකෙන් ජංගම දුරකථනය පරිගණකයට සම්බන්ධ කරලා මෙන්න මේ පියවර ටික අනුගමනය කරන්න.

1. ටර්මිනලය විවෘත කර gammu-config විධානය ලබා දෙන්න.
2. ඔබේ ජංගම දුරකථනයට අදාළ සැකසුම් wammu වෙබ් අඩවියෙහි දක්වා ඇති අන්දමට සකස් කරන්න. උදාහරණයක් ලෙස, පහත දැක්වෙන්නේ Sony Ericsson K770i සඳහා වන සැකසුම්.
  • Port: /dev/ttyACM0 (නිවැරදිව ක්‍රියාත්මක නොවුනොත් 0 වෙනුවට 1, 2 යනාදී වශයෙන් වෙනත් අංකයක් යොදා බලන්න, සමහර දුරකථන මාදිලි සඳහා මෙය /dev/ttyS0 ආකාරයේ විය හැකියි)
  • Connection: at115200 හෝ at19200
  • Model: at
3. දැන් සැකසුම් සුරකින්න.
4. පහත දැක්වෙන විධානය ලබා දීම මගින් ජංගම දුරකථනය හා පරිගණකය නිවැරදිව සම්බන්ධ වී ඇති බවට තහවුරු කරගන්න. හරියන්නෙ නැත්තම් සැලෙන්න එපා ආපහු යන්න මුලට. ගිහිං වෙනින් Port එකක් පාවිච්චි කරල බලන්න.
gammu identify


දැන් තමා සෙල්ලම පටන් ගන්නේ.... Linux command line එකකිං SMS යවන වැඩේ ආතල් එක ඉස්සෙල්ලම ගනිමු.

gammu sendsms TEXT 07xxxxxxxx -text "Hi, I'm sending this with Linux command line. :-\)"

මෙහෙමත් පුළුවන්,
echo "Hi, I'm sending this with Linux command line. :-)" | gammu sendsms TEXT 07xxxxxxxx

Flash SMS සෙල්ලම
Flash SMS වලදිත් යන්නෙ සාමාන්‍ය SMS පණිවුඩයක්මයි. නමුත් ඒක ලබන්නාගෙ දුරකථනයෙ inbox එකට නොයා කෙළින්ම දුරකථන තිරයෙ පෙන්වනවා. බැලු බැල්මට හදිසි පණිවුඩයක්/ USSD පණිවුඩයක් වගේ. Flash SMS එකක් යවන්න නං හරි ලේසියි... ඉස්සෙල්ලා යවපු එකේම අගට -flash කියන එකත් අමුණලා යැව්වනං අහවරයි. මෙන්න මේ වගේ...

gammu sendsms TEXT 07xxxxxxxx -text "Hi, will you please GET OFF OF MY WAY! " -flash
(exclamation නොහොත් බුදු අම්මෝ! මාක් එක පාවිච්චි කරනවනම් ඒකට පසුව එක හිස්තැනක් තියන්න)

ෆියොන්සේට සෝනි ඇරික්සන් EMS තොත්තුවක් :P (නොම්මරය වැරදීමෙන් බයානක ප්‍රතිපල අත් විය හැක... බුහහහහා....!)
gammu sendsms EMS 07xxxxxxxx -text "හායි මයි සුවිට් හාර්ට්" -defanimation 9 -unicode
(-unicode කියන පරාමිතිය පාවිච්චි කරලා සිංහලෙන් SMS යවන්නත් පුළුවන්)
EMS ගැන වැඩි විස්තර මෙතනින් කියවන්න පුළුවන්.

දැං මොකක්ද මේ SMS යැවිල්ලෙන් ඇති වැඩේ හැබෑටම? ඔන්න දැන් තමා හොඳ හරිය පටන් ගන්නේ...
අපේ රටේ තියෙනව නේද අර සුපර් ස්ටාර් ද හොපර් ස්ටාර් ද ආදී මෙකී නොකී රියැලිටි සංදර්ශන... ලංකාවේ SMS හොරඡන්ද ජාවාරම ජයටම කෙරෙන සිස්ටම් එකක් නොවැ ඕක. එක දුරකථනයකින් ඡන්ද කැමති ගණනක් එවන්න පුළුවන් නිසා මෙන්න අවශ්‍යතාවට සැපයුම නොහොත් මල්ටිබැරල් රොකට් ලෝන්චර් ක්‍රමේට SMS යවන සිස්ටම් එක... :D

#!/bin/bash
counter=0
while [ true ]
do
    let counter++
    echo Sending SMS $counter...
    gammu sendsms TEXT number -text vote_code
done

මේක ලිනක්ස් bash script එකක්. පාවිච්චි කරන හැටි මෙතන තියෙනවා... :-)
number කියන එක වෙනුවට රියැලිටි ෂෝ මුදලාලිගේ අංකයත්, vote_code කියන එකට අර ස්ටේජ් එකේ නලියන නංගී දඟර දාලා කියන අංකෙත් (SSS 6 වගේ එක) ආදේශ කරන්න. :P
SMS කැමති ගණනක් යන්නට ඉඩ ඇරලා Ctrl+C යතුරු සංයෝජනය භාවිත කරලා මේක නවත්තන්න පුළුවන්. හැබැයි ඉතිං... මේක නිසා මනී පොකැට්ටුව හිල් වීම සහ දුරකථන සමාගම් මඩිය තරකර ගැනීම සම්බන්ධයෙන් වග කියනු නොලැබේ!

ඕක ප්‍රයෝජනවත් වෙන්නෙ රියැලිටි ෂෝ බුවාලට හොරඡන්ද දාගන්න. උත්සව කාලෙටත් අපේ කස්ටිය ඇස් ඇම් ඇස් යවනවනේ... කොහෙන් හරි එන රෙඩිමේඩ් සුභපැතුම් පණිවුඩයක් තව දන්න සීයකට දෙසීයකට forward කරන එකනෙ අපේ කස්ටියගෙ සිරිත. ඒ වැඩෙත් වැඩිය මාට්ටු නොවෙන්න හරි අපූරුවට gammu වලින් කරන්න පුළුවන්.

රෙඩිමේඩ් කෙටි පණිවුඩ එකින් එක වෙන වෙනම පාඨ ගොනු (text files) වලට සුරකින්න. ඒවා *.sms ආකෘතියට අනුව (.sms file extension) සුරකින්න. ඉන් පසුව ඒ .sms ගොනු තියෙන ඩිරෙක්ටරියෙ ඉඳන් මේ script එක ධාවනය කරන්න. මේ මම ලිව්ව ආදර්ශ script එකෙන් කරන්නෙ බොහොම සරල වැඩක්. ජංගම දුරකථන මෙමරියෙත්, සිම් කාඩිපතෙත් තියෙන දුරකථන අංක ටික ලබාගෙන ඒවයින් හුලංටෙල් අංක ටික පෙරහන් කරගන්නවා. මේ හුලංටෙල් අංක ටික එක ලැයිස්තුවකට (technically an array) එකතු කරගෙන ඒ එකින් එකට කෙටි පණිවුඩය බැගින් යවනවා. හැබැයි යවන්නේ අහඹු ලෙස තෝරාගන්නා පණිවුඩයක්. කොයි කාට කොයි එක යාදෝ කියන්න බෑ. O_o

#!/bin/bash
contacts=`gammu getallmemory SM | grep ^075 | cut -d\" -f2; gammu getallmemory ME | grep ^075 | cut -d\" -f2`
for contact in $contacts
do
    sms=`ls *.sms --file-type | grep -v [*/=\>@\|] | sort -R | head -1`
    echo "Message: "
    cat $sms
    echo "Sending to: $contact"
    cat $sms | gammu sendsms TEXT $contact
    echo
done

මේ දේවල් අත්හදා බැලුවේ මගේ හුලංටෙල් සිම් එකට රුපියල් 99ක් රීලෝඩ් කරලා... ලූප් අත්හදා බැලීම කෙසේ වෙතත් මේක ලියල ඉවර වෙද්දි මගේ ඉන්බොක්ස් එකත් අනවශ්‍ය කෙටි පණිවුඩ වලින් පිරිලා... මම මෙච්චර වෙලා එවන හරියක් එවාගත්තෙ මටම නොවැ! :P

ඉතින් මේ සටහනේ අරමුණ ජංගම දුරකථනය හැසිරවීම සඳහා විධාන පෙළ මෘදුකාංගයක් පාවිච්චි කරලා ලබාගන්න පුළුවන් එක ලොකු වාසියක් පෙන්වා දීම. ඒ තමා ස්වයංකරණය නොහොත් automation. තව තවත් නිර්මාණශීලීව හිතලා මේකෙන් මරු දේවල් කරන්න පුළුවන්.

උදාහරණයක් විධියට, අපි හිතමු යම් කිසි පරිගණකයකට හඳුනා නොගත් IP ලිපිනයකින් කෙනෙක් දුරස්ථව පිවිසෙන මොහොතේම ටුක්! ගාලා SMS එකක් ට්‍රිගර් කරන්ට ඕනෙය කියලා... මේ සම්බන්ධ ලඝු සටහන් /var/log/auth.log කියන තැන තියෙනවා... bash බැරිනං python වලින් පොඩි script කෑල්ලක් අටවගත්තාම වැඩේ ගොඩ!

ටිකක් නිර්මාණශීලීව හිතලා මේකෙන් තව එක එක විධියෙ වැඩ ගන්න පුළුවන්. ඔන්න එහෙනං මං ගියා... aal izz well..!