Thursday, August 30, 2018

ADB/Fastboot Commands - Android Series - 2

මොනාද මේ ADB/Fastboot Commands?

සේරටම කලින්, මේක Post Series එකක් නෙ. TV Series වගේ තමයි මැදින් පැනලා බලන්න බෑ තේරෙන්නෑ. ඒ නිසා වහාම දුවන්න කලින් කොටසට. මෙන්න පහළ ලිංක් එක.

Bootloader එක කියන්නෙ මොකක්ද? Android Series - 1

ඔන්න පොරොන්දු ඉෂ්ඨ කිරීමට සූදානම. Bootloader ගැන Theory කොටස ඉගෙනගත්තට කට්ටියට Practical මුකුත් කියලා දෙන්න වුණේ නෑ නෙ. ඔන්න අද ඒකට අවස්ථාව. ඔක්කොටම කලින් කියන්න ඕන මේ දේවල් මම කියලා දුන්නයි කියලා උඩ පැනගෙන ගිහින් ෆෝන් එකේ මේවා කරලා මොකක් හරි වැරදීමක් වෙලා ෆෝන් එකට කෙළ වුණොත් මම වග කියන්නේ නැත.

ඒ වගේම මේ මොකක් කරන්නත් කලින් ෆෝන් එකේ බැකප් එකක් තියාගැනීම ගොඩක් වැදගත්. මොකද ෆෝන් එකට කෙළවුණොත් ආපහු එකක් ගන්න හරි පුළුවන් ඒත් දත්ත ආපහු එහෙම ගන්න බැරි වෙන්න පුළුවන්.

ආහ්, අනිත් එක. මේවා කරන්න පණ්ඩිතකම තිබුණට මදි. වීරයෝ වගේනෙ සමහරු Android කියන වචනෙ ඇහුණත් ඇති. ඒ වීරත්වය හොඳයි, හැබැයි ඒක පුස් වීර කමක් නම් වැඩක් නෑ නෙ. මේ අද කියලා දෙන්න යන කොටස සංකීර්නයි. තේරුම්ගන්න උත්සාහ කරන්න. එහෙම ලේසියෙන් මෙව්වා කරන්න පුළුවන් නම් හැමෝම Android Developers ලා වෙනවනෙ.

හොඳයි එහෙනම් අපි පාඩමට යමු.

මොකක්ද මේ ADB/FASTBOOT කියන්නේ?


ADB කියන අකුරු තුනෙන් කියවෙන්නේ Android Debug Bridge කියන එකයි. ඒ වචන ටිකෙන් ඔයාලට තේරෙනවා ඇති මේක තියෙන්නේ ෆෝන් එක Debug කරන්න, Debug කරනවා කියන්නේ දෝෂ නිරාකරණය කියන එක. දෝෂ නිරාකරණය කිරීමේ මේ පහසුකම භාවිතා කරලා පුළුවන් අපිට අපේ ෆෝන් වලට බරපතළ වෙනස්කම් කරන්න.

මේ දේවල් කරන්න ඔයාට ඕන වෙනවා පරිගණකයක්. ඒ වගේම ෆෝන් එක පරිගණකයට සම්බන්ධ කරන්න Data Cable එකක්. ඒ වගේම පරිගණකයට ස්ථාපනය කරන්න ඕන මෘදුකාංග ටිකක්. එයින් එක් මෘදුකාංගයක් තමයි Android SDK කියන්නේ. SDK කියන්නේ Software Development Kit කියන එක. ඒ වගේම ADB / USB Drivers / Fastboot Drivers වෙනම ඉන්ස්ටෝල් කරගන්න ඕන. සමහරවිට මේ මෘදුකාංග ඔයාට ජංගම දුරකථන නිෂ්පාදකයා ගේ නිළ වෙබ් අඩවියෙන් බාගත කරගන්න පුළුවන්.

Download SDK Platform Tools

මම අර උඩින් දුන්නේ ADB කමාන්ඩ්ස් රන් කරන්න ඕන වෙන Software tools ඩවුන්ලෝඩ් කරගන්න ලිංක් එක. හැබැයි මේක විතරක් මදි කියලා මතක තියාගන්න. විශේෂයෙන්ම ඔයා fastboot commands run කරවන්න බලාපොරොත්තු වෙනවා නම් අනිවාර්යෙන් Device එක හැදුව නිෂ්පාදකයාගේ අඩවියෙන් අදාළ Drivers බාගන්න.

නැත්නම් අදාළ මාදිලියට අවශ්‍ය කරන Drivers සහ Softwares ටිකක් හොයලා Download කරගෙන Install කරගන්න වෙනවා. ඊට පස්සෙ ඔයාට වැඩේ තවත් පහසු වෙන්න ADB drivers install වුණ folder එකට (android-sdk ෆෝල්ඩර් එකේ platform-tools තියෙන ෆෝල්ඩර් එකට) Environment Variables හදාගන්න ඔයා Windows පාවිච්චි කරන කෙනෙක් නම්. (ඔය කිව්ව ෆෝල්ඩර්ස් තියෙන්නේ C: drive එකේ. පහසුවෙන් හොයාගන්න පුළුවන්.) එතකොට වැඩේ ලේසියි. ඒවා හදන එක කතාවෙන් පිට නිසා පොඩ්ඩක් හොයලා බලන්න Environment Variables කියන එක ගැන. නැත්නම් හැම වෙලේම ඔය ෆෝල්ඩර් හොය හොය දුවන්න වෙනවා CMD ඕපන් කරන්න කලින්.

අනිත් දේවල් තමයි, ADB Commands run කරන්න නම් ඔයාගේ ෆෝන් එකේ Android Debugging ඔප්ෂන් එක ON කරන්න ඕන. ඒක තියෙන්නේ Developer Settings වල.
Developer Settings කියලා එකක් ෆෝන් එකේ නැත්නම් About Device කියන Settings Category එය යටතේ තියෙන Build Number කියන item එක උඩ 5 හෝ 7 වතාවක් එක දිගට tap කරන්න. එතකොට අදාළ කොටස මතු වේවි. ඒ වගේම, ඔයාගෙ ෆෝන් එක Root කරලා නම් ADB Root Access ලබා දෙන්න. ඒක SU App එකෙන් කරන්න පුළුවන්. (LineageOS වගේ Custom Rom එකක් පාවිච්චි කරන අයට SU අදාළ නෑ. Developer Settings වලින්ම පුළුවන්.)

ෆෝන් එක පරිගණකයට සම්බන්ධ කරලා මොකක් හරි ADB Command එකක් Run කරනකොට ෆෝන් එකෙන් අහයි, මේ Device එකෙන් ADB පහසුකම Allow කරන්නද කියලා. එතකොට ඒක Yes කරන්න. Tick එක දැම්මොත් ආයෙ ආයෙ අහන එකකුත් නෑ.
 ADB Commands අපිට පාවිච්චි කරන්න පුළුවන් ෆෝන් එක Recovery mode එකේ හෝ ROM එකේ සාමාන්‍ය Boot අවස්ථාවේදීත්. ඒත් Fastboot commands භාවිතා කරන්න පුළුවන් Bootloader Mode එකේදී නොහොත් Fastboot mode එකේදී විතරයි. ඒ වගේම Fastboot commands වලට Android SDK එක ඕනෙත් නෑ. Drivers තිබුණම ඇති. අනික් විශේෂ කාරණාව තමයි බොහොමයක් fastboot commands දුවවන්න නම් Bootloader එක unlock කරන් ඉන්න ඕන. bootloader එක අන්ලොක් කරගන්නෙත් ඉතින් fastboot එකෙන්ම තමයි.

වැඩේට බහින්න කලින් මතක තියාගන්න, ADB Commands ඔක්කොම Case Sensitive ඒ කිව්වේ සිම්පල් අකුරු කැපිටල් අකුරු වෙනස් අකුරු විදියටයි ගන්නේ. A වෙනුවට a අකුර ගහන්න බෑ. ඒ වගේම Folder paths වල හිස් තැන් තිව්වොත් බඩු බනිස්. හිස් තැන් ගැන ADB Commands සලකා බලනු නොලැබේ. ඒ නිසා මොනා හරි ෆෝල්ඩර් හදනවා නම් හිස් තැන් නොතබන්න වගබලාගන්න. අනික මේ සිංහල භාෂාව එහෙම ADB එක දන්නෑ හොඳේ, ෆෝල්ඩර් වගේ ඒවා සිංහලෙන් නම් කරන්න ගිහින් කෙළවගන්න එහෙම එපා.

අර උඩින් කිව්ව වැඩ ටික කරලා ඉවර නම්, ෆෝන් එක සාමාන්‍ය පරිදි ඔන් කරලා පරිගණකයට සම්බන්ධ කරන්න. එතකොට ෆෝන් එකේ පෙන්වයි ADB Connect වුණා කියලා. ඒ වගේම ෆෝන් එකේ ADB Access allow කරන්නද කියලා ඇහුවොත් ඒක allow කරන්න. කලිනුත් ඒක කිව්වා. දැන් අපි Commands ටිකක් ඉගෙනගනිමු.

ගොඩක් ජනතාව Windows නිසා සහ ඔය Command Line වහ කදුරු වෙලා ඉන්නේ Windows උන්ට නිසා විශේෂයෙන් එයාලට මම කියලා දෙන්නම් මේක. ඔයා දැන් මම අර කලින් කිව්වා වගේ Environment Variables හැදුවා නම් කිසි ගැටළුවක් නෑ Command Prompt කොහෙ ඕපන් කරත් මේ Commands වැඩ. Environment Variables හදාගන්න අපොහොසත් වුණා නම් 😑 ADB ෆෝල්ඩර් එකට හෝ  ගිහින් එතන Command Prompt එකක් ගන්න. නැත්නම් ADB folder එකට හෝ android-sdk ෆෝල්ඩර් එකේ platform-tools එකට CMD වලින් යන්න.
(මේ ෆෝල්ඩර් දෙකක් දීලා තියෙන්නේ SDK එකයි Manufacture drivers පැක් එකයි දෙකම තියෙන නිසා. මෙයින් දෙකෙන් එකක් ඔයාට වැඩ කරයි. ඒත් platform-tools එකේ ඉඳන් fastboot commands ගහන්න ගියොත් අවුල් එන්න පුළුවන්. වැඩේ බැරි වෙන්නම පුළුවන්, මතක ඇතුව fastboot කමාන්ඩ්ස් ගහන්න කලින් Manufacture drivers වලට මූලිකත්වය දෙන්න. අවුල් ආවොත් Environment variables වලින් platform-tools ෆෝල්ඩර් එක‍ අයින් කරලා දාලා Manufacture USB/fastboot drivers වලට විතරක් Environment Variables හදන්න, නැත්නම් Manufacture device drivers ෆෝල්ඩර් එකට CMD වලින් ගිහින් කෝඩ් රන් කරන්න. මේවා මේ ප්‍රායෝගික දේවල්, මේවා කට්ටිය කියලා දෙන්නෑ, වාත වෙලා හොයාගන්න ඕන. මම ඉතින් ඔන්නොහෙ කිව්වා.)
දන්නවනෙ cd command එක ගහලා? අනේ දන්නැත්නම් පොඩ්ඩක් බලාගන්න google කරලා, ඒවා Android නෙවෙයි Windows කතා නේ.

හරි කොහොමින් කොහොම හරි දැන් CMD එක ඕපන් කරගෙන නම් ඉන්නේ, ADB කනෙක්ෂන් එක පරීක්ෂා කරන්නත් එක්ක අපි අපේ පළමු කමාන්ඩ් එක ගහලා බලමු.

Basic ADB Commands


adb devices

මේකෙන් කරන්නේ දැනට Android Debug Bridge එකක් විදියට පරිගණකයට සම්බන්ධ වෙලා තියෙන උපාංග වල ලයිස්තුවක් ලබාගන්න එක. ඕක ටයිප් කරලා Enter එබුවම ඔයාගෙ ෆෝන් එකේ මොඩ්ල් නම්බර් එක හරි, නම හරි ඒ වගේ එකක් පෙන්නුවොත් වැඩේ ගොඩ.

මම මේ පහළින් දාන්නෙ මට ආව output එක. සමාවෙන්ඩ ඕන ඒ තියෙන්නේ Windows CMD එක නම් නෙවෙයි, ඒ ලිනක්ස් Terminal එකක්. ඔය output වෙනසක් නෑ වින්ඩෝස් වලත් එන්නෙ ඔහොමයි, මට Windows මගුලට නම් යන්න කියන්න එපා මේන් වැන්දා. බැරිම වැඩේ ඒක.


මෙතනින් එහාට මම කියන Commands වලින් සමහර ඒවා වලංගු වෙන්නේ කනෙක්ට් කරලා තියෙන්නේ එකම Android Device එකක් නම් විතරයි, කවුද ඉතින් එකපාරට තුන හතරක් ඔබන් ඕක කරන්නෙ. එහෙම ඔබන් කරන්න පුළුවන් එතකොට අදාළ device එකේ Serial එක ගහ ගහ නටන්න ඕන. එහෙම ඕනි නෑ නෙ.

Install an app

adb install path_to_apk

මේකෙන් පුළුවන් Computer එකේ තියෙන APK එකක් ෆෝන් එකට ඉන්ස්ටෝල් කරන්න. මෙතන path_to_apk වෙනුවට අදාළ apk එක තියෙන ෆෝල්ඩර් path එක දෙන්න. නැත්නම් අදාළ apk එක platform-tools ෆෝල්ඩර් එකට දාගෙන ඉන්නකො. වැඩේ ලේසියි, එතකොට apk එකේ නම විතරක් ඇති. උදාහරණයක් විදියට,

adb install myapp.apk

මේක ගන්නකො. හරි අපි ඊළඟ එකට යන්.

Copy Files

ADB Commands වලින් අපිට පුළුවන් Phone එකට file/folder කොපි කරන්න. ඒ වගේම phone එකේ තියෙන file/folder එකක් computer එකට කොපි කරගන්න. මේ වැඩ දෙකට නම් දෙකක් භාවිතා වෙනවා,

1) Android device එකෙන් Computer එකට - pull
2) Computer එකෙන් Android Device එකට - push

මේ වැඩ දෙකට ගහන කෝඩ් වලත් වෙනසක් තියෙනවා.

1) adb pull remote local
2) adb push local remote

පේන්න ඇති නෙ වෙනස. ඔය remote සහ local කියන්නේ file paths. Remote කිව්වේ Android device එකට, local කිව්වේ computer එකට. උදාහරණයක් දෙන්නම්.

adb push photo.jpg /sdcard/photo.jpg

අර උඩ කෝඩ් එකෙන් වෙන්නේ පරිගණකයේ තියෙන Photo එකක් Android Device එකට (ෆෝන් එකට) කොපි කිරීම. ඊළඟට ටිකක් බරපතළ commands ටිකක් බලමු.

Reboot into recovery

adb reboot recovery

මේ කමාන්ඩ් එකෙන් ඔයාට පුළුවන් ඔයාගෙ ෆෝන් එක Recovery එකට බූට් කරන්න.

Reboot to bootloader

adb reboot bootloader

ඔන්න අපි ආස සහ වැඩිපුර බය හිතෙන Bootloader mode එකට නොහොත් fastboot mode එකට ෆෝන් එක බූට් කරගැනීමේ command එක.

හරි, හිතන්න එපා adb commands තියෙන්නේ මෙච්චරයි කියලා. මෙන්න ලිංක් එක, ඕන තරම් adb commands ඇති. බලාගන්නකො.

Android Debug Bridge (adb)

එහෙනම් අපි ADB commands මෙතනින් නවත්තලා යමු fastboot commands වලට.

Basic Fastboot Commands 


මේවා run කරන්න නම් Android Device එක Bootloader mode නොහොත් fastboot mode එකේ තිබිය යුතුමයි.

fastboot devices

ADB එකේ වගේම මේ කෝඩ් එක රන් කරලා පුළුවන් සාර්ථකව සම්බන්ධ වෙලා තියෙන උපාංග බලාගන්න.

Reboot

fastboot reboot

මේකෙන් පුළුවන් ෆෝන් එක සාමාන්‍ය විදියට (ROM එකෙන්) boot කරගන්න.

Reboot into recovery

fastboot reboot recovery

කියන්න දෙයක් නෑනෙ, මේකෙන් කරන්නෙ recovery එකට බූට් කරන එක.

Get blootloader status

fastboot oem device-info

මේකෙන් බලාගන්න පුළුවන් Bootloader එකේ තත්වේ. ඒ කිව්වේ ලොක්ද, අන්ලොක් ද කියන එක. Bootloader එක unlock නම්, True කියලා output එකක් එයි, lock නම් False කියලා output එකක් එයි.

Unlock bootloader

fastboot oem unlock

මේකෙන් ඉතින් Bootloader එක අන්ලොක් වෙනවා Nexus devices වල නම්. ඒත් සාමාන්‍යයෙන් Bootloader එක unlock කරන්න ඔහොම ලේසියෙන් කෝඩ් එකක් ගහලා බෑ.

උදාහරණයක් විදියට Sony ෆෝන් එකක් නම්, එයාලට ඔයාගෙ IMEI එක දීලා, වගකීම් සහතිකය අවලංගු කරලා, එයාලගෙන් Key එකක් එහෙමත් නැත්නම්, ඔයාගෙ ෆෝන් එකේ bootloader එකටම විශේෂිත වුණ code එකක් ලබාගන්න ඕන. ඒ කෝඩ් එකත් ගත්තට පස්සේ

fastboot -i 0x0fce oem unlock 0x<insert your unlock code>

මෙන්න මේක ගහන්න වෙනවා, <insert your unlock code> වෙනුවට එයාලා දෙන කෝඩ් එක ගහන්නත් වෙනවා. ඔන්න, ඕකයි තත්වේ.

අනික බොහෝවිට ඔය කමාන්ඩ් එක ෆෝන් එකේ නිෂ්පාදකයා අනුව වෙනස් වෙනවා.

Format partitions

fastboot format:<file-system> <partition>

මේ කමාන්ඩ් එක තියෙන්නේ මොකටද කියලා බැලූ බැල්මටම වැටහෙනවා ඇති. මේ කමාන්ඩ් එක යොදාගෙන පුළුවන් අපිට පාටිෂන් වෙන වෙනම ෆෝමැට් කරගන්න, අපිට අවශ්‍ය file system එකකින්. වර්තමානයේ Linux මෙහෙයුම් පද්ධති වල නිතර භාවිතා වෙන ෆයිල් සිස්ටම් එක තමයි ext4 නොහොත් Fourth Extended File System. මේකෙන් තමයි අපි Android වලත් පාටිෂන් ෆෝමැට් කරන්නේ. පහළ උදාහරණයෙන් වැඩේ පැහැදිලි කරගන්න.

fastboot format:ext4 system

මේකෙන් වෙන්නේ සිස්ටම් පාටිෂන් එක ext4 file system එකෙන් ෆෝමැට් වෙන එක. බඩුම තමා. 😂 මෙහෙම කළාට පස්සේ ආයෙ system එක ෆ්ලෑෂ් නොකර ෆෝන් එක ඔන් කරනවා බොරු.

Flash recovery

fastboot flash recovery <recovery.img>

මේකෙන් කරන්නේ රිකවරි එකක් ෆ්ලෑෂ් කරන එක. ඩිවයිස් වලට අලුත් OS දානවා නම් (ROM flashing), zip flashing වගේ advanced වැඩ කරන්න නම් කස්ටම් රිකවරි එකක් ඕන. ඒ ගැන මම වෙනම ලියන බව කලින්ම පොරොන්දු වෙලා ඉන්නේ. ඉතින් ඒක අනිවාර්යයෙන්ම ලියනවා ඒ නිසා මෙතනදි ලොකු කතාවක් ඕන නෑ. <recovery.img> කියන තැනට එන්න ඕන ඔයා අලුතින් flash කරන්න යන Recovery එකේ නම. ඔයා හදන්නේ TWRP Recovery එක දාන්න නම් මෙන්න මේ වගේ එකක් තමයි කෝඩ් එක.

fastboot flash recovery twrp-3.0.1.2-falcon.img

වැඩි විස්තර අපි ඉදිරියේදී කතා කරමු.

Flash kernel

fastboot flash boot <boot.img>

මේකෙන් කරන්නේ Boot පාටිෂන් එකට ඩිස්ක් ඉමේජ් ෆයිල් එකක් ෆ්ලෑෂ් කරන එක බව ඔයාලට පේනවා ඇති. කලින් පෝස්ට් එකේදි මම ඔයාලට කියලා දුන්නා නෙ /boot පාටිෂන් එකේ තියෙන්නේ Kernel එක සහ ramdisk එක කියලා. දැන් තේරෙන්න ඕන ඔයාගෙ ෆෝන් එකට කර්නල් එක ෆ්ලෑෂ් කරනකොටයි මේ කමාන්ඩ් එක ගහන්නේ.

ඔතන <boot.img> වෙනුවට ඔයා ෆ්ලෑෂ් කරන්න යන Kernel එකේ image file එකේ නම තමයි දෙන්න ඕන. මෙන්න මේක උදාහරණයක්.

fastboot flash boot xt1032-kernel.img

අන්න දැක්කනෙ? ඕන්න ඔහොමයි වැඩේ වෙන්නේ.

මතක තියාගන්න, අපි සාමාන්‍යෙන් Custom Kernel flash කරන්නේ මේ විදියට නෙවෙයි, Recovery එක හරහා. මේ විදියට පුළුවන් Stock Kernel එක ෆ්ලෑෂ් කරගන්නයි.


Flash ROM

fastboot mode එකේ ඉඳන් Stock ROM එක ෆ්ලෑෂ් කරන්නෙ මෙහෙමයි, මුලින්ම අපි ඩිවයිස් එක සුද්ද කරන් ඉන්න ඕන. ඒකට ගහනවා මෙන්න මෙහෙම.

fastboot -w

ඊට පස්සෙ අපි කමාන්ඩ් එකක් ගහනවා ROM එක ෆ්ලෑෂ් වෙන්න.

fastboot update <path/rom.zip>

ROM එකක් අපිට එන්නේ සාමාන්‍යයෙන් zip එකක් විදියට. (img file එකක් හදලා flash කරන අවස්ථා තියෙනවා.) අන්න ඒ zip එක තමයි අර කලින් කමාන්ඩ් එකෙන් ෆ්ලෑෂ් වෙන්නේ. උදාහරණයක් ගමු අපි සුපුරුදු ලෙසම.

fastboot update /rom/stock-lollipop-xt1032.zip

මතක තියාගන්න, මෙහෙම අපිට කස්ටම් රොම් එකක් ඉන්ස්ටෝල් කරන්න බැහැ. කස්ටම් රොම් එකක් ඉන්ස්ටෝල් වෙද්දි වෙන සමහර Process මේ විදියට Handle කරන්න බැහැ කියලා සරලව මතක තියාගන්න. අපි ඒවා කරන්නේ Recovery එකේ.

***

හරි, බොහොම හොඳයි... මම මෙතනින් මේ කතාව නිම කරනවා, fastboot commands ඉවර නිසා නෙවෙයි මට ඇති කියලා හිතෙන නිසා 😂 මේ මූලික ටික ඇති කෙනෙක්ට මේ ගැන හදාරන්න, ආසාව ඇති කරගන්න.

මම චුට්ටක් වත් කියලා දුන්නෙ නෑ නෙ ADB එකේ ඉඳන් Android Shell එකට පනින සිද්දි එහෙම. ආ... ඒවා හැම එකම කියලා දෙන්න මේකෙ ඉඩ නෑ පුතාලා. හොඳ හොඳ සෙල්ලම්, 😁 උවමනාව තියෙන එකා හොයාගනීවි.

එහෙනම් ඔන්න පොරොන්දු ඉෂ්ට කළා, ඊළඟට අරන් එන්නෙ Recovery ගැන. සැපටම 😂 ඒක අරන් එනකන්...

යන්න කලින් කියන්නෙ, මේ මොනා හරි කරලා ෆෝන් එක කෙළවාගැනීම සම්බන්ධව මම වග කියන්නෑ 😌 ඔයාලා මේවා කරන්න ගිහින් ෆෝන් එක කඩාගෙන මං ගාවට ඇවිල්ලා මට ඇඟිල්ල දික් කරොත්, මම බක බක ගාලා ඔයාට හිනා වෙන්නම්. ඔයාගෙ ෆෝන් එකට, ඔයා කරගන්න Modification ගැන පූර්ණ වගකීම ඔබ අතේ. 

අනික් කාරණාව, ඔයාලා දන්න දේවල් අපිටත් කියලා දෙන්න, මට මඟහැරුණු යමක් ඇත්නම් එකතු කරන්න, මගේ පෝස්ට් වල වැරදි ඇත්නම් පෙන්නන්න, පහළින් කමෙන්ට් කරන්න. මගේ ලොකු සීන් නෑ. අපි හරි අහිංසක ළමයි. :D

ගිහින් එන්නම්, ජය වේවා!
Share:

Wednesday, August 29, 2018

Bootloader එක කියන්නෙ මොකක්ද? Android Series - 1


හැඳින්වීම

හැමෝම පිළිගන්නවා අලුත් Post Series එකකට. මේ සිරීස් එක Android ගැනයි. Encryption Series එකත් වෙනම යන අතර මේකත් පටන්ගත්තේ එකම සබ්ජෙක්ට් එකක් ගැන කියවන එක වගේම ලියන මටත් එපා වෙන නිසා. හොඳයි, මම ෆේස්බුක් එකේ ඇහුවා කට්ටියගෙන් Android ගැන මුලින්ම ලියන්නේ Bootloader/Recovery ගැනද, Android Architecture එක ගැනද කියලා. කට්ටිය එක එක යෝජනා කරලා තිබුණ නිසා, මම මගේ පරමාධිපත්‍යය බලය 😂 පාවිච්චි කරලා තීරණය කළා පෝස්ට් පිළිවෙල මෙන්න මෙහෙම වෙන්න ඕන කියලා.

Bootloader > Recovery > Android Architecture > Kernel >>> And so on 😬

මම Root කිරීම එහෙම ගැන මේ අස්සේ ගහන්න බලාපොරොත්තු වෙන්නෑ. ඒ ගැන වෙනම ලියන්නම්. කොහොමත් මම ලියන්න බලාපොරොත්තු වෙන්නෑ Root කරන්නෙ කොහොමද කියන එක ගැන එහෙම. මම ලියන්නම් Root කියන්නෙ මොකක්ද කියන එක Linux වලින්ම පටන්ගෙන 😬 මොකද Android කියන්නෙ Linux kernel එක පදනම් කළ Mobile OS එකක් නිසා. හරි එහෙනම්, මේකයි හැඳින්වීමේ අවසානය, අපි අද Bootloader එක සහ Recovery එක ගැන කරුණු ආවරණය කරන්න උත්සාහ දරමු.

Bootloader ගැන පොදු කතාව.

හොඳයි මම දැන් කට්ටියව කරකවලා අතාරින්න යන්නෙ. මේක Android ගැන වුණාට, මම Android කියන එක පැත්තකට දාලා මම යන්න හදන්නෙ Operating System ඔක්කොම ගැන අවධානය යොමු කරන්නයි. මේ කුලකය ඇතුළේ Android කියන Mobile OS එකත් තියෙන නිසා, මේ කතා කරන දේවල් Android වලටත් වලංගු බව මතක තියාගන්න. Android වල විශේෂ කරුණු මම වෙනම කියන්නම්. අනික, මතක තියාගන්න, මම පරිගණකයක් කියලා කිව්වොත් එයින්, Smartphones, Tablets, Laptops, Desktops සහ අනෙකුත් පරිඝණකගත පද්ධති ඔක්කොම ගැන අදහස් කරන බව.

අපි පරිගණකයක Power Button එක එබුවම මොකක්ද වෙන්නේ? පරිගණකය පණගැන්වෙනවා, ඒ කොහොමද? මුලින්ම පරිගණකය කරන්නේ POST කරන එක. ලියුමක් නෙවෙයි ඈ. Power On Self Test කියන්නෙ ඒකට, මේවා මේ මොනාද මොන්ටිසෝරි පාඩම් නේ කියලා හිතයි දැන් කට්ටිය, කරන්න දෙයක් නෑ මොන්ටිසෝරි නොයා ඉස්කෝලෙ යන්න බෑ, ඉස්කෝලෙ නොයා කැම්පස් යන්න බෑ. ඉතින් අපි පිළිවෙලට යමු. Power On Self Test එකෙන් කරන්නේ පරිගණකයේ දෘඪාංග හරියට වැඩද කියලා පරීක්ෂා කිරීම කියලා ගොඩක් අය දන්නවා. ඒක කරන්නෙ BIOS චිපයෙන් නෙ,
අන්තිමට එයා හොයනවා මේ පරිගණකයේ Bootable media මොනා හරි තියේද කියලා, CD එකක්? Bootable Pen එකක්? Bootable Hard disk එකක්? ඔහොම හොය හොය ගියාම, සාමාන්‍ය අවස්ථාවේදී නම් පරිඝණකයේ ද්විතීක මතකයේ (බොහෝ විට Hard Drive එකේ) ගබඩා කරලා තියෙන  MBR (Master Boot Record) එක හෝ GUID (Globally Unique Identifier) එක අහු වෙනවා. මේ MBR එක හෝ GUID දත්ත තියෙන්නේ Bootable Media එකේ පළමු බිට්ටු 512 ගබඩා වෙලා.
(අමතර කරුණක් :- MBR සහ GPT නොහොත් GUID Partition Table කියන ක්‍රම දෙක භාවිතා කරලා පුළුවන් ඔයාගෙ Bootable drives ෆෝමැට් කරගන්න. මේ දෙකේ සෑහෙන්න වෙනස්කම් තියෙනවා. මාතෘකාවෙන් පිට නිසා මේ ගැන වැඩි කතා නොකර ඉමු)
ඉහත කිව්ව MBR/GUID පාටිෂන් ටේබල් වල ගබඩා වෙලා තියෙනවා බොහොම වැදගත් තොරතුරු දෙකක්.
  1. Bootloader
  2. Partition Table
(Android වල නම් ඇත්තටම bootloader එක ගබඩා වෙලා තියෙන්නේ /boot පාටිෂන් එකේ. ඉදිරියේ අපි පාටිෂන් ගැන මේ පොස්ස්ට් එකේ කතා කරනවා, ඒ නිසා මේ කතාව පටලගන්නැතුව අපි bootloader එක තියෙන තැන ගැන මින් මතුවට කතා නොකරම ඉමු.)  
අපේ ඉලක්කය මේ Bootloader එක නිසා අපි ඒ පැත්තට යමු. Partition ගැනත් ඉදිරියට කතා කරමු.

Bootloader එක කියන්නේ බොහොම කුඩා ප්‍රෝග්‍රෑම් එකක්. මේකෙන් කරන්නේ ද්විතීයික මතකයේ තියෙන දත්ත ටික අරගෙන ප්‍රධාන මතකයට (RAM එකට) මෙහෙයුම් පද්ධතිය load කරන එක. නමේම තියෙනවා නේ Boot-Loader 😬

අකමැත්තෙන් වුණත් අපේ Windows fan boys ලට වෙනවා මෙතනදි Linux ගැන ටිකක් ඉගෙනගන්න. මොකද Android කියන්නෙ Linux පාදක මෙහෙයුම් පද්ධතියක් නෙ. දැන් එතකොට කට්ටිය බලයි Windows වලට Bootloader එකක් නැද්ද කියලා. අපොයි තියෙනවා. ඒ ගැන අපි කතා කරන්න යන්නෑ මේකෙදි. 😂

මම ලිනක්ස් Bootloaders වලට උදාහරණ ටිකක් දෙන්නම් ආසයි නම් ඒ ගැන වැඩිදුර විස්තර Search පාරක් දාලා හොයාගන්න.
  1. GNU Grub
  2. Lilo
  3. BURG
  4. Syslinux
අපිට මේ Bootloader එකේ කිසිම User Interface එකක් බලාගන්න වෙන්නෑ ඔයාගෙ පරිගණකයේ තියෙන්නේ එක OS එකක් නම්. ගොඩක් අයගෙ එහෙමනෙ ඉතින්, Windows 10 නම් ඒකමයි නෙ. ඒත් අපේ සමහර Tech කැසිල්ල තියෙන අය දාගන්නවනෙ Windows එක්ක Linux එකම පරිගණකයක Dual Boot විදියට. ආන්න එතකොට නම් ඔය Bootloader එක ඇවිල්ලා අහනවා "බොට දැන් ඕන Windows ද? Linux ද?" කියලා. අපේ ෆෝන් වල නම් කවුරුත් Dual Boot කරන් නෑනෙ. (කරන්නත් පුළුවන් ඕන නම් සමහර ෆෝන් වල, වෙනස් රොම් දෙකක්, ඒවා මේක අස්සෙ ගහලා මොළේ අවුල් කරගන්න ඕන නෑනෙ.)

ඉතින් අපේ ෆෝන් වල තියෙන්නේ එකම OS එකක් නිසා සාමාන්‍යයෙන් අපිට මේ Bootloader එකේ හාංකවිසියක් දැනගන්න ලබෙන්නෑ. ඒත් අපිට නොපෙනී හොරෙන් මෙයා ලොකු වැඩක් කරනවා. ඒ මොකක්ද කියලා මම උඩ කියලා දුන්නා නෙ.

Android Bootloader එක ගැන.

අපි දැන් දන්නවනෙ, ඔය Bootloader කතාව තියෙන්නේ Android phone වල විතරක් නෙවෙයි කියලා. ඒකෙන් කරන වැඩෙත් අපි දන්නවනෙ. Android වල තියෙනවා තරමක් විශේෂ Bootloader එකක්. අපි දැන් අමුවෙන්ම Android වලට බහිමු.

Bootloader එක ගැන කියලා දෙන්න Android Partition ගැන කියලා නොදී බෑ. ඊළඟට අපි ඒ ගැන බලමු.

Android Partition

ඔයාලගෙ කම්පියුටර් වල Partition තියෙනවා වගේම අපේ Android වලත් තියෙනවා පාටිෂන්. පහළින් දාන්නම් ඒවා මොනාද කියලා. මේවා ඉස්සරහින් / මෙහෙම ඉරක් ගහනවා ඒක පාටිෂන් එකක් කියලා පෙන්නන්න. මොකද ලිනක්ස් පාටිෂන් නම් කරන සම්මත විදිය ඒකයි. ඒ නිසා ඒ ඇල ඉරට බය වෙන්න එපා හරිනෙ? 😂

/boot
/recovery
/system
/data
/cache
/misc
/sdcard

"සෑහෙන්න වෙනස් සීන් එකක් නෙ බං 😑 අපේ කොම්පියුටර් වල නම් පාටිෂන් තියෙන්නේ C: , D: එහෙම කියලා මේ මොන ජල්බරියක් ද?" කියලා බලන්න එපා දැන්. මේ අපි යන්නෙ Windows එක්ක නෙවෙයි Linux එක්ක. ආයෙත් කියන්න ඕන Android කියන්නේ Linux පාදක මෙහෙයුම් පද්ධතියක්. මේ පාටිෂන් වල නම් ටික Linux user කෙනෙක්ට නම් එච්චර දේවල් නෙවෙයි. මම මේ එක එකක් ගැන බොහොම ස්වල්ප වශයෙන් කියලා දෙන්නම්.

/boot - මේ Partition එකේ ගබඩා කරන්නේ Kernel එක සහ ramdisk එක.Kernel එක ගැන විශාල කතාවක් ඉදිරියට එන්න නියමිතයි, ඒ නිසා ඒ ගැන හිතන්න එපා. ramdisk එක ගැන ඉස්සරහට කතා වෙනවා.

/recovery - මේ ගැන වෙනම ලියන්නම් මම ඊළඟ පෝස්ට් එකේ.

/system - මේකේ තමයි  Kernel එක සහ ramdisk එක හැර සම්පූර්ණ Android OS එක වගේම System apps ටික ගබඩා වෙලා තියෙන්නේ. (Kernel එක සහ ramdisk එක කියන්නෙත් OS එකේ කෑලි, ඒවා දාලා තියෙන්නේ /boot පාටිෂන් එකට කියලා කලින් කිව්වා.)

/data - මෙන්න මේකෙ තමයි ෆෝන් එක පාවිච්චි කරන එකා ගොඩ ගහන කුණු කන්දල් සේව් වෙන්නෙ. මේකෙ සේව් වෙනවා ඔයාලා ඉන්ස්ටෝල් කරන ඇප්ස්, මැසේජස්, ඇප්ස් වලින් ගොඩගහන ඩේටා ආදී දේවල්. අනිත් දේ ඔයා හදන සෙටිංස් සේව් වෙන්නෙත් මේකට. මේ පාටිෂන් එක wipe නොහොත් සුද්ද කරලා දැමීමට අපි කියනවා ලොකුවටම Factory Reset / Master Reset කළා කියලා.

/cache - කෑෂ් මෙමරි ගැන ඔයාලා දන්නවා ඇති. අපි නිතර භාවිතා කරන දත්ත මේකේ ගබඩා කරලා තියාගන්නවා ඉක්මනින් ඒවට පිවිසෙන්න. ඕන නම් මේක ක්ලියර් කරලා දාන්න පුළුවන් මුකුත් අවුලක් වෙන්නෑ. ගොඩක් ෆෝන් වල මේක /data පාටිෂන් එක අස්සෙම ගහලා එවනවා.

/misc - මේ කොටසේ ගබඩා වෙන්නේ පද්ධතියේ සංකීර්ණ settings. ඉංගිරිසියෙන් කිව්වොත් miscellaneous system settings. මේකෙ ගබඩා වෙලා තියෙන්න පුළුවන් Carrier and Region Settings (CID) වගේ ඒවත්. දෘඪාංග සම්බන්ධ සැකසුම් එහෙමත්. මේ පාටිෂන් එක කෙළවගැනීම බොහොම බරපතළ අවුලක් වෙන්න පුළුවන්.

/sdcard - මේක නම් කට්ටිය දන්නවා ඉතින්. ෆෝන් එකේ මෙමරි කාඩ් එකක් නැත්නම්, මේ පාටිෂන් එකෙන් ඔයා ඩවුන්ලෝඩ් කරන දේවල් ආදිය නොයෙක් මගුල් තැම්පත් කරගන්න එක. මෙමරි කාඩ් එකකුත් තියේ නම්, තවත් පාටිෂන් එකක් කැඩෙනවා /sdcard2 වගේ නමකින්.

(මතක තියාගන්න, /cache /sdcard වගේ පාටිෂන් ගොඩක් ROM වල /Data පාටිෂන් එකේම උප කොටස් විදියට හදලා එවන බව. ඒක නිසයි Cache ක්ලියර් කරාම ඒකෙන් release වෙන ඉඩ ප්‍රමාණය /sdcard පාටිෂන් එකට එකතු වෙන්නේ.)

හරි, දෙයියනේ කියලා අපි දැන් වත් යමු ආයෙ Bootloader එකට.

Bootloader එක කරන වැඩේ.

ෆෝන් එක ඔන් වුණ ගමන් අපේ මේ Bootloader සගයා පරීක්ෂා කරනවා ෆෝන් එකේ මතකය, /boot පාටිෂන් එක විශේෂයෙන්. හැබැයි bootloader එක ගිහින් බලනකොට /boot පාටිෂන් එක හිස් නම්? නැත්නම් ඩේටා corrupt වෙලා නම්? මළ මගුලයි, ආපහු පිටිපස්සට දුවලා ගිහින් /recovery partition එක බලනවා, හුටා ඒකත් හිස් නැත්නම් data corrupt වෙලා, දැන් Bootloader එක බලනවා මේක ගොඩදාගන්න මොකෙක් වත් නෑ, /boot එකට ගිහින් බැලුවා ඒකෙ මෙලෝ මගුලක් නෑ, ඒකෙ kernel එක නැතුව කොහොමද මම OS එක බූට් කරන්නෙ ඉතින් /system පාටිෂන් එකේ OS එකක් තිබුණත් නැතත් වැඩක් නෑ ඒකෙ බලලා තේරුමක් නෑ නෙ. දැන් කවුරුත් නෑ, මම විතරයි කියලා හිතලා වහාම phone එක බූට් කරනවා Fastboot mode එකට. නැත්නම් Bootloader mode එකට, එහෙමත් නැත්නම් Download mode එකට. මේ ඔක්කොම එකයි.

ඔන්න චූ යන මොහොත. ෆෝන් එකේ මුකුත් නෑ, කලු පාට තිරේක කැත ෆොන්ට් එකකින් අකුරු ගොඩක් වැටිලා, ෆෝන් එක ටච් වෙන්නෑ, දෙයියනේ මොකක්ද මේ වුණේ. 😂

 එහෙම බය වෙන එක හරි සාධාරණයි. මොකද දැන් ෆෝන් එක තියෙන්නේ Critical state එකක. මෙහෙම වෙනවා ඔයාගෙ ෆෝන් එකේ විශාල Data corruption එකක් වීමෙන් හරි අත්වැරදීමෙන් පාටිෂන් ටිකට කෙළවීමෙන් හරි ඔයා හිතලම partition ටික wipe කිරීමෙන්.

ඔන්න ඔය Bootloader අවස්ථාවෙදි ඔයාට හැකියාව ලැබෙනවා ඔයාගෙ ෆෝන් එක USB cable එක ආධාරයෙන් fastboot / usb drivers install කරපු පරිගණකයකට සම්බන්ධ කරලා Recovery එක සහ OS එක ෆ්ලෑෂ් කරන්න.

(1.අනේ බය වෙන්න එපා flash කරනවා කියන්නේ ඉන්ස්ටෝල් කරනවා කියලා හිතාගන්නකො
2.මේ වැඩකෑලි දාන්න Bootloader එක Unlock වෙලා තියෙන්න ඕන. ඒ ගැන වෙනම අපි කතා කරනවා ඉදිරියේදී.) 

ඒකට fastboot commands පාවිච්චි කරන්නත් වෙනවා. මම ඒ ගැනත් වෙනම ලියන්නම්. ඒ ගැන කිව්වේ fastboot commands ගැන. මේක දැනටමත් හිතුවට වඩා දික් වෙලා තියෙන්නේ 😂 අපි උපකල්පනය කරමු ඔන්න අපි කෝම හරි අර අවුල් වෙලා තිබුණ හෝ හිස් ෆෝන් එකට Recovery එකක් සහ OS එකක් ෆ්ලෑෂ් කරා කියලා.

හරි දැන් අවුලක් නෑ අපි ඔන්න ෆෝන් එක රීස්ටාට් කරනවා,  bootloader එක දුවලා ගිහින් පරීක්ෂා කරනවා /boot පාටිෂන් එකේ තියෙන Kernel එක, ramdisk එක, අවුලක් නෑ, දැන් බඩු හෑව්. ඒ එක්කම ramdisk එකෙන් ඔක්කොම partition ටික mount කරලා සූදානම් කරනවා. Kernel එක load වුණ ගමන් ඊළඟට OS එක ලෝඩ් වෙනවා, Startup animation එක ඔන්න දැන් පේනවා ෆෝන් එක ඔන් වෙනවා, වැඩේ ගොඩ.

එතකොට දැන් කල්පනා කරනවද ඇයි මෙදා පාර bootloader එක /recovery එක පැත්තට දිව්වේ නැත්තේ කියලා? ඒ එයාට ඕන නැති නිසා. 😂 නෑ විහිළුවක් නෙවෙයි, bootloader එක /recovery එකට ගිහින් එයාව පණගන්වන්නේ OS එකේ කචල් එකක් තිබුණොත් විතරයි. එහෙම නැතත් සමහරවිට අපි බලෙන් ඔය රිකවරි එකට බූට් කරගන්නවා. ඒ වගේම පුළුවන් Volume keys සහ Power බට්න් එක ආධාරයෙන් Fastboot mode එකටත් boot කරගන්න. මේ බට්න් ඔබන්න ඕන ආකාරය ජංගම දුරකථන මාදිලියෙන් මාදිලියට වෙනස් වෙනවා. ඒවා ඊළඟ පෝස්ට් එකේ බලමු. ඊළඟට අපි විශේෂ කාරණාවක් බලමු.

Bootloader එක ලොක් කරලද?


ඔන්න කට්ටිය දන්න කතාව. Bootloader එක ලොක්, ෆෝන් එක Root කරන්නත් බෑ, කස්ටම් රොමක් ගහන්නත් බෑ මළ කෙළියයි සංසාරේ. 😌 මොකක්ද මේ අපභ්‍රංශ කතාව, මොකාද bootloader එක ලොක් කරේ? මොකාද ඒ බලු වැඩේ කරේ? 😂

ඒ බලු වැඩේ කළේ ඔයාගෙ ෆෝන් එක හැදුව සමාගම. හැම ජංගම දුරකථන සමාගමක්ම වගේ එයාලා නිෂ්පාදනය කරන ෆෝන් වල Bootloader එක ලොක් කරලයි/ එන්ක්‍රිප්ට් කරලයි එවන්නෙ. (ඉරිසියාකාර හැත්ත 😂) බනින්න එපා, එයාලා ඒක කරන්නේ අපේම සහ ෆෝන් එකේම ආරක්ෂාවටයි.
හැබැයි එක අතකට කුහක කම. උන් කැමති අපි උන් දාලා එවන OS එකයි උන්ගෙ අප්පිරිය ඇප් ටිකයි පාවිච්චි කරනවා නම්. මම නම් කියන්නෙ අපි සල්ලි දීලා ගන්න Hardware කොටස් වලට ගැලපෙන මෘදුකාංග අපි කොහොම දැම්මත් උන්ට ප්‍රශ්නයක් වෙන්න බෑ කියන එක.

ලොක් කරපු Bootloader එකක් සහිත ෆෝන් එකක System modification කරන්න Bootloader එක ඉඩ දෙන්නේ නැහැ. මම අර කලින් කිව්ව fastboot mode එකට දාලා command ගැහුවත් ඒවට response කරන්නෙ නැහැ, Authentication error එකක් එනවා. Bootloader එක lock තත්වයේ තිබියදී System modification බලෙන් කරන්න යාම ඉතාම බරපතළ ප්‍රශ්නයක් මොකද bootloader එක දැනගත්ත ගමන් මොකක් හරි වෙනසක් වෙලා කියලා එයා OS එක බූට් නොකර ඉන්නවා. මේවා කරන්නේ ඉතින් User ගෙ දත්ත වල ආරක්ෂාවටමයි. කවුරු හරි හොරෙන් ෆෝන් එක අරගෙන මොකක් හරි Harmful modification එකක් කරයි කියලා බයටයි.

fastboot වැඩ නෑ කියන්නෙ Custom Recovery ගහන්න බෑ, ඒ කියන්නෙ ඉතින් කස්ටම් රොමක් ෆ්ලෑෂ් කරගන්නත් බෑ, /system පාටිෂන් එක modify කරන්න බෑ ඒ කියන්නෙ root කරන්නත් බෑ. අහෝ දුකකි. මේ ලොකු කතා ඔක්කොම අපි පොඩි කරලා කතා කරමු ඉස්සරහට.

ඒ කොහොම වෙතත් සමහර ජංගම දුරකථන නිශ්පාදකයන් ඔයාගෙ ෆෝන් එකේ Bootloader එක අන්ලොක් කරගැනීමට සහය දක්වනවා, හැබැයි වගකීම් සහතිකය අහෝසි කරලා දානවා. ඒකට අදාළ ජංගම දුරකථන නිෂ්පාදකයා සම්බන්ධ කරගන්න ඕන.

ආයෙ ඉතින් ගොඩ වෙදකම් කරලා Bootloader එක අන්ලොක් කරගන්නත් පුළුවන්. හැබැයි ඉතින් ආයෙ කියන්න දෙයක් නෑ, Bootloader එක කියන්නේ බොහොම දරුණු කෙනෙක්. එයා නැතුව කිසිම දෙයක් වැඩ කරන්නෙ නෑ. රිකවරි එකට වත් බූට් වෙන්නෑ. Bootloader එක ඩැමේජ් කරගෙන ඔයාට පුළුවන් ෆෝන් එක කොළ හුළගේ යනවට බරක් විදියට පාවිච්චි කරන්න ගන්න. 😂

ඉතින් මම නම් අවවාද කරන්නේ, ඔයාට Bootloader එක අන්ලොක් කරගන්න ඕන නම් දුරකථන නිෂ්පාදකයා මුණගැහෙන්න, උන් ඕක අන්ලොක් කරන්න දෙන්නැත්නම් ඔය තියෙන මගුල පාවිච්චි කරන්න, මීට පස්සෙ ෆෝන් ගන්නකොට ඒ ෆෝන් මොඩ්ල් එක අන්ලොක් කරගන්න හරි ක්‍රමයක් තියෙනවද කියලා මුලින් බලලා පස්සෙ ගිහින් කඩෙන් ඒ ෆෝන් එක ගන්න 😑 රැල්ලට ගිහින් බූත ෆෝන් ගන්නැතුව.

Bootloader එක අන්ලොක් කරන එක ලේසියි ඔයාට Manufacture සපෝට් එක හම්බුණොත්, එයාලා බොහෝදුරට ඔයාට USB / Fastboot drivers බාගන්න ලිංක් එකකුත් දේවි, ඒවා පරිගණකයට ඉන්ස්ටෝල් කරගෙන ෆෝන් එක Fastboot mode, bootloader mode නොහොත් download mode එකට දාලා (ඒ මොඩ් එකට දාන ක්‍රම එක එක ෆෝන් වල එක එක විදියයි) USB කේබල් එකක් ආධාරයෙන් පරිගණකයට සම්බන්ධ කරලා Command Prompt එකේ කෝඩ් ටිකක් කොටලා පුළුවන් Bootloader එක අන්ලොක් කරගන්න. මම ඒ fastboot commands ටික අර මම කලින් කිව්ව වෙනම ලියන්න බලාපොරොත්තු වෙන පෝස්ට් එකට අරන් යන්නම්.

එහෙම අන්ලොක් කරගන්න දෙන්නැත්නම්, ඔයාගෙ ෆෝන් එක හදපු උන් කුහකයි නම්, 😑 XDA Developers කියලා හැමෝම කියවන සයිට් එකක් තියෙනවා. අන්න ඒකේ ඇති එකේක ගොඩ වෙදකම් එකේක ෆෝන් වලට එකේක විදියට. ඒ හැම එකම ඉතින් ලියන්න නම් අවුරුදු කීයක් යයිද මන්දා. 😂 ඉතින් ඒකේ බලන එක හොඳයි ඊට වඩා ඒක ලේසියිනේ. හැබැයි ඔය මොක හරි කරලා ෆෝන් එකට කෙළවන් නම් මං ගාවට එන්න එපා ගහන්නෙ පයින් ඔව්. 🤣 කවුරුත් බලෙන් ෆෝන් වල මොඩිෆිකේෂන් කරවන්නෑනෙ. ඔයයි තීරණය කළේ ඒක, ෆෝන් එක බ්‍රික් වුණොත්, කෙළවුණොත් ඔයාම ඒකෙ පාඩුව දරාගන්න. Risk එකක් නැතුව මුකුත් කරන්න බෑ.

***

හිතුවට වඩා සෑහෙන දික් වුණා නේද පෝස්ට් එක. කෝම හරි, ඔන්න ඕකයි Bootloader කතාව. තව මොනා හරි මට ලියන්න බැරුව හැලුණා නම් මාව දැනුවත් කරන්න ඊළඟ එකේ ලියන්නම්. දැන් පොරොන්දු හතරක් එක්ක තමයි මේක නවත්තන්න වෙන්නේ

  1. Recovery ගැන ඊළඟ එකේ ලියන බව.
  2. Fastboot commands ගැන තව වෙනම පෝස්ට් එකක් ලියන බව.
  3. Android Rooting ගැන වෙනම පෝස්ට් එකක් ලියන බව.
  4. Kernel එක ගැන.
කට්ටියට මේක කියවලා Android modification තිත්ත වුනාද දන්නෑ. 😂 බය වෙන්න එපා ළමයි. මේ ආරම්භය විතරයි. ඉදිරිය බොහොම ලස්සනයි, මීට වඩා බය හිතෙනවා 😁

හරි එහෙනම්, නැවත මුණගැහෙමු! ඔබට ජය!!
Share:

Monday, August 27, 2018

ඔයාගෙ කම්පියුටර් එක, ලැප් එක හෝ ෆෝන් එක අප්ඩේට් කළ යුත්තේ ඇයි?

 මේක මම මේ ලියන්න හිතක වත් තිබුණු දෙයක් නෙවෙයි, හැබැයි මම මේ කට්ටියගෙ කතා ඇහුවම මට තේරුම්ගියා තමන්ගෙ ඩිවයිසස් වල software update කරගන්නෙ ඇයි කියලා වත් ගොඩක් අයට වැටහීමක් නැති බව.

අපේ රාජකීය OS එක වුණු Windows XP වලට දිගින් දිගටම Security patch අලවමින් සහයෝගය දක්වපු Firefox browser එකත් මේ මාසෙන් පස්සේ XP වලට වගේම Vista වලටත් අප්ඩේට් දෙන එක නවත්තලා දාන්න යනවා. (Chrome එකේ updates නැවතුනේ 2015 දි.) ඒ ගැන Mozilla එකෙන් දැම්ම announcement එක මම දාන්නම් මෙතන පහළින් ගිහින් බලන්නකො. ඉතින් මහ ලොකු දෙයක් ඕන නෑ, ඒ Announcement එක කියෙව්වත් ඇති මේ Software updates වල වැදගත්කම තේරුම්ගන්න.

Firefox is ending support for Windows XP and Vista

මේ පෝස්ට් එක ලියවෙන්න අර Firefox කතාවත් හේතුවක් වුණා. අන්න ඒකයි ඕකත් දැම්මේ.

Software updates ගැන කතා කරනකොට අපිට මෙහෙයුම් පද්ධති වල updates විතරක් කතා කරලා මදි. ඒ මෙහෙයුම් පද්ධති මත ස්ථාපනය කරන Application Software වුණත් යාවත්කාලීන කරගන්න ඕන. Driver software වගේ  Utility software ත් අප්ඩේට් කරන්න ඕන. නැතිනම් අපේ උපාංගය නිවැරදි යාවත්කාලීන කිරීමක් වෙන්නේ නැහැ. හැබැයි, Applications/Utilities නැතත් OS එක හරි අප්ඩේට් කරගැනීම නම් ගොඩක්ම වටිනවා.

අපි බලමු ඇයි අපි අපේ Devices වලට software updates දෙන එක මෙච්චර වැදගත් ඇයි කියලා.

අලුත් features සහ apps ලබාගැනීම. 

අපේ ගොඩක් අය තමන්ගෙ උපාංග යාවත්කාලීන කරගන්නේ මෙන්න මේක නිසා. මේකත් බොහොම සාධාරණ කාරණාවක්. දැන් බලන්නකො අපි හරි ආසාවෙන් ඉන්නවා අපේ ෆෝන් වල Android Update එකක් කරගන්න. ඒ අලුත් Version එකේ අලුත් features අත්විඳින්න නෙ.  

තාක්ෂණය කියන එක දිනෙන් දින දියුණු වෙන දෙයක්. ගෙවිලා යන හැම තත්පරයකම මේ දියුණුව සිදුවෙනවා. ඒ වගේම අලුත් Software වුණත් එන්න එන්නම සුමට, වඩා කාර්යක්ෂම සහ දැකුම්කළු වෙනවා. නිකමට හිතලා බලන්නකො ඉස්සර Windows 98 වගේද දැන් තියෙන Windows 10? ඉස්සර Android Gingerbread වගේද දැන් තියෙන Android Oreo? (ඔව් ඔව් Android Pie සංස්කරණයත් එළියට දැම්මා තමයි, ඒත් ඒක තාම භාවිතයේ අඩුයි නෙ.)

මේ මෙහෙයුම් පද්ධති, හැම අතින්ම ලස්සන, කාර්යක්ෂම සහ වඩා පහසුවෙන් හැසිරවිය හැකි ඒවා බවට පත් වුණා. ඒ වගේම ඉතින් ඒ Software වලට ඕන කරන hardware requirements එහෙමත් වැඩි වුණා. 

දෝෂ නිරාකරණයට (Bugs Fixing)

කවදාවත්, කාටවත්, මෙන්න මේ Software එක මම හදලා ඉවරයි මේකේ කිසිම අඩුපාඩුවක් නෑ, ආයෙ කවදාවත් අප්ඩේට් කරන්න ඕනෙත් නෑ අවුරුදු 1000ක් වුණත් පාවිච්චි කරන්න පුළුවන්, කියලා කියන්න බෑ. 

ඒ මොකද කිව්වොත් Software development කියන්නේ Cycle එකක් (චක්‍රයක්). මම ඒක මේ පහතින් දාන්නම් බලාගන්න. Hardware වල දියුණුවත්, අවශ්‍යතා වල වෙනස් වීම් වගේම කොහේ හරි තියෙන දෝශයක් නිසා කවදාවත් අපිට සර්ව සම්පූර්ණයෙන් ආරක්ෂිත, කවදාවත් අප්ඩේට් කරන්න අවශ්‍ය නැති Software එකක් රිලීස් කරන්න බැහැ.
නිකමට හිතලා බලන්නකො, කොච්චර ආරක්ෂිත උපක්‍රම යොදලා හැදුවත් Windows මෙහෙයුම් පද්ධතිය තාම කට්ටිය හොරෙන් පාවිච්චි කරන්න ක්‍රැක් කරනවා. Computer Games කොහොම කළත් ක්‍රැක් කරලා රිලීස් කරනවා. අඩුම ගාණෙ කම්පියුටර් වල ආරක්ෂාවට දාන් ඉන්න Virus Guards පවා ක්‍රැක් කරනවනෙ. ඔව් ඉතින් අර සල්ලි දීලා ගන්න ඕන Kaspersky එහෙම ක්‍රැක් කරලා දාන් ඉන්නෙ කට්ටිය.   

ඉතින්, මම කියන්න උත්සාහ කළේ, කිසිම Software එකක් මෙන්න හදලා ඉවරයි කියලා එකක් නැහැ. මම අර උඩින් දැම්ම චක්‍රයේ විදියට යන්න ඕන. සොයාගන්න දෝෂ නිරාකරණය කරගන්න නම් අලුත් updates දෙන්න ඕන. අන්න ඒකත් අපි Software update කරගැනීම වැදගත් කාරණක් වීමට හේතුවක්. 

සමහර අය කියනවා, අනේ මට නම් අහවල් OS එකේ/ Software එකේ වරදක් නෑ, යසට වැඩ කරනවනේ කියලා. හැබැයි ඒ ඔයා හිතන් ඉන්න විදිය වැරදි වෙන්න පුළුවන්. මොකද, මෘදුකාංග වල හැම දෝෂයක්ම User ට පේන්නේ නෑ. එක්කෝ ඒ software එකෙන් ඔයාගෙ system එකම ස්ලෝ කරනවා වෙන්න පුළුවන්. නැත්නම් ඔයාගෙ පෞද්ගලිකත්වයට පවා හානි කරන මහ ලොකු ඔයාට නොපෙනෙන security hole එකක් තියෙන්නත් පුළුවන්.

යම්කිසි OS එකක හෝ කිසියම් Application Software එකක ඔයාට පේන්න වරදක් තිබුණේ නෑ කියලා ඒක සම්පූර්ණයෙන් දෝෂ රහිත එකක් නම් වෙන්නෑ. 

Updates වලින් පුළුවන් මේ දෝෂ මඟහරවාගන්න. අන්න ඒකත් ඔයාගේ උපාංග Updated විදියට තබාගන්න හොඳ හේතුවක්. 

ඔබගේ දත්ත සහ උපාංගයේ ආරක්ෂාවට


ඒක නිකන් අමුතු කතාවක් වගේ පෙණුනට, ආරක්ෂාව පැත්තෙන් කෙලින්ම බලපාන දෙයක් තමයි මේ Updates. එච්චර බරපතළව හිතන්න ඕන නෑ, හොඳම උදාහරණය තමයි Android security patch කියන්නෙ. අපි බලමු මේ මොකක්ද කියලා.

Android security patch එකක් කියන්නේ මාස්පතා Google සමාගමෙන් ඔයා පාවිච්චි කරන ඇන්ඩ්‍රොයිඩ් ෆෝන් එකට එවන අප්ඩේට් එකක්. ඒක Patch එකක් කියන්නෙ ඇයි.? Patch එකක් පාවිච්චි කරන්නේ මොකටද සාමාන්‍ය ජීවිතයෙදි? අපේ බයික් එකක ටයර් පන්ච් එකක් ආවම අපි පැච් එකක් දානවා. ඇත්තටම ඒ අපි කරන්නේ සිදුරක් වහන එක නෙ. අන්න ඒ වගේ Android Security Patch එකෙන් කරන්නේ Android OS එකේ හොයාගන්න Security දෝෂ වලට පිළියම් යෙදීම.
 Android කියන්නෙ ලෝකෙ වැඩිම දෙනෙක් භාවිතා කරන ජංගම මෙහෙයුම් පද්ධතිය. ඉතින් මේකේ Maintenance එක කරන් යන්න Android අයිති Google සමාගම ලොකු වැඩක් කරනවා. ඒ Maintenance එක අතරෙදි මාස්පතාම Android මෙහෙයුම් පද්ධතියේ සැඟවුණු Security holes හොයාගන්නවා, ඒ වගේම ඒවා වහන්න patch එකක් දෙනවා. ගොඩක් Flagship දුරකථන වල නම් මේ අප්ඩේට් එක මාස් පතා හෝ මාස දෙකකට, තුනකට සැරයක් එනවා. OTA - Over the air අප්ඩේට් එකක් විදියට. ඒත් ගොඩක් Mid range ෆෝන් වලට නම් මේක ඒ විදියට එනවා අඩුයි. එන ෆෝන් එහෙමත් ඇති. ඒත් Google සමාගමෙන් නම් ඉතින් හැම මාසෙම මේක දෙනවා. LineageOS වගේ Android කස්ටම් රොම් එකක් පාවිච්චි කරනවා නම්, ඔයාට මේක මාස්පතාම අප්ඩේට් කරගන්න පුළුවන්. (කස්ටම් රොම් එකක වාසියක්)

අපි මේ කතා කළේ Android ගැන. එතකොට අනික් OS වල එහෙම නැද්ද? අපොයි ඇයි නැත්තෙ. Linux OS වල සිස්ටම් / Kernel updates කොච්චර එනවද? Windows වල අප්ඩේට්ස් (බයයි නෙ ඒවට නම් 😂) ඒවත් එහෙමයි, ඕනම මෘදුකාංගයක දෝෂ හොයලා ඒවා නිරාකරණය කරගන්න වෙනවා. මොකද ඔයාට කලින්ම පෙන්නපු Software development life-cycle එකේ අන්තර්ගතයෙන් ඒක බලාගන්න පුළුවන්.

***

හොඳයි, එහෙනම්... මං හිතන්නෙ දැන් අප්ඩේට් ගන සැලකිය යුතු දෙයක් දන්නවනෙ. හැමදාම කියනවා වගේ, දැණුම හොයාගෙන යන්න, මගේ පෝස්ට් එකේ යම්කිසි වරදක් තියේ නම් කියන්න, ඒ වගේම යමක් එකතු කරන්න ඕන නම් කමෙන්ට් කරන්න. එහෙනම්, ඔබට ජය!
Share:

Monday, August 13, 2018

Encryption ගැන සරලව සිංහලෙන් - 3 Asymmetric Encryption Method


ඔන්න පෙරුම් පුරාගෙන ලියන් ආව පෝස්ට් සෙට් එකේ, තවත් ලස්සන කතාවක් තමයි අද පෝස්ට් එකෙන් කියන්න සූදානම් වෙන්නෙ. Asymmetric Encryption නැත්නම් Public Key Encryption ගැන තමයි අද අපි කතා කරන්න යන්නෙ. ඔයාලට මේක ගැන ආසාවක් හිතෙන්න මම කියන්නම්, මේ ක්‍රමය තමයි HTTPS වල භාවිතා වෙන්නේ. ඒ වගේම SSL වලත්, Bitcoin වලත් භාවිතා වෙන්නේ Public key encryption ක්‍රමය තමයි. මේක කියවන්න කලින් මම ආරාධනා කරනවා මේ පෝස්ට් Series එකේ පළමු සහ දෙවැනි  පෝස්ට් කියවන්න කියලා. මම ඒවයෙ ලිංක් පහතින් දාන්නම්.

Encryption ගැන සරලව සිංහලෙන් - 1 Hashing

Encryption ගැන සරලව සිංහලෙන් - 2 Symmetric Encryption Method

එහෙනම් තවත් අටුවා ටීකා අවශ්‍ය නෑ. අපි කෙලින්ම යමු පාඩමට.
*** 

Asymmetric Encryption Method කියන්නේ මොකක්ද?


Symmetric Encryption ගැන අපි දැන් දන්නවා, එතනදි යතුර විදියට භාවිතා වුණේ එකම වචනයක්, හෝ චේදයක් හෝ කිසියම් සංකේත කීපයක්. අපි මොකක් හරි රහස්‍ය ලියවිල්ලක් Encrypt කරන්නත්, ආයෙ Decrypt කරලා කියවන්නත් පාවිච්චි කළේ මෙන්න මේ යතුර. ඔයලා හිතුවද මේ යතුර අපි අනිත් කෙනාට යවන්නෙ කොහොමද කියලා? මේක පැහැදිලි කරගන්න උදාහරණයක් ගනිමු.

ඔයයි, ඔයාගෙ ගෑණු ළමයයි ඉන්නේ ළඟපාතක නම්, ඔයාට පුළුවන් එයාව රහසේ හම්බෙන්න. හම්බෙලා වෙන වැඩ කරන්න නෙවෙයි, ඔයාට පුළුවන් එයාට කියන්න රහසින්, "බබෝ, මම වෙන උන් අපේ මැසේජ් කියවනවට ඒවා එන්ක්‍රිප්ට් කරලයි මීට පස්සෙ එවන්නෙ, මෙන්න මේකයි ඒවා ඩීක්‍රිප්ට් කරන කී එක, ඔයා මේක පාවිච්චි කරලා, මම එවන Encrypted Cypher text එක ඩීක්‍රිප්ට් කරගන්න." කියලා කෙල්ලට Key එක දෙන්න පුළුවන්.

ඒත් ඔයාගෙ කෙල්ල ඉන්නෙ කොරියාවෙ නම්, (උදාහරණයක් :P) ඔයාට කොරියාවට ගිහින් මේක කියලා දෙන්න අමාරුයි නෙ. කී එක ඊමේල් වලින් යවන්න පුළුවන් ඒත් ඒකත් ආරක්ෂිත කරන්න ක්‍රමයක් නෑ, මැදින් හැකරෙක් ගන්න පුළුවන්. නැත්නම් ෆෝන් කෝල් එකක් අරන් කියලා දෙන්න පුළුවන්, ඒත් ආරක්ෂිත නෑ කෝල් එක ටැප් කරොත්? අන්න ඕකයි Symmetric Encryption වල බොහොම ලොකු අවුල. අපි කොච්චර තඩි කී එකක් හදලා, අදාළ රහස්‍ය පණිවිඩය Encrypt කරත්, ඒ කී එක කාට හරි ගන්න පුළුවන් නම් ඒ Encryption එකේ ඵලක් නෑ. Symmetric Encryption වල තියෙන මේ ප්‍රධානම ගැටළුව හෙවත් යතුර වෙන කෙනෙක් අතට පත් වීමේ ගැටළුව නැති කරන්න තමයි Asymmetric නොහොත් Public Key Encryption එක ආවෙ. මේ ගැන මම පුළුවන් තරම් සරලව පැහැදිලි කරන්න බලන්නම්, හැබැයි මේකෙ ගණිතමය කොටස නම් සරල කරන්න බෑ. බෑ කියන්නෙ ඒක කාටවත් කරන්න පුළුවන් එකක් නෙවෙයි, එහෙම සරල කරලා කියලා දෙන්න පුළුවන් නම් ඉතින් හොඳයි. හරි, ඒ ගණිතමය කතාව පහුවට දාලා අපි මේකෙ කන්සෙප්ට් එක බලමු.
 
1970 දි James H. Ellis කියන බ්‍රිතාන්‍ය ජාතික Cryptographer (ගුප්ත කේත විසේසඥයා කියමුකො) තමයි මේ Public Key Encryption සංකල්පය අරන් එන්නෙ. එයා කියන්නෙ මේකයි,

එක යතුරක් වෙනුවට යතුරු දෙකක් පාවිච්චි කිරීම. මේක සැබෑ ලෝකේ උදාහරණයක් අරන් පැහැදිලි කරන්න අමාරුයි, මොකද එක ඉබ්බෙක්ට තියෙන්නේ එකම ආකාරයක යතුරු නෙ. ඒත් මේ කතාවෙදි ඔයා හිතාගන්න ඕන, අමුතු තාලේ අගුලු නොහොත් ඉබ්බො වර්ගයක් ගැන. මේ ඉබ්බො කඩෙන් ගන්නකොට යතුරු දෙකක් දෙනවා. මේ යතුරු දෙකම මේ ඉබ්බට දාන්න පුළුවන්, මේ ඉබ්බා අතින් තද කරලා ලොක් කරන්න බැහැ. මේ ඉබ්බා ලොක් කරන්න නම් අර හම්බුණ යතුරු ජෝඩුවෙන් එකක් පාවිච්චි කරන්න ඕන. ඒ යතුරෙන් පුළුවන් මේ ඉබ්බා ලොක් කරන්නම විතරයි. ඒක ඔබලා කොච්චර කැරකුවත් මේක ආයෙ අරින්න බෑ. මේ ලොක් එක අරින්න නම් අර යතුරු ජෝඩුවේ අනික් යතුර ඕන. ඒකෙන් මේ ඉබ්බා ලොක් කරන්න බෑ, ඒත් ලොක් එක අරින්න පුළුවන්. ඕන්න ඕකයි කතාව. මේක පැහැදිලි කරන්න අපි ටිකක් නෝටි උදාහරණයක් ගනිමු.

ඔයා ටිකක් සල්ලාල ටයිප් කොල්ලෙක් කියලා හිතන්නකො, ඔයා රෑට රෑට කෙල්ලො ගෙන්නගන්නවා ඔයාගෙ කාමරේට. ඔයාගෙ කාමරේ දොරේ තියෙන්නේ Asymmetric ලොක් එකක්. ඔයා ගෙන්නන් එන කෙල්ල එක්ක රෑ ඉඳලා ඔයාට උදේම වැඩට යන්න ඕන. හැබැයි දන්නවනෙ, කෙල්ලො කියන්නෙ කම්මැලි ජාතියක්. (බහුතරය) උන් උදේ දහය පහු වෙනකන් නිදාගන්නවා. ඉතින් ඔයා කරන්නෙ ඔයාගෙ අර Asymmetric ලොක් එකත් එක්ක හම්බුණ යතුරු දෙකෙන් අගුල ලොක් කරන්න විතරක් භාවිතා කරන්න පුළුවන් යතුර (Public Key) එක දෙනවා අර කෙල්ලට. දීලා කියනවා, "සුදූ, මම වැඩට යනවා, මේ තියෙන්නේ මගේ කාමරේ යතුර, ඔයා කාමරෙන් යනකොට දොර ලොක් කරගෙන යන්න" කියලා අර Public Key එක කෙල්ලට දීලා ඔයා යනවා වැඩට. ඉතින් අර කෙල්ලට දැන් හෙන හැපී, "අනේ මේ අයියා කාමරේ යතුරත් දුන්නා මට, මාව මෙයා කසාද බඳී අනේ" කියලා හිතලා  ආයෙ නිදාගෙන දහයට විතර ඇහැරිලා කාමරේ ලොක් කරලා යන්න යනවා. හැබැයි ඒ කෙල්ල කවදා හරි ආපහු ඇවිල්ලා අර යතුර ලොක් එකට දාලා කැරකුවට ආයෙ කවදාවත් ඔයාගෙ කාමරේ අගුල අරින්න බැහැ. මොකද කෙල්ල ගාව තියෙන්නේ Public Key එකක් විතරයි. අගුල අරින්න භාවිතා වෙන Private Key එක තියෙන්නේ ඔයා ගාව විතරයි.

මම දැන් කිව්වනෙ මේ කොල්ලා සල්ලාල කොල්ලෙක් කියලා. ඉතින් මේ කොල්ලා එක එක දවසට ගේන්නේ එක එක කෙල්ලෝ. ඉතින් ඒ හැමෝටම දෙන්න මෙයා ගාව Public Key එකේ කොපි විශාල ප්‍රමාණයක් අර යතුරු කපන තැනකට දීලා හදවන් ඉන්නවා. මේ Public Key කවුරු ගත්තත් එයාට ප්‍රශ්නයක් නෑ මොකද ඒ යතුරෙන් පුළුවන් එයාගෙ දොර ලොක් කරන්න විතරයි. ලොක් එක අරින්න නම් එයා ගාව තියෙන Private Key එක ඕනමයි. මෙන්න මේ Private Key, පෞද්ගලික යතුර නොහොත් ලොක් එක අරින්න පාවිච්චි වෙන යතුර අතිශයින් පෞද්ගලිකයි, මේක කිසිම විටෙක කාත් එක්ක වත් බෙදාගන්නෑ.

එහෙනම්, ඕන්න ඕකයි Public Key Encryption කන්සෙප්ට් එක. අර නෝටි උදාහරණය නැතුව මේක නියම විදියට කිව්වොත්, මෙහෙමයි.

ඔයාට Whatsapp වල යාළුවෝ 5 දෙනෙක් ඉන්නවා කියමුකො. ඒ පස් දෙනා ගාවම ඔයාගෙ Public Key එක තියෙනවා. එයාලගෙන් කාට හරි ඔයාට මැසේජ් එකක් එවන්න ඕන වුණාම එයාලා කරන්නේ, මැසේජ් එක ලියලා ඒක ඔයාගෙ Public Key එකෙන් ලොක් කරලා (Encrypt කරලා) ඔයාට එවනවා. (ඔයා දන්නවනෙ මේ Asymmetric Encryption කියලා. මේ වැඩේදි ඕන කෙනෙක්ට ඔයාගෙ Public Key එක පාවිච්චි කරලා ඔයාට එවන පණිවුඩ Encrypt කරන්න පුළුවන් වුණාට, කවදාවත් ඔයාගෙ Public Key එක පාවිච්චි කරලා ඒ පණිවිඩය Decrypt කරලා කියවන්න බැහැ. ඔයාට එව්ව පණිවිඩය Decrypt කරන්න නම්, ඔයා ගාව කාටවත් නොදී රහසේ තියන් ඉන්න Private Key එක ඕන.) ඔයා ඔයාගෙ Private Key එක භාවිතා කරලා අර යාළුවා ඔයාට එවපු මැසේජ් එක Decrypt කරලා කියවනවා.

ඔයාට ඔයාගෙ යාළුවෙක්ට මැසේජ් එකක් යවන්න ඕන වුණත් එහෙමයි, ඔයා ගාව තියෙනවා ඔයාගෙ යාළුවගෙ Public Key එක. ඔයා ඒක භාවිතා කරලා යාළුවට යවන්න ඕන පණිවිඩය Encrypt කරලා, යාළුවට යවනවා. මේ පණිවිඩය Decrypt කරගන්න පුළුවන් ඒ අදාළ යාළුවා ගාව තියෙන එයාගෙ Private Key එකෙන්ම විතරයි. ඉතින් අන්න ඒකයි මෙතන තියෙන කතාව.

මතක තියාගන්න, ඔයාට තියෙන්නේ Private Key එකේ එක කොපියයි, ඒක තියෙන්නේ ඔයා ගාවම විතරයි. හැබැයි පබ්ලික් කී එකේ කොපි හැම තැනම තියෙනවා. උදාහරණයක් විදියට ඔයාගෙ යාළුවෝ ඔක්කොගෙම ළඟ තියෙනවා. ඕන කෙනෙක්ට ගන්නත් පුළුවන්. ගත්තට වැඩක් නෑ ඉතින් ඒකෙන් පුළුවන් ඔයාට එවන මැසේජ් එකක් Encrypt කරන්නම විතරයි නෙ. ඒ වගේම ඔයාගෙ Public Key එකෙන් Encrypt කරපු කිසිම ලියවිල්ලක් වෙන කෙනෙක් ගෙ Private Key එකකින් කියවන්නත් බෑ. ඔයාගෙම Private Key එක තියෙන්න ඕන. දැන් ඔයාට මේක කියන් යනකොට මීටර් වෙනවා ඇති, මේ ක්‍රමය නිසා අදාළ මැසේජ් එක, වෙන කාටවත් නොලැබී, අදාළ පුද්ගලායටම ලැබීම තහවුරු වෙනවා කියලා.

ඉතින් ඔයාට දැන් තේරෙන්න ඇති, ඔයාට යාළුවෝ 100ක් විතර ඉන්නවා නම් ඔයාට මේ එකේක්කෙනාගේ Public Keys දාලා තියන්න රාක්කයක් ඕන වෙනවා කියලා. :P ඇත්තටම මෙහෙම Public Keys දාලා තියෙන රාක්ක (Databases) තියෙනවා, අපිට ඒවා පේන්නෑ. ඒ වගේම කවදාවත් ඔයාගෙ Private Key එක නම් ඔය කිසිම රාක්කයක නෑ. ඒක තියෙන්නේ බොහොම ආරක්ෂිත ස්ථානයක. සුරක්ෂිතව. ඒ කොහෙද කියලා මගෙන් අහන්න එපා මං දන්නෑ. :D

RSA Encryption 

1970 දි James H. Ellis මේ කන්සෙප්ට් එක ගෙනාවට මොකද, මේක කරගන්නෙ කොහොමද කියලා හාංකවිසියක් එයාට තිබුන්නෑ. මොකද පරිගණක තාක්ෂණය පැත්තට ආවම මේ ඉබ්බෝ, යතුරු කම්මල් වල හදලා පාවිච්චි කරන්න බෑ නෙ. මේ යතුරු, ඉබ්බෝ, ඔක්කොම හදන්න ඕන ගණිතමය ස්වරූපයෙන්, ඇල්ගොරිතම විදියට. මේ Public Key කතාව හරි ලස්සන, ප්‍රායෝගික සහ පහසු වුණාට, මේක කොහොමද පරිගණක වලට ඉම්ප්ලිමෙන්ට් කරගන්නේ කියලා හැමෝම දහ අතේ කල්පනා කරා.

ඊට අවුරුදු කීපයකට පස්සෙ Ron Rivest, Adi Shamir, සහ Leonard Adleman කියන තුන් දෙනා එකතු වෙලා හොයාගන්නවා මේ Public Key encryption කතාව ගණිතමය ස්වරූපයෙන් කරගන්නේ කොහොමද කියන කාරණාව. මෙයාලා ඒක 1978 දී ප්‍රසිද්ධියට පත් කරනවා. ඉතින් මේ ක්‍රමවේදය එයාලා නම් කරන්නෙ එයාලගෙ Surnames වල මුල් අකුරු වලින්, (R - Rivest S - Shamir A - Adleman) RSA ක්‍රමවේදය අන්න එහෙම හැදෙනවා.

RSA ක්‍රමවේදයේ ගණිතමය ස්වරූපය මම මේ පෝස්ට් එක අස්සෙ ගහන්න යන්නෑ. මොකද මේ තියෙන ටිකත් හැලෙන්න පුළුවන්. ඉතින් මම තීරණය කළා ඒක Encryption post series එකේ 4 වෙනි කොටසට අරගෙන යන්න. ඔයාලා දැනට මතක තියාගන්න, RSA cryptosystem එක නිසා අර ඉබි යතුරු දෙකේ කතාව පරිගණක වලට implement කරගන්න පුළුවන් වුණා කියලා විතරක්. 

***

හොඳයි, එහෙනම් පරිගණක ලෝකයේ ටිකක් සංකීර්ණ වගේම ගොඩක් ආස හිතෙන කාරණාවක් වෙන Cryptography හෙවත් Encryption ගැන ලියන් යන post සිරීස් එකේ තවත් එක් පෝස්ට් එකක නිමාව තමයි මේ. ඊළඟට තමයි මොළේ කුරුවල් වෙන කතා ටික තියෙන්නේ. ඉතින් මේ ගැන ගැඹුරින් අධ්‍යනය කරන්න ඒ කොටස නැතුවත් බෑ. හරි එහෙනම්, අපි තවත් පෝස්ට් එකකින් මුණගැසෙමු. ඔබට ජය!
Share:

Sunday, August 12, 2018

100% සීනි රහිත බීම, පැණිරස වෙන්නේ කොහොමද?

කාලෙකින් පෝස්ට් එකක් දාන්න නොහැකි වුණ නිසා, මම හිතුවා පෝස්ට් එකක් දාන්න ඕන කියලා. Encryption ගැනත් පෝස්ට් එකක් එන්න තියෙනවා, ඒක ටිකක් පිටිපස්සට දාලා මේ අලුත් කතාව ගැන කතා කරමු.
***

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



මම මුලින්ම දැක්ක සීනි රහිත බීම එක තමයි කොකාකෝලා වලට ආදේශකයක් ලෙස ආව කොකාකෝලා සමාගමෙන්ම හැදුව Zero Coke කියන බීම වර්ගය. ඊට පස්සේ ලංකාවේ සියළුම බීම වර්ග සීනි රහිත කියන ලේබලයත් එක්ක එන්න ගත්තා. දැන් මට ආව මුල්ම ගැටළුව තමයි, මේ බීම එකක් සීනි නොමැතිව පැණි රස කරන්නේ කොහොමද කියන එක. එහෙම පැණිරස කරන්න යොදන රසායන ද්‍රව්‍යක් වෙනවා නම් ඒක අපේ ශරීරයට හිතකර ද කියන කාරණාව.

ඒ ගැන හොයාගෙන ගිය ගමනේදි මම එකතු කරගත්ත තොරතුරු ටික මම මේ පෝස්ට් එකේ පෙළගස්වන්නයි හදන්නෙ. මේ ක්ෂේත්‍රය ගැන මම ප්‍රවීණයෙක් නම් නෙවෙයි, මම බොහොම කැමතියි කවුරු හරි දන්න කෙනෙක් මේ කරුණු සංශෝධනය කරන්න හරි, අලුතින් යමක් එකතු කරන්න හරි දායකත්වයක් ලබා දෙනවා නම්, එහෙනම් අපි බලමු මම හොයාගත්තේ මොනාද කියලා.


Stevia - (Stevia rebaudiana bertoni) නොහොත් පැණි පලා

සීනි නොමැතිව පැණි රස ලබාගන්න බහුලවම භාවිතා වෙන්නේ මෙන්න මේ ශාකය තමයි.  ලංකාවේ මේ ශාකය වවන කෙනෙක් ගැන විස්තරයක් ලංකාදීපයේ පළ වුණා. ඒක මෙන්න මෙතනින් (Click here for Lankadeepa article) කියවන්න පුළුවන්. ඒ ලිපියේ මේ ශාකය ගැන සෑහෙන්න විශාල තොරතුරු ප්‍රමාණයක් අන්තර්ගත වෙනවා. එතන තියෙන දේවල් ආපහු මම මෙතනට අරගෙන එන්න උත්සාහ කරන්නෙ නෑ. මම මේ ලිපියෙන් උත්සාහ කරන්නේ ඒ ශාකයේ තියෙන පැණි රස ඇති කිරීමේ රසායනික සංයෝගය, ඒ සංයෝගය පැණි රස ඇති කරන්නේ කොහොමද සහ මේ රසායනික ද්‍රව්‍ය අපේ ශරීරයට හිතකරද යන කාරණා ගැනයි

Stevia වල පැණි රස ඇති කිරීමේ රසායනික සංයෝගය.

Stevia කියන්නේ සීනි වගේ 200 ගුණයක් විතර පැණි රස සංයෝගයක් සහිත ශාකයක්. හැබැයි, මේකේ හොඳම දේ තමයි මේ පැණි රස නිසා රුධිරයේ ඉන්සියුලින් මට්ටම ඉහළ යන්නේ නැති වීම. ඔයාලා දන්නවනෙ, ඉන්සියුලින් මට්ටමේ වෙනස් කම් දියවැඩියා රෝගයට ඍජුවම බලපාන බව.  ඉතින් අන්න ඒක තමයි මේ ශාකයේ වැදගත් කම. 
Stevia ශාකයේ පත්‍ර වල තියෙන පැණි රස ඇති කිරීමට මූලික වෙන සංයෝග කාණ්ඩය තමයි Steviol glycosides කියන්නේ. මේකේ අන්තර්ගතය මෙන්න මෙහෙමයි.
  • Stevioside (5–10%) 
  • Rebaudioside A (2–4%) 
  • Rebaudioside C (1–2%) 
  • Dulcoside A (0.5–1%) 
  • Rebaudioside B 
  • Rebaudioside D 
  • Rebaudioside E
මේ සංයෝග ටික අතරින් මූලික සංයෝග (ජෛවාණු) දෙක තමයි stevioside සහ rebaudioside කියන්නෙ. අපි මේ දෙක ගැන වෙන වෙනම බලමු. 

Stevioside



Stevioside කියන්නේ Glycoside ප්‍රභේදයක් නෙ, Glycoside එකක් කියන්නේ සීනි, කිසියම් ක්‍රියාකාරී කාණ්ඩයක් එක්ක ග්ලයිකොසිඩික් බන්ධනයකින් බැඳීමෙන් හැදෙන සංයෝග වලට. මේ ගැන උසස්පෙළ ට තාක්ෂණවේදය හදාරපු අය නම් දන්නවා මං හිතන්නෙ. (දැන් ඉතින් මේවා පැණි රස ඇයි කියලා ආයෙ අමුතුවෙන් කියන්න දෙයක් නෑ.)

මේකේ රසායනික සූත්‍රය මෙන්න මෙහෙමයි. C38H60O18. (සාමාන්‍ය සීනි නොහොත් සුක්‍රෝස් වල රසායනික සූත්‍රය මෙන්න මේකයි C12H22O11)

IUPAC නාමකරණය අනුව මේ සංයෝගයේ නම මෙන්න මේකයි. 13-[(2-O-beta-D-Glucopyranosyl-alpha-D-glucopyranosyl)oxy]kaur-16-en-18-oic acid beta-D-glucopyranosyl ester හරි, දැන් කියන්න දෙයක් නෑ නෙ මේක හෙන සංකීර්ණ ව්‍යුහයක් තියෙන සංයෝගයක්.

මේක Stevia පත්‍ර වලින් නිස්සාරණය කරගත්තොත් සුදු පැහැති කුඩු විදියටයි තියෙන්නේ. මේ සංයෝගය ගොඩක් පැණි රස වුණාට, පරිභෝජනයෙන් ටික වෙලාවකින් යම් තිත්ත රසයකුත් එන බවයි සඳහන් වෙන්නේ.


Rebaudioside 


මේ සංයෝගයේ ආකාර Rebaudioside A, Rebaudioside B, Rebaudioside C, Rebaudioside D සහ Rebaudioside E වශයෙන් පවතිනවා. Steviol glycoside සංයෝගයේ මූලිකවම අන්තර්ගත වෙන්නේ Rebaudioside A කියන ප්‍රභේදයයි. අනෙක් ප්‍රභේද අන්තර්ගත වන්නේ ස්වල්ප වශයෙන්. ඒ නිසා අපි Rebaudioside A ගැන ඊළඟට කතා කරමු. 

Rebaudioside A කියන්නේත් ඉතින් Glycoside ප්‍රභේදයක් තමයි. මේකේ රසායනික සූත්‍රය මේකයි. C44H70O23 මේක Stevioside වලටත් වඩා තඩි අණුවක්.

මේකේ IUPAC නාමකරණය වෙන්නේ මෙන්න මෙහෙමයි. 19-O-beta-glucopyranosyl-13-O-(beta-glucopyranosyl(1-2)-beta-glucopyranosyl(1-3))-beta-glucopyranosyl-13-xhydroxykaur-16-en-19-oic acid 

Stevia වල තියෙන පැණිරස කාරක අතරින් වඩා හොඳ යැයි සම්මත කාණ්ඩය තමයි මේ. මේකට කෙටියෙන් Reb-A කියලත් කියනවා.

Stevia නිසා අපේ සෞඛ්‍යයට වෙන බලපෑම


හොඳයි, එහෙනම් මේ වෙනකොට අපි දන්නවා ඔය සීනි රහිත බීම ජාති පැණි රස වෙන්න හේතුව සහ ඒවගේ අන්තර්ගත පැණි රස ඇති කිරීමේ රසායන ද්‍රව්‍ය ගැන. අපි ඊළඟට බලමුකො මේක අපේ ශරීරයට හිතකරද නැද්ද කියලා. 

ඇමරිකානු ආහාර හා ඖෂධ පාලනාධිකාරිය මඟින් නම් මේ Stevia ශාකයේ කොළ තලලා, පිටි කරලා අරගෙන භාවිත කිරීම අනුමත කරලා නැත. එයාලා අනුමත කරලා තියෙන්නේ පිරිපහදු කළ Rebaudioside A වලින් හැදුව Stevia නිෂ්පාදන පමණයි. ඒ කියන්නෙ ඉතින් අර විදියට කොළ එහෙම් පිටින් වේලලා කුඩු කරලා ගන්න එකේ මොකාක් හරි කොස්සක් තියෙන්න ඕන. 

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

ඒ හැරෙන්න, Stevia මඟින් පැණි රස කරපු ආහාර / බීම වර්ග පාවිච්චි කරපු සමහර අයට බඩ පුරවාදැමීම, ඔක්කාරය වගේ දේවල් හැදිලා තියෙනවා. ඒ වගේම සමහර අයට Stevia වලින් පැණි රස කරපු බීම එකක් බිව්වට පස්සේ අමුතු තිත්ත රසක් වගේ අප්පිරිය හිතෙන රහක් එනවා කියලා තියෙනවා. (මේක නම් මටත් තියෙනවා.)

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

***

එහෙනම් මම හිතන්නෙ මේ කරුණු එකතුව ඇති වගේ. තව මොනා හරි මේකට එකතු වෙන්න ඕන නම්, අර මම මුලින්ම කියලා පටන්ගත්තා වගේ, මේකට එකතු කරන්න, කමෙන්ට් කරන්න, මැසේජ් කරන්න. බොහොම ස්තුතියි, ඔබට ජය!
Share:

Friday, August 3, 2018

ICT Guru එක්ක ලේසියෙන් ඉගෙනගනිමු.


අද අරන් ඇවිල්ලා තියෙන්නේ එක්තරා විදියක සුබ ආරංචියක්. මේක ගොඩක්ම වැදගත් වේවි A/L ICT හෝ O/L ICT හදාරන අපේ නංගිලා මල්ලිලාට. ඒ විතරක් නෙවෙයි, ICT විශයට ආස, ඕනම කෙනෙක්ට.  සාමාන්‍ය පෙළට වගේම උසස් පෙළටත් ICT විශයය හදාරපු කෙනෙක් විදියට මම හොඳින්ම දන්නවා ICT විශය ටිකක් අමාරුයි. ICT වලට තියෙන බලවත් ආශාව නිසා මට ගොඩදාගන්න පුළුවන් වුණත්, අපේ ගොඩක් නංගිලා මල්ලිලාට නැත්තෙම මේ විශයයට ආසාව තමයි. අන්න ඒ ආසාව හදන්න තමයි විශේෂයෙන්ම මමත් මේ බ්ලොග් එක ලියන්න පටන්ගත්තේ. ඉතින් මම මුලින්ම කිව්වා වගේ, මම කරගෙන යන මේ වැඩේ වගේම ලස්සන වැඩක් තමයි ICT Guru කියන්නේ.  අද අපි කතා කරමු ඒ ගැන සහ ඔයාගෙ අපතේ යන කාලය ඵලදායීව ප්‍රයෝජනයට ගන්නෙ කොහොමද කියන එක ගැන.

අද කාලෙ කවුරු ළඟද Smartphone එකක් නැත්තෙ නේද? ඕකෙන් අපි මොනාද කරන්නෙ? Facebook යන එක? යාළුවෝ එක්ක Message කරන එක? Videos, Pictures බලන එක? ඔයාලා නිකමට හිතුවද ඔයා ගාව ඔය තියෙන බලසම්පන්න පරිගණකයෙන් ඔයා හරි ආකාර වැඩක් ගන්නෙ නෑ කියලා? නෑ නෑ, මට වැරදිලා නෙවෙයි, ඔයා ගාව ඔය තියෙන ස්මාට්ෆෝන් එක බොහොම බලසම්පන්න පරිගණකයක්. දන්නවද හඳට රොකට් එක අරන් ගිය පරිගණකයේ Specifications?

ඒකෙ Processor එක 4.077MHz ඒක GHz වලින් ගත්තොත් 0.004077 GHz මෙච්චරයි. ඔයා දන්නවද එතකොට මීට අවුරුදු ගාණකට කලින් ආව Samsung Galaxy Y පුංචි ෆෝන් එකේ Processor එක? 830 MHz. ඉතින් සංසන්දනය කරලා බලන්නකො, අච්චර එකකින් හඳටත් ගියා නම්, ඔයා ගාව තියෙන ෆෝන් එකෙන් කොච්චර දෙයක් කරන්න පුළුවන්ද? හරි, මේ හදන්නෙ හඳට යන්න නම් නෙවෙයි. උගත මනා ශිල්පය මයි මතු රැකෙනා කියලා අන්න ඒ ඔයා ගාව තියෙන බලසම්පන්න ස්මාට්ෆෝන් එක පාවිච්චි කරලා ඉගෙනගන්නයි අපි යන්නෙ. ඉගෙනගෙන, හරි තැනකට ගියොත් ඔයාට පුළුවන් හඳට නෙවෙයි, අඟහරු වලට වුණත් යන්න.

අපි හැමෝම පොත් දිහා බලාගෙන පාඩම් කරන්න කම්මැලී නෙ. ඒ වගේම ඔය පොත් තඩි උස්සන් එහෙ මෙහෙ යන්නත් කරදරයි, අනික, අපි කොච්චර නම් කාලයක් නාස්ති කරනවද දවසකට? බස් එක එනකන්, බස් එකේ ක්ලාස් එකට යනකන්, ක්ලාස් එකේ සර් එනකන්, යාළුවෝ එනකන්? මේ කාලය ඔක්කොම එකතු කරලා ගත්තොත්? කොච්චර නම් විශාල කාලයක්ද? ඔය කාලය පාඩමක් බලාගන්න යෙදෙව්වොත්? ඔයා දන්නෙම නැතුව දවසකට පැය තුන හතරක් පාඩමට යෙදවිලා තියෙයි.

අන්න ඒකට විසඳුම තමයි ඔයාගෙ ෆෝන් එක. ඔයා ඕක කොහෙ ගියත් අරගෙන යනවනෙ. උස්සන්න මහ ලොකු බරක් නෑ. පොත් තඩියක් පෙරලන් බස් එකේ පාඩම් කරනවා වගේ චාටර් නෑ. ඔයාට තියෙන්නෙ ෆෝන් එක අරගෙන ඒක භාවිතා කරලා පාඩම් කරන්නයි. හරිම සරලයි.

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

අනිත් දේ තමයි, මේ ඇප් එක හදලා තියෙන්නෙත් මගේ හොඳම යාළුවෙක්. මම හොඳින්ම දන්න දක්ෂයෙක්. බොහොම විශිෂ්ඨ විදියට Island Rank එකක් එක්ක A/L පාස් වෙලා ICT පැත්තෙන්ම විශ්ව විද්‍යාල වරම් හිමි කරගත්ත අපේම කොල්ලෙක්. අන්න ඒකයි මෙතන තියෙන අනික් විශේෂත්වය. මොකද, A/L ICT සහ O/L ICT හදාරපු මනුස්සයෙක් තමයි ඒ ගැන හරියටම දන්නේ. ගඟට බැහැපු එකක් තමයි ගඟේ ගැඹුර දන්නේ. ඉතින් එහෙම නැතුව ගඟ ගැන දෙසලා වැඩක් නෑ. අන්න ඒකයි මේ අපේ කොල්ලා හදපු ඇප් එක වටින්නේ.

හොඳයි එහෙනම් ඕනවට වඩා වර්ණාවක් ඕන නෑ ඉතින්, ඇප් එක දාගෙනම බලන්න. ඒත් එක්කම, මේ ඇප් එක හැදුවේ වෙනූෂ. ලොකු ලයින් නෑ ඩයල් එක හරි සරලයි, ෆේස්බුක් එකේ මැසේජ් එකක් දාලා ඕන දෙයක් එයාගෙන් අහගන්න පුළුවන් මෙන්න එයාගෙ Facebook Profile එක.


අපේ යාළුවෝ ගොඩක් පාවිච්චි කරන්නේ Android Smartphone නේ. ඉතින් මෙන්න මේ ඇප් එක ඔයාගෙ ඔය බලසම්පන්න ස්මාට්ෆෝන් එකට දාගන්න. මෙන්න ලිංක් එක.



අන්තිමට කියන්න ඕන මේක මේ කිසිම ලාභ ප්‍රයෝජනයක් පතා ලියපු එකක් නෙවෙයි, සල්ලි හෝ වෙන කිසිම හේතුවකට ලියපු ලියමනකුත් නෙවෙයි, වටින දේවල් අගයන්න ඕන, එහෙම වටින දේවල් කරන මිනිස්සුන්ව අපි දිරිමත් කරන්න ඕන, ඒකයි ෆීල්ඩ් එකේ ඉන්න උන් විදියට අපිට කරන්න පුළුවන් හොඳම උදව්ව. ලංකාවෙ මිනිස්සුන්ගෙ තියෙන කුහක කම අතෑරලා පිරිසක් විදියට යන ඉදිරි ගමනක් බලාපොරොත්තු වෙමු, මේ ලංකාව තියෙන තැනින් අපිම ගොඩගමු. එහෙනම්, තවත් පෝස්ටුවකින් හමුවෙමු, ඔබට ජය!
Share:

Torrent කියන්නේ මොකක්ද?

ඔයා Internet පාවිච්චි කරන කෙනෙක් නම්, Torrent කියන වචනය අහලා ඇති. ඔයා Internet එකෙන් Film බාන කෙනෙක් නම් අනිවාර්යෙන්ම මේක අහලා ඇති. ඒත් ඔයා දන්නෙ නැත්තම්, ඇත්තටම මොකක්ද මේ Torrent කියන්නෙ කියලා, ඔන්න අද පුළුවන් Torrent ගැන ඉගෙනගන්න. මේක ටිකක් සංකීර්ණ කතාවක්, මම උපරිම උත්සාහ කරන්නෙ මේක සරලව ඔයාලගෙ ඔළුවට දාන්න. බලමු වැඩේ සාර්ථක වේවිද කියලා.  එහෙනම් අපි යමු අපේ Torrent පාඩමට.

***

Torrent හැඳින්වීම  

Torrent ජාලය ආරම්භ වෙන්නේ මීට අවුරුදු 17 කට විතර කලින්, 2001 අවුරුද්දේ. Torrent කියන සංකල්පය දියුණු කරලා ඒක ක්‍රියාවට නැංවුණේ Bram Cohen කියන Python ක්‍රමලේඛ ශිල්පියා විසින්. Torrent සෑදීමේ මූලික පරමාර්ථය වුණේ සියලු දේ, සියළු දෙනා අතර බෙදා හදා ගන්න පුළුවන් ජාලයක් නිර්මාණය කිරීමයි. 

මේ සේවාව මිනිස්සු අතර ජනප්‍රිය වෙන්න ගත්තේ අවුරුදු 4 කට පස්සේ, ඒ 2005 දී විතර. ඊට පස්සේ Torrent කොච්චර ජනප්‍රිය වුණාද කියනවා නම්, මේ වෙනකොට මුළු ලෝකය පුරා මිලියන ගාණක් users ලා Torrent භාවිතා කරනවා. හොඳම දේ මේ සේවාව භාවිතා කරන්න අපිට සතයක් වත් වියදම් වෙන්නෑ. (අන්තර්ජාල සේවාවට ISP අය කරන ගාස්තුව හැර)

Torrent, එහෙමත් නැත්නම් Bittorrent ප්‍රොටොකෝලය Free & Open-Source මාදිලියේ එකක්. ඒ නිසා ඉතින් මේකෙ කිසිම හැංගුණ නපුරක් නෑ වගේම Torrent ජනප්‍රිය වුණා කියලා එක මනුස්සයෙක්ට ලාභ ලැබිලා ඌ කෝටිපතියෙක් වෙන්නෙත් නෑ. මේක නිකන් මහජන සේවාවක් වගේ දෙයක්. 

Torrent වල භාවිතා වෙන්නේ Peer to Peer නැත්නම් P2P කියන ක්‍රමවේදය. මේ මොකක්ද?

Peer to Peer ක්‍රමවේදය

Traditional Downloading 

P2P ඉගෙනගන්න කලින්, අපි බලමු සාමාන්‍ය Download කිරීමක් සිදුවෙන්නේ කොහොමද කියලා. ඒක වෙන්නෙ මෙහෙමයි, ඔයාලා හිතන්න ඔයාලට ඩවුන්ලෝඩ් කරගන්න ඇප් එකක් මට දෙන්න ඕන. (මම මේ පෝස්ට් එකේ උදාහරණය විදියට දිගටම ගන්නේ ඇප් එකක් කියන එක, ඔයාට පුළුවන් ඕන නම් මේක ඇප් එකෙක් නෙවෙයි ෆිල්ම් එකක්, සිංදුවක් හෝ ඕනම ෆයිල් එකක් කියලා හිතාගන්න) එතකොට මම කරන්නෙ ඒ ඇප් එක කොහේ හරි තියෙන Server එකකට Upload කරලා ඔයාලට ඒකෙ URL එක ලබා දෙනවා. එතකොට ඔයාට පුළුවන් ඒ URL එක හරහා ඇප් එක බාගන්න. මම ඒ ඇප් එක කොහේ හරි Server එකකට දැම්මට පස්සේ ඔයාට ඕනම වෙලාවක ඒ ෆයිල් එක ඒ Sever එකෙන් බාගන්න පුළුවන් නෙ? ඒකට මම මගේ ලැප් එක ඔන් කරන් ඉන්න ඕන නැහැ නෙ.  ඔයාලට දැන් තේරෙන්න ඕන මේ වැඩේදි Server එක තමයි ලොකුම වැඩේ කරන්නෙ. මම File එක අප්ලෝඩ් කරන්නෙත් Server එකට, ඔයාලා ෆයිල් එක බාන්නෙත් සර්වර් එකෙන්.

Peer to Peer Downloading

හැබැයි, Peer to Peer නොහොත් P2P ෂෙයාරින් වලදී මේ විදියට Server එකක් මූලිකත්වය ගන්නෙ නැහැ. P2P වලදී, Server එක වෙන්නෙත්, Client වෙන්නෙත් අපි අපි මයි.

මේකෙදි වෙන්නේ, Server එකක උදව්වකින් තොරව කෙළින්ම Client පරිගණක හෝ උපාංග අතර ගොණු හුවමාරු කරගැනීමක්. මේ වැඩේට ඔයාට ඕන වෙන්නේ අන්තර්ජාල සබඳතාවක් සහ Client Software එකක් විතරයි. ඊට පස්සෙ ඔයාට පුළුවන් ඔයා ගාව තියෙන ඕනම ගොණුවක්, ඔයා වගේම මේ ජාලයට සම්බන්ධ වෙලා ඉන්න ඕනම කෙනෙක් එක්ක බෙදාගන්න. ඒ වගේම එයාලා බෙදාගන්න දේවල් ඔයාටත් ලබාගන්න.  

Torrent වල අභ්‍යන්තර ක්‍රියාව.

Torrent වල ක්‍රියාකාරිත්වය ගැන නිවැරදි, පැහැදිලි අවබෝධයක් ලබාගන්න නම් අපිට සිදුවෙනවා BitTorrent Protocol එකේ ක්‍රියාකාරිත්වය ගැන අධ්‍යනය කරන්න. ඉතින්, මොකටද තවත් බල බල ඉන්නේ, අපි යමු ඒක ගැන ඉගෙනගන්න. 

BitTorrent ක්‍රමවේදයේ භාවිතා වෙන්නෙත් P2P ක්‍රමයමයි. සාමාන්‍ය P2P ජාලයකදී අපි කතා වුණා Server එකක සබන්ධතාවක් නැතිව ගොණු හුවමාරු වෙන බව. හැබැයි, BitTorrent ප්‍රොටොකෝල් එකේදී, සර්වර් එකක් භාවිතා වෙනවා, මේ සර්වර් එක විශේෂ නමකින් හඳුන්වනවා Tracker එක කියලා. අනිත් වෙනස තමයි, BitTorrent Protocol එකේ තියෙනවා දෙන තරමට ලැබීමේ න්‍යාය. ඒ කියන්නේ, අපි Files Seed කරන තරමට, අපේ Downloads වේගවත් වෙනවා. Seed කරනවා කියන්නෙ මොකක්ද කියලා ඉදිරියට දැනගන්න පුළුවන්. 

Torrent ගොණුවක් සාදාගැනීම


හොඳයි එහෙනම් අපි වැඩේ ගැන  අවධානය යොමු කරමු, 

හිතන්නකො මම අර කලින් කියපු ඇප් එක ඔයාලට දෙන්න ඕන වෙලා, මම තීරණය කරනවා ඒක ඔයාලට Torrent මඟින් ලබා දෙන්න. මම මුලින්ම කරන්නෙ Torrent Client Software එකක් මගේ පරිගණකයට ස්ථාපනය කරගන්නවා. මේ විදියේ Torrent Client Software වලට උදාහරණ තමයි BitTorrent, uTorrent, Deluge, Vuze සහ qBitTorrent වගේ software. මෙයින් එකක් මම මගේ පරිගණකයට ස්ථාපනය කරාට පස්සේ මට පුළුවන් මේ Software එක හරහාම ඒක අනික් අය සමඟ බෙදාහදා ගන්න Torrent ජාලයට එකතු කරන්න. 

ඒ එකතු කරාම Tracker කියන නමින් අපි හඳුන්වන Server එක දැනගන්නවා මම මෙහෙම ගොණුවක් BitTorrent ප්‍රොටොකෝලය මඟින් ක්‍රියාත්මක වෙන මේ ජාලයට එකතු කරපු බව. (ඇත්තටම මෙහෙම සර්වර්ස් එකක් නෙවෙයි මහ ගොඩක් තියෙනවා.) ඊට පස්සේ, අපිට අර Tracker එකෙන් ලබා දෙනවා .torrent එක්ස්ටෙන්ෂන් එක සහිත ෆයිල් එකක්, එහෙම නැත්නම් මට පුළුවන් ලබාගන්න Magnet Link එකක්. දෙකෙන් කෝක වුණත් අවුලක් නෑ එකම වැඩේ වෙන්නෙ.  

මට පුළුවන් ඔයාලට මේ .torrent කියන Extension එක සහිත ෆයිල් එක (මේක 10KB වගේ සයිස් බොහොම පොඩි ගොණුවක්) හෝ අර කලින් කිව්ව Magnet Link එක ඔයාලා එක්ක බෙදාගන්න, නැත්නම් මේ සයිට් එකේ දාන්න. 

එහෙමත් නැත්නම් මට ඕන වෙනවා අර කලින් කිව්ව ඇප් එක ලෝකේ හැමෝ එක්කම වගේ බෙදාගන්න, ගොඩක් අයට ඒක කියන්න. මොකද මේ සයිට් එක බලන්නේ ඔයාලා විතරයිනේ, ඉතින් මට පුළුවන් අර Magnet Link එක හෝ Torrent File එක Torrent අඩවියකට ලබාදෙන්න. ඒ වගේ අඩවි ගැන ඔයා දන්නවා ඇති, මෑතකදි සාමූහික වශයෙන් බ්ලොක් වීමකට ලක් වුණෙත් අන්න ඒ අඩවි තමා, ඒවට උදාහරණ තමයි ThePirateBay, KickAss, YiFi නොහොත් YTS, 1337x, RARBG ආදී බොහෝ අඩවි. ඒ අඩවියකට ගිහින්, එතනින් ලබාගන්න Magnet Link එකෙන් හෝ Torrent file එකෙන්, ලෝකේ ඕනම කෙනෙක්ට පුළුවන් මගේ App එක බාගන්න.

Torrent ගොණුවක් බාගත කිරීම

අපි හිතමු ඔයාලා හැමෝමත් අර මම කලින්ම කිව්වා වගේ Torrent Client එකක් ඉන්ස්ටෝල් කරගෙන ඉන්නවා කියලා, මම අර මොන යම් හෝ ක්‍රමයකට බෙදාගන්න මගේ App එකට අදාල Torrent File එක ඔයා ලබාගෙන ඔයා ඒක ඕපන් කරනවා කියලා හිතමුකො ඔයාගෙ Torrent Client එකේ. එහෙමත් නැත්නම් ඔයා ක්ලික් කරනවා මම බෙදාගත්ත Magnet Link එක උඩ. එතකොට වෙන්නේ Automatically අර Torrent Client එක මතු වෙලා ඔයාට පෙන්නනවා මෙන්න මේකයි ඔයා දැන් ලබාගන්න යන ෆයිල් එක අනන් මනන් විස්තර ටිකක්. 

ඊට පස්සේ ඔයා ඒ ෆයිල් එක Download කරන්න පටන්ගන්නවා. එතකොට වෙන්නේ මගේ පරිගණකයෙන් කෙලින්ම ඔයා මගේ App එක බාගන්න එක. ඒ වැඩේට අනිවාර්යෙන් මම මගේ පරිගණකය On එකේ තියාගන්න ඕන වගේම මම අන්තර්ජාලයටත් සම්බන්ධ වෙලා, Torrent Client වැඩසටහනත් Background එකේ හරි Run වෙන්න දෙන්න ඕන. 

ඔයා මගේ ලැප් එකෙන් මම Share කළ ඇප් එක ඩවුන්ලෝඩ් වෙවී දැන් තියෙනවා කියමුකො, යම්කිසි ප්‍රතිශතයක, 30% කියමුකො, අන්න ඒ මොහොතේ ලෝකේ තව කාටහරි මගේ ඇප් එක ඕන වෙලා එයත් Magnet Link එකෙන් හරි Torrent File එකෙන් හරි මගේ ෆයිල් එක Download කරන්න පටන්ගන්නවා. අපි එයාගෙ නම ටෝනි ස්ටාර්ක් කියමු, එතකොට අර ටෝනි ස්ටාක් ෆයිල් එක ඩවුන්ලෝඩ් කරන්නේ මගේ පරිගණකයෙන් විතරක් නෙවෙයි, 30% ක් සම්පූර්ණ කරන් ඉන්න ඔයාගෙනුත්, සම්පූර්ණ ෆයිල් එක තියාගෙන ඉන්න මගෙනුත් දෙන්නගෙන්ම එක පාරට එයා අර ෆයිල් එක ඩවුන්ලෝඩ් කරනවා. මේක ටිකක් සංකීර්ණයි තමයි, ඒ වුනාට තේරුම්ගන්න උත්සාහ කරන්න. 

මම ෆයිල් එක ඩවුන්ලෝඩ් කරන්නේ නෑ, නමුත් මම ඒ ෆයිල් එක මං ළඟ තියාගෙන ඔයාලට ඩවුන්ලෝඩ් කරගන්න ඉඩ ලබා දෙනවා. මම Seeder කෙනෙක්. ඔයා, 30%ක් අදාළ ෆයිල් එක ඩවුන්ලෝඩ් කරගෙන, ඩවුන්ලෝඩ් කරමින්ම තව කෙනෙක්ට Upload කරනවා. ඔයත් එක්තරා විදියක Seeder කෙනෙක් තමයි, නමුත් ඔයා ගාව සම්පූර්න ගොණුව නැති නිසා, ඔයා 30% ක ප්‍රතිශතයක ඉඳන් Download සහ upload කියන වැඩ දෙකම එකපාරට කරමින් ඉන්න නිසා, ඔයාට විශේෂ නමකින් අපි අමතනවා Swarm කියලා, එහෙමත් නැත්නම් Peer එකක් කියලා. .

ටික වෙලාවකට පස්සේ ඔයා මගේ පරිගණකයෙන් ෆයිල් එක සම්පූර්ණයෙන් ලබාගන්නවා. ඒත් ඔයා Torrent Client Software එක වහලා දාන්නේ නෑ, ඕපන් කරගෙනම හෝ Background එකේ Run වෙන්න දීලා ඔයා වෙන වැඩක් කර කර ඉන්නවා. දැන් ඔයත් Seeder කෙනෙක්. එතකොට අර ටෝනි ස්ටාක් ඔයාගෙනුයි, මගෙනුයි දෙන්නගෙන්ම ඩවුන්ලෝඩ් කරන නිසා එයාට Seeders ලා දෙන්නෙක් ඉන්නවා, ඔයාට හිටියෙ එක්කෙනයි, ඒ මම. ඒත් ටෝනිට දැන් Seeders ලා දෙන්නෙක් ඉන්න නිසා එයාගෙ Download ස්පීඩ් එක දැන් වැඩියි.

ටෝනි දැන් අර ෆයිල් එක 60% ක් ඩවුන්ලෝඩ් කරන් ඉන්නවා, ඒ අතරේ ලෝකේ කොහේ හෝ ඉන්න තවත් කෙනෙක් ටත් මගේ ෆයිල් එක ඩවුන්ලෝඩ් කරගන්න ඕන වෙනවා. අපි එයාට ස්ටීව් ‍රොජර්ස් කියමු. එයාත් ඔන්න ඩවුන්ලෝඩ් කිරීම ආරම්භ කරනවා, එතකොට ස්ටීව්, මගෙනුත්, ඔයාගෙනුත්, ටෝනිගෙනුත් තුන් දෙනාගෙන්ම අර ෆයිල් එක ඩවුන්ලෝඩ් කරන්න ගන්නවා, ස්ටිව් ගේ ඩවුන්ලෝඩ් ස්පීඩ් එක හැමෝටම වඩා වැඩී. තාමත් මම Seeder කෙනෙක්, ඔයාත් Seeder කෙනෙක්, ටෝනි ස්ටාක් දැන් Swarm/Peer කෙනෙක්. ටික වෙලාවකින් ටෝනි ත් 100% ක් ෆයිල් එක ඩවුන්ලෝඩ් කරලා Seeder කෙනෙක් බවට පත් වෙනවා. එතකොට මගේ මේ Torrent එකට දැන් Seeders ලා තුන් දෙනෙක් සහ එක Swarm කෙනෙක් ඉන්නවා. 

අන්න ඔය විදියටයි මේක ක්‍රියාත්මක වෙන්නේ. කට්ටිය මේ ෆයිල් එක ඩවුන්ලෝඩ් කරගන්න එකතු වෙන තරමට Torrent ඩවුන්ලෝඩ් එක ස්පීඩ් වෙනවා. ඒක තමයි Torrent වල හොඳම ගුණාංගය. මොකද, සාමාන්‍ය Client - Server ඩවුන්ලෝඩ් කිරීමකදී වෙන්නේ ඩවුන්ලෝඩ් කරන පිරිස වැඩි වෙනකොට ඩවුන්ලෝඩ් එක මන්දගාමී වීම. මේක ඒකේ අනික් පැත්ත. මේ වැඩේ ගැන දැන් අවබෝධයක් ඇති කියලා මම හිතනවා, Seeders ලා වැඩි වෙන තරමට Torrent එක වේගෙන් ඩවුන්ලෝඩ් වෙන්න හේතුවත් දැන් පැහැදිලි ඇති. මොකද තනි කම්පියුටර් එකකින් බානවට වඩා ගොඩකින් එකපාර බාන එක ගොඩක් ඉක්මන් නේ.

අනිත් වැදගත් කාරණාව තමයි, මේ විදියට Seeders ලා ගොඩකින් එකපාරට ෆයිල් එකක් Download කරගැනීමේ පහසුකම, Swarm එකකින් File එක බාන ගමන්ම upload කරන්නත් පුළුවන් කම ලැබීම වගේ සුපිරි ලක්ණ BitTorrent ප්‍රොටොකෝලයට ලැබිලා තියෙන්නේ, එක් විශේෂ කාරණාවක් නිසා.

අපි Torrent වෙත මුදාහරින සෑම ගොණුවක්ම තියෙන්නේ කුඩා කොටස් විදියට. මම 100MB සයිස් ෆයිල් එකක් ටොරන්ට් එකට දැම්මොත්, ඒක කොටස් 100කට හෝ 200කට හෝ යම් ප්‍රමානයකට කැඩිලා ගිහින් 1MB හෝ 512KB හෝ යම් සයිස් එකක කැබලි බවට පත් වෙනවා. මේවාට මේ ප්‍රොටොකෝලයේදී කියන්නේ Bits කියලා. Torrent Download කිරීමකදී ඇත්තටම වෙන්නේ සම්පූර්න ෆයිල් එක බාගත කිරීම නෙවෙයි, අර කලින් කිව්ව විදියට කැඩිලා ගිය කොටස් එක එක තැන් වලින් අපිලිවෙලට ඩවුන්ලෝඩ් කරගෙන ඒවා පිළිවෙලට තියලා අන්තිමේදී ඒ කෑලි ටිකෙන් සම්පූර්ණ ෆයිල් එක සාදා ගැනීම. මෙන්න මේ කෑලි විසිරිලා තියෙන තැන් ගැන Tracker Server වලින් තමයි දැනගන්නේ, ඒ වගේම කෑලි ටික එකතු කරලා තනි ෆයිල් එක සාදාගැනීමේ කාරිය Torrent Client එක විසින් කරගන්නවා.

අපි අපේ කලින් උදාහරණයට ගියොත්, මම, ඔයා සහ ටෝනි ස්ටාක් කියන Seeders ලා තුන් දෙනාගෙන් ස්ටීව් රොජර්ස් අර ගොණුව බාගත කරනවනේ, ඒ මෙහෙමයි, ෆයිල් එකේ එක කෑල්ලක් ගන්නවා ඔයාගෙන්, තව කෑල්ලක් ගන්නවා ටෝනි ගෙන්, ආයෙ කෑල්ලක් ගන්නවා මගෙන්, ආයෙ කෑල්ලක් ගන්නවා ටෝනිගෙන්, අන්න එහමයි මේක වෙන්නේ. 

දැන් අපි තව දෙයක් බලමුකෝ, ඔය විදියට අපේ හතරවැනියා, ස්ටීව් රොජර්ස්, ෆයිල් එක ඩවුන්ලෝඩ් කර කර ඉන්න අතරේ එකපාරට ටෝනි ස්ටාක් එයාගෙ කම්පියුටර් එක ඕෆ් කරලා දානවා. (නැත්නම් ඉන්ටනෙට් කනෙක්ෂන් එක වහනවා, නැත්නම් බාගත්ත ෆයිල් එක වෙන තැනකට move කරනවා, එහෙමත් නැත්නම් ටොරන්ට් ඇප් එක වහලා ක්ලෝස් කරලා දානවා බැක්ග්‍රවුන්ඩ් එකේ වත් රන් නොවෙන්න) අන්න එතකොට ස්ටීව් රොජර්ස් ගේ ඩවුන්ලෝඩ් ස්පීඩ් එක අඩාල වෙනවා, මොකද එයා කලින් මගෙනුත්, ඔයාගෙනුත්, ටෝනි ගෙනුත් යන තුන් දෙනාගෙන්ම එකපාරට අර ෆයිල් එක ඩවුන්ලෝඩ් කර කර හිටියේ, ටෝනි කරපු අලුගුත්තේරු වැඩේ නිසා දැන් ස්ටීව් රොජර්ස් ට ඉන්නේ සීඩර්ස් ලා දෙන්නයි, ඔයයි මායි විතරයි. අන්න ඒ විදියට, තමන්ට ඕන ෆයිල් එක බාගෙන ආත්මාර්ථකාමී විදියට ෂේප් වෙන අයට අපි කියනවා Leech/Leecher කෙනෙක් කියලා. 

Leech කියන්නෙ අණුකම්පා විරහිත තැනැත්තා කියන එකට (Dictionary එකේ බලන්න) කූඩැල්ලාටත් කියන්නෙ Leech කියලා, ඉතින් Leecher කෙනෙක් කියන්නේ අනුකම්පා විරහිත, කූඩැල්ලෙක් වගේ ජරා සතෙක්ට. මොකද, Torrent ඩවුන්ලෝඩින් වල තියෙන හෙනේ තමයි මෙන්න මේ Leechers ලා වැඩි වීම. ඒකටත් ප්‍රතිකර්මයක් අපේ BitTorrent හොයාගත්ත Bram Cohen විසින් හදලා තියෙනවා, මෙන්න මේ Leechers ලගේ ඊළඟ ටොරන්ට් ඩවුන්ලෝඩ් එක පට්ට ස්ලෝ. Seeders ලගේ ඊළඟ Torrent download එක නිතරම වේගවත්. 

***

හම්මෙහ්, හරි. මං හිතන්නෙ මම ඔයාලට කියලා දෙන්න හිතාගෙන ආව ඒවා ඔක්කොම මේකෙ ලිව්වා, තව මොනා හරි හැලුණද දන්නෙත් නෑ, එහෙම නම් පහළින් කමෙන්ට් කරලා මගෙන් අහන්නකො. කියන්නම ඕන දෙයක් තියෙනවා, මේ BitTorrent ප්‍රොටොකෝලය හරහා විතරක් නෙවෙයි, ඕනම P2P ක්‍රමයක් හරහා බෙදාගන්න ෆයිල්ස් හැම නිතරම නීත්‍යාණුකූල නෑ. හරිනම්, අපි ඔය Torrent හරහා ඩවුන්ලෝඩ් කරන චිත්‍රපට කිසිම එකක් අපි ලබාගන්නේ නීත්‍යාණුකූලව නෙවෙයි.  

හැබැයි, කිසිම එකෙක්ට එහෙම Torrent හරහා ෂෙයා වෙන ෆයිල් එකක් නීත්‍යාණුකූල නෑ කියලා මකලා දාන්නත් බෑ. ඒ ඇයි? ඔයා හිතන්නකො මම කාගෙ හරි ෆයිල් එකක් හොරකම් කරලා ඒක Google Drive එකට අප්ලෝඩ් කරලා ඒකෙ ලිංක් එක ඔයාලා එක්ක බෙදාගන්නවා, හැබැයි මේ වැඩේ අර ෆයිල් එකේ අයිතිකාරයා දැනගත්තොත් එයාට පුළුවන් Google එකට මේක රිපෝට් කරලා අදාළ ගොණුව අයින් කරවලා දාන්න.

ඒත් මම ඒ ගොණුව ඔයාලා එක්ක බෙදාගත්තේ Torrent මඟින් නම්, අදාල ගොණුවේ අයිතිකාරයට යන්න වෙනවා ලෝකෙ වටේ, මොකද ඔයාලා දන්නවා දැන් Torrent ඩවුන්ලෝඩ් කරනකොට ඒක ඩවුන්ලෝඩ් වෙන්නේ කෑලි වලට කැඩිලා, මම අර හොරෙන් බෙදාගත්ත ෆයිල් එකේ කොටස් වගේම සම්පූර්ණ ෆයිල් ලෝකේ වටේ තියෙන Seeders, Peers (Swarms) වලින් දිගටම අප්ලෝඩ් වෙනවා. කීයක් කියලා මකන්න්ද? හැම එකාගෙම කම්පියුටර් එකට එකින් එක ගිහින් මකන්න පුළුවන්ද? ඒක කොච්චර සංකීර්ණ වැඩක්ද? කොච්චර් Seeders, කොච්චර Peers ලෝකේ වටේ ඇත්ද? ආන්න ඒකයි එහම ෆයිල් ටොරන්ට් වලින් මකලා දාන්න බැරි. 

***

ටොරන්ට් වල අවුල්.

ලෝකේ හැම දේකම ගුණ අගුණ දෙකම තියෙනවා වගේ Torrent වලත් පොඩි අවුල් ටිකක් තියෙනවා.

ඉන් ප්‍රධානම එක මේ Torrent හරහා නීත්‍යාණුකූල නොවන ගොණු හුවමාරු වීම. ඔයාලා ඉගෙනගත්තා නෙ, මේකෙ එහෙම දේවල් නවත්තන්න ක්‍රමයකුත් නෑ.

අනිත් කාරණාව ඔයා ටොරන්ට් එකක් බාන හැම වෙලේම ඒක අනික් අය එක්කත් බෙදාගන්න වෙනවා. ඒ කියන්නේ Download වීමක් වගේම Upload වීමකුත් වෙනවා. ඉතින් අන්න ඒ නිසා සාමාන්‍ය ඩවුන්ලෝඩ් කිරීමකට වඩා වැඩියෙන් ඩේටා පරිභෝජනය වෙනවා. Unlimited අන්තර්ජාල සබඳතා නැති අපිට ඉතින් ඒක එක්තරා අවාසියක්.

අනික් කාරණාව තමයි, Seeders ලා වැඩිවෙන තරමට Download එක වේගවත් වීම වගේම Seeders ලා අඩු වෙලා Leechers ලා වැඩි වෙන තරමට බාගත කිරීම මන්දගාමී වීම. Seeders ලා එක්කෙනෙක් වත් නැති ටොරන්ට් ගොණුවක් හැඳින්වෙන්නේ Dead Torrent එකක් හැටියට. එවැනි ටොරන්ට් එකක් ඩවුන්ලෝඩ් කරගන්න බෑ. මොකද අපිට ඒ ගොණුව ලබා දෙන්න Seeders ලා නැති නිසා.

මෑතකදී කතා වෙන්න ගත්ත තවත් අවුලක් තමයි Torrent Downloads ගොඩක් කරන පරිගණක වල Bad Sectors මතු වීම නැත්නම් Hard Disk එක ඩැමේජ් වීම. ඒක වෙන්නේ අපි අර කලින් කතා කළ විදියට, ටොරන්ට් ඩවුන්ලෝඩ් වීමකදී කුඩා කෑලි වශයෙන් ඩවුන්ලෝඩ් වෙලා ඒවා හාඩ් ඩිස්ක් එකේ තැන් තැන් වල තැන්පත් වීමයි. ඉතින් මේක SSD හාඩ් ඩිස්ක් වලදී නම් අවුලක් වෙන්නෙ නෑ. සාමාන්‍ය Magnetic Core එකක් භාවිතා වෙන හාඩ් ඩිස්ක් පාවිච්චි කරන අයට පුළුවන් මේකෙන් වෙන බලපෑම අවම කරගැනීමේ විසඳුමක් විදියට වෙනම පාටිශන් එකක් හදලා ඒක ටොරන්ට් ඩවුන්ලෝඩ් ෆෝල්ඩර් එක විදියට භාවිතා කරන්න.

 *** 
හොඳයි එහෙනම්, පාඩම ඉවර කරන්න වෙලාව හරි. මං හිතන්නෙ වැඩේ දැන් පැහැදිලී, Torrent ගැන ලොකු අවබෝධයක් දැන් ඔයාට තියෙනවා. තවත් මේ ගැන ඉගෙනගන්න ආසයි නම්, Search කරන්න ඉන්ටනෙට් එකේ, තොරතුරු ඕන තරම් තියෙනවා. හැමදාමත් කියන්නේ, මම දෙන මේ දැනුම ඔයාගේ ගමනේ තල්ලුව කරගන්න. ගිහින් එන්නම්, ජය වේවා!
Share:

Random Posts

Search This Blog