Showing posts with label තාක්ෂණය. Show all posts
Showing posts with label තාක්ෂණය. Show all posts

Tuesday, July 5, 2016

පහසුවෙන් ලිනක්ස් පාවිච්චි කරන්න ඉඟි අටක්

මෙන්න 2016! 2008 - 2009 අවුරුදු දෙකේ පැල් බැඳගෙන බ්ලොග් ලිව්ව මම 2015 අවුරුද්දෙත් 2013 අවුරුද්දෙත් මොකුත්ම ලියල නැහැ. 2016ත් නිකංම නාස්ති වෙන්න නොදී ලිනක්ස් පාවිච්චිය ගැන පුංචි සටහනක් තියලා යන්න හිතුවෙ ඒ නිසා.

2016 මට විශේෂයි. මම ලිනක්ස් පාවිච්චි කරන්න පටන් ගෙන අවුරුදු දහයක්! අපොයි මේ මොන මළජරාවක්ද කිය කිය කට්ටිය නිකන් දීපු උබුන්ටු සීඩී වාහන ඇතුළෙ එල්ලන කාලේ උබුන්ටු පාවිච්චි කරන්න පටන් ගනිපු මම, අවුරුදු දෙකකට පස්සේ, ඒ කියන්නෙ 2008 දි සම්පූර්ණයෙන්ම උබුන්ටු වලට මාරු වුණා. එදා සිට අද දක්වාම පුද්ගලික පාවිච්චිය උබුන්ටු හෝ මොකක් හරි ලිනක්ස් මෙහෙයුම් පද්ධතියක්ම තමයි. දැන්.... ප්‍රවණතාව වෙනස්. දැන් මිනිස්සු උබුන්ටු හොය හොය පාවිච්චි කරනවා.

Wednesday, April 16, 2014

සැබෑ වූ බියකරු සිහිනය | Heartbleed

මම ලිව්ව අන්තිම බ්ලොග් සටහන නතර කළේ හොල්මන් කතාවෙ තාක්ෂණික පසුබිම ගැන හොඳට පැහැදිලි කරනව කියල. නමුත් සතියකට විතර කලින් දවසක මතු වෙච්ච, අන්තර්ජාලයෙන් තුනෙන් දෙකකට විතර බලපාන බරපතල ප්‍රශ්නයක් නිසා මට හොල්මන් කතා ලිවිල්ල පැත්තක තියල ඒ ගැන පොඩ්ඩක් හොයල බලල ලියන්න හිතුණා. මේක තාක්ෂණික ලිපියක් වගේ පෙනුනට මේක ලියන්නෙ ටෙක්නිකල් අයට නෙමේ. එදිනෙදා බැංකු කටයුතු කරගන්න, සෙට් වෙන්න (social networking), ෂොපින් යන්න අන්තර්ජාලය පාවිච්චි කරන ඔන්ලයින් සාමාන්‍ය ජනතාව වෙනුවෙන්. :) (ඒ නිසා ටෙක්නිකල් පොරවල් වලට මේක බෝරිං වගේ පේන්නත් පුළුවන්)

Image courtesy: heartbleed.com
වැඩි විස්තර වලට යන්න කලින් කෙටිම හැඳින්වීමක් කළොත්, "හාට්බ්ලීඩ් කියන්නේ අන්තර්ජාලයේ වෙබ් අඩවි වලින් තුනෙන් දෙකක පමණ තොරතුරු ආරක්ෂාව පිළිබඳ මෘදුකාංගයක පවතින, දීර්ඝ කාලීනව හඳුනා නොගත් දෝෂයක් හේතුවෙන් රහසිගත දත්ත සූක්ෂම අයුරින් බාහිර පාර්ශව අතට පත් වීමේ අවදානමක්" ලෙස හඳුන්වන්න පුළුවන්. අන්න ඒක සිංහලෙන් විස්තර කරන්නයි මේ වෑයම.

කවුරුත් දන්නවනේ HTTPS කියන එක ගැන. Facebook යද්දි වෙබ් බ්‍රවුසරේ අර ඉබ්බා (padlock) මාක් එකක් එන්නේ... අන්න ඒ ඉබ්බා (ගෙ නිරූපිතය) කියල හිතාගන්නකො දැනට. සාමාන්‍යයෙන් අපි දන්න හැටියට මේ ඉබ්බා තියෙනව කියන්නෙ ඒ වෙබ් අඩවිය ආරක්ෂිතයි. වෙන අය කාටවත් අපි ජාලගත වෙලා කරන දේ හොයන්න බෑ. උදාහරණයක් විධියට, මම username/password දීලා Facebook එකට ලොග් වෙනව නං, මගේ පරිගණකය (client) සහ Facebook වෙබ් අඩවිය වැඩ කරන මැසිම (server) විතරයි ඒ username/password දැනගන්නේ මේ ඉබ්බා තියෙද්දි. ඉලෙක්ට්රොනික විධියට එහා මෙහා යන දත්ත, ෆෝන් ටැප් කරනව වගේ වැඩක් කරල තෙවැනි පාර්ශවයකට (හොරෙකුට) ග්‍රහණය කරගන්න පුළුවන් වුණත්, ඒ දත්ත රහස් අංකනයට (encrypt) ලක් කර ඇති නිසා ඒවා username/password ලෙස කියවන්න කිසිම බාහිර පාර්ශ්වයකට බැහැ.

ඕක තමයි අපි මෙච්චර කාලයක් විශ්වාසයෙන් යුතුව පාවිච්චි කරපු සම්මුතිය (SSL/TLS protocol). හැබැයි, මෑතකදි පර්යේෂකයින් කණ්ඩායමක් හොයාගෙන තියෙනවා ඔය ඉබ්බා කඩන්න පුළුවන් කියල! නරකම ආරංචිය තමයි, ඉබ්බා කඩන්න පුළුවන් කියල ප්‍රසිද්ධියේ කවුරුත් නොදැන අවුරුදු දෙකක්ම ගෙවිලා ගිහින් කියන එක. ඒ කියන්නේ ඉබ්බා කඩන්න පුළුවන් කියල කවුරුහරි හොරෙක් (හැකර් කෙනෙක්) දැනගෙන, ඒ බව ප්‍රසිද්ධ නොකර හිටියා නම් ඒ හොරා සෑහෙන ප්‍රයෝජනයක් ඒ හැකියාවෙන් අරන් තියෙන්න ඉඩ තියෙනවා.

Tuesday, March 11, 2014

සර්වර් එකේ හොල්මනක්

"මචං උඹ ලිනක්ස් දන්නව නේද?"

Image courtesy: pixabay.com
ටී ෂර්ට් එකක පිටේ FAQ අකුරු තුන තඩියට ප්‍රින්ට් කරවගෙන ඊට යටින් ඔය ප්‍රශ්නෙයි ගැළපෙන උත්තරේකුයි ගහගන්නවා මම හිතුණොත්. :D එච්චරටම නිතර දෙවේලේ ඇහෙන ප්‍රශ්නයක් ඕක. සාමාන්‍යයෙන් මගෙන් කවුරුහරි ඔහොම අහන්නෙ ලිනක්ස් සම්බන්ධ උදව්වක් ඕනෙ වුණාම. ඉතින් මේකත් එහෙම කතන්දරයක්...

මගේ මිත්‍රයා පරීක්ෂණ මට්ටමින් තමන්ගෙම ලිනක්ස් සර්වර් එකක වෙබ් අඩවියක් හොස්ට් කරලා. ඊට පස්සෙ ඒ වෙබ් අඩවිය පාවිච්චි කරයි කියල හිතන අයට පොඩි ටෙස්ටිං (UAT) රවුමක් දෙකක් කරන්න දීලා අඩුපාඩු අල්ලගන්න. මේ UAT එකේදි හදිසියෙම වෙබ් අඩවිය අකර්මණ්‍ය වෙලා. හේතුව හොයල බැලුවම හාඩ් ඩිස්ක් එකේ root partition එක (/) සම්පූර්ණයෙන්ම පිරිලා ඉඩ නැහැ. වෙබ් අඩවිය වැඩ කරනකොට caches/ logs ලියන්න හාඩ් ඩිස්ක් එකේ ඉඩ නැති නිසා තමයි ඒක නැවතිලා තියෙන්නෙ.

Thursday, January 16, 2014

PL/SQL වැනුම

සෑහෙන කලකට පස්සෙ තාක්ෂණික සටහනක් ලියන්න හිතුණා. මගේ රැකියාවේ හැටියට බොහොමයක් අළුත් දේවල් අත්හදා බලන්න ඉඩ ලැබුණත්, මගේ රුචිකත්වය අනුව අත්හදාබැලීම් වල යෙදෙන්න තියෙන නිදහස කැම්පස් යන කාලෙ තිබුණ නිදහසට සාපේක්ෂව ගොඩක් අඩුයි. ඒ නිසා තාක්ෂණික සටහන් ලිවිල්ල සෑහෙන අඩු වුණා (නැත්තටම නැති වුණා). බයික් ගැන බ්ලොග් සටහනක් ලිව්වෙ ඒ ගැන යමක් කමක් අත්හදා බලන්න නිදහසක් ලැබුණු නිසා. 2013 මට තරමක් කරදර සිද්ධ වෙච්ච වගේම ගොඩක් වැඩ අධික අවුරුද්දක් වුණු නිසා 2013 අවුරුද්දම මගේ බ්ලොග් එක නිහඬයි. 2014 අවුරුද්දත් එහෙම වෙන්න එපා කියල හිතාගෙනම මගේ ඩේටාබේස් අත්දැකීම මෙසේ සටහන් වන වගයි. :-)

මේක තාක්ෂණික සටහනක්. Database ගැන අත්දැකීම් නැති අයට, IT නොකරන අයට මේක නොතේරෙන්න හොඳටම ඉඩකඩ තියෙනවා. මේක අණ්ඩර දෙමළ වගේ කියල හිතුණොත් මගේ මෝටර්සයිකල් ටුවර් එක ගැන කියවන්න. :)

Thursday, March 3, 2011

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

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


Wednesday, February 23, 2011

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

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

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

Saturday, August 7, 2010

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

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

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

Tuesday, May 11, 2010

විකිපීඩියා | Wikipedia

විකිපීඩියා කියන්නෙ මොකක්ද කියල අමුතුවෙන් හඳුන්වල දෙන්න අවශ්‍ය නැහැනේ... අද මම කල්පනා කළා මේ ඕනෑම කෙනෙකුට වැඩිදියුණු කළ හැකි, ලොව වැඩි දෙනෙක් විශ්වාසය තබන, ලොව විශාලතම නිදහස් විශ්වකෝෂය ගැන පොඩි විස්තරයක් සරලව ලියන්න. ඇත්තෙන්ම කියනව නම්... මේ දවස් වල විකිපීඩියාවට ශාකුන්තලගෙ බැල්ම වැටිලයි තියෙන්නේ... :P

මට විකිපීඩියාව සෙට් වුණෙත් හරි අපූරු විධියකට. විකිපීඩියාවෙන් අපමණ දේවල් මෙතෙක් ගත්තට අබමල් රේණුවක දෙයක් ඒ වෙනුවෙන් ලියලා තිබුණෙ නෑ. මේ කාලේ මගේ 'ඉන්ටර්න්ෂිප්' කාලේ නොවැ... ආධුනිකයෙක් විධියට මට වැඩ කරන්න අවස්ථාව ලැබිල තියෙනවා ආසියා-පැසිෆික් ටෙලිසෙන්ටර් ජාලය (APTN) සම්බන්ධයෙන්. කලාපීය වැදගත්කමක් තියෙන මෙහි මහලේකම් කාර්යාලය (secretariat) පිහිටුවා තිබෙන්නේ ශ්‍රී ලංකාවේ. මම APTN වැඩ වලට සම්බන්ධ වෙන්න කලින් ඒ පිළිබඳව යම් හැදෑරීමක් කළ යුතු වුණා. ඉතින් APTN වෙබ් අඩවියෙන් පසු නිතැතින්ම මම යොමු වුණේ විකිපීඩියාවට. කෝ..? අපේ මාතෘකාව ගැන සඳහනක් නෑ...! මේ වගේ ලෝකවාසීන් දැන ගත යුතු, ජාත්‍යන්තර වැදගත්කමකින් යුත් කාරණාවක් සම්බන්ධයෙන් විකිපීඩියා ලිපියක් නැති එක මට පෙනුණේ සැලකිය යුතු අඩුපාඩුවක් විධියට. ඔන්න ඔහොමයි විකිපීඩියාවට ලිවීමෙන් දායක වෙන වැඩේ සෙට් වුණේ.

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

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

මාතෘකාව තෝරගත්තට පසුව ඊළඟට කරන්න තියෙන දේට සරල භාෂාවෙන් කියන්නේ RTFM කියලා. :D දී ඇති උපදෙස් වරක්, දෙවරක් හොඳින් කියවන්න. ඇත්තෙන්ම කියනවා නම්, විකිපීඩියාවට ලිපි ලියන්න දැනගන්න ඕනේ අදාළ විෂය ක්ෂේත්‍රය හැරුණාම භාෂාව විතරයි. HTML, CSS, feed වගේ මළ ඉලව් ඕනෙ නැහැ. වැඩේ බ්ලොග් ලියනවට වඩා පහසුයි!

අදාළ මාතෘකාව යටතේ ලියැවුණු ලිපියක් දැනටමත් තියෙනවද කියල සොයා බලන්න. උදාහරණයක් විධියට ගනිමු අපි ලංකාවේ තියෙන හුම්මානය. ඒ ගැන ලියැවුණු ලිපියක් විකිපීඩියාවෙ දැනට නැහැ (සෙවුම් ප්‍රතිපල බලන්න). අපට ඊට අදාළව ලිපියක් ලියන්න පුළුවන් නම් "You may create the page Hummanaya," කියලා තියෙන රතු සැබැඳිය ක්ලික් කරලා, එවෙලෙම ලිපිය ලියලා, ලියූ වහාම අන්තර්ජාලයට නිදහස් කරන්නත් පුළුවන්.

නමුත්, පළමු වරට විකිපීඩියාවට ලිපියක් ලියන කෙනෙක් මේ විධියට 'එකවරම' ලිවීම සුදුසු නැහැ. විකිපීඩියාවේ 'ලිපි ඉඩ' (Article Spaces) වර්ග කිහිපයක් තියෙනවා. ඔය මුලින් කිව්ව විධියේ ලිවව් ගමන් අන්තර්ජාලයට නිදහස් වෙන තැන හැඳින්වෙන්නෙ Public Article Space කියලා. එතැන සකස් කළ ලිපියක් අන්තර්ජාලයට නිදහස් කළාම ඩෝං ගාලා අතෑරියා වගේ... හැම දෙනාටම පේනවා. ලියන ලිපිය විකිපීඩියාවේ තියෙන ප්‍රමිතීන් වලට අනුකූල නොවුණොත් ලිපිය මකා දැමෙන්නට තිබෙන සම්භාවිතාව වැඩි නිසා, විකිපීඩියාවට නවක අය මේ පොදු ඉඩ එකවරම පාවිච්චි නොකිරීම වඩාත් සුදුසුයි.

බිත්තර කටුවක් ඇතුලේ විකසනය වෙන කුකුළු කළලයක් වගේ, විකිපීඩියාව ඉගෙනගන්නා ගමන් ලිපියක් ක්‍රම ක්‍රමයෙන් ගොඩනගන්න 'පරිශීලක ඉඩ' (User Space) භාවිත කිරීමෙන් පුළුවන්. මෙහි ලියන ලිපි සෙවුම් යන්ත්‍ර වලින් සූචිගත කෙරෙන්නේ නැහැ. ඒ වගේම වැඩිය කාටවත් දකින්න ලැබෙන්නෙත් නැහැ. මම ආසියා-පැසිෆික් ටෙලිසෙන්ටර් ජාලය ගැන ලිපිය ටිකෙන් ටික ගොඩනැඟුවේ ඒ ආකාරයෙන්. පරිශීලක ඉඩ කොටසේ ලිපියක් ආරම්භ කරන්න, http://en.wikipedia.org/wiki/User:ඔබේ පරිශීලක නම/ලිපියේ මාතෘකාව ආකාරයේ වෙබ් ලිපිනයක් වෙත යාමෙන් පුළුවන්. උදාහරණයක් ලෙස, http://en.wikipedia.org/wiki/User:Shaakunthala/Asia-Pacific_Telecentre_Network යන තැන තමා මගේ මුල්ම ලිපිය මම සකස් කළේ.

මේ විධියට ලිපිය ටිකෙන් ටික සකස් කරද්දි අත්දැකීම් ඔස්සේ විකිපීඩියාවේ තියෙන 'එක එක දේවල්' ටිකෙන් ටික ඉගෙනගන්න පුළුවන් වෙයි. අපට පිටින් පෙනෙනවට වඩා මහා දැවැන්ත යාන්ත්‍රණයක් විකිපීඩියාව ඇතුලේ ක්‍රියාත්මකයි. මේකෙදි අපට වැඩ කරන්න වෙන්නෙ ගෝලීය ප්‍රජාවත් එක්ක. අනිත් අයගේ අදහස් එක්ක ඔට්ටු වෙවී තමයි වැඩ කරන්න වෙන්නේ. හැබැයි අපේ අය ලංකාවේ එක එක ෆෝරම් වල දාන දෙකයි පනහේ චණ්ඩි පාට් මේකේ දැම්මොත් සති දෙකෙන් නොකවුට්!

ලිපිය සකස් කරලා අවසානයේ ඒක පොදු ලිපි තියෙන කොටසට පහසුවෙන් මාරු කරන්න පුළුවන්. ලිපි ලියද්දී මහා බර වචන ඕනෙ නැති වුණත්, සාමාන්‍ය ලිඛිත භාෂාව යොදා ගැනීමයි සම්මතය. ඒ වගේම ඉදිරිපත් කරන සියළුම කරුණු සාක්ෂි සහ යොමු සටහන් (citation) සහිතව ඉදිරිපත් කිරීමත් විකිපීඩියාව අපේක්ෂා කරනවා. ඒ වගේම අපක්ෂපාතී ලෙස කරුණු ඉදිරිපත් කිරීම කළ යුතුයි. මේ ගුණාත්මක බව නිසාවෙන් තමයි ලොව අන්තර්ජාලය භාවිත කරන අති බහුතරය විකිපීඩියාව ඉතා ඉහළින් සලකන්නේ.

ඉතින්, විකිපීඩියාවට දායක වෙද්දි මම ඉගෙනගත් දේවල් වලින් බිඳක් බලාගන්න පුළුවන් User_talk:Shaakunthala කියෙව්වොත්. මේ talk pages, නැතිනම් සාකච්ඡා පිටු වල තමා ලිපි වල තිබෙන කරුණු, අන්තර්ගතයේ බලපත්‍ර සම්බන්ධ ගැටළු ආදිය ගැන සංවාද ඇති වෙන්නේ. මේක ඉතින් වචනයෙන් කියනවට වඩා හොඳයි තමා ම කරල බලන එක. ප්‍රජා දායකත්වය සහ සන්නිවේදනය හරිම අපූරුයි! :-)

මම මේ ලිපිය ලිව්වේ සිංහල විකිපීඩියාවට දායක වීම ගැන යමක් ලියන්න ප්‍රවේශයක් විධියට. මම පෞද්ගලිකව විශ්වාස කරන හැටියට, කෙනෙකුට මුලින්ම විකිපීඩියාව ඉගෙනගන්න සදුසු ඉංග්‍රීසි විකිපීඩියාව. ඒ සිංහල සිප්යුරු වදන් වල නුහුරු බව නිසා ඇති විය හැකි ගැටළු මඟහරවා ගන්නත්, විකිපීඩියා උදව් පිටු තවම සම්පූර්ණයෙන් සිංහලයට හරවා නැති නිසාත්.

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

ප්‍රයෝජනවත් විය හැකි සබැඳි (මේවා ඉතා හෙමින්, ඉතා හොඳින් කියවන්න):
විකිපීඩියාවට අන්තර්ජාලය තුළ හිමි වී ඇති තත්වය කියා පාන එක සාධකයක් එහි Alexa Rank එක.

මගේ අත්දැකීමෙන් දුටු අනෙක් කාරණය... මම ලියූ Asia-Pacific Telecentre Network ලිපිය නිදහස් කරලා මිනිත්තු 15ක් ඇතුළත Google හි සූචිගත වෙලා සෙවුම් ප්‍රතිපල වල දෙවන පිටුවටත් පැමිණීම...! O_o

Tuesday, April 6, 2010

එන්න, නිදහස අත්විඳින්න මා සමඟ...

ආයුබෝ...! ආයෙමත්, ටික දවසකට පස්සේ ඔන්න ආවා බ්ලොග් එක පැත්තේ. මේ ලියමන තාක්ෂණය සම්බන්ධ එකක් වුණාට මේක කියවන්න ගීක්ලා වෙන්නම ඕනෙ නෑ. :-) මේ ලිපියේ කොටස් දෙකයි... පූර්වභාගය මගේ අත්දැකීම්... අපර භාගය සමාජයට පොඩි පණිවුඩයක්.

මම සම්පූර්ණයෙන්ම ලිනක්ස් වලට මාරු වෙලා දැන් මාස දහයකටත් කිට්ටුයි. මේ කාලය ඇතුළත මම අළුතෙන් බොහොමයක් දේවල් ඉගෙනගත්තා. “වෙනස් වීම” – බැරැක් ඔබාමා දිනවූ වචනය – ක්‍රියාවට නංවන එක අමාරු කාරියක්. නමුත් ස්වයංව වෙනසට ලක්වීමේදී තමයි අභියෝග වලට මුහුණදීම ගැන හොඳ ප්‍රායෝගික පුහුණුවක් ලැබෙන්නෙත්. මුළුමනින්ම ලිනක්ස් වලට මාරු වෙලා දෛනික පරිගණක කටයුතු කරගැනීම අමාරුයි නේද කියන එක බොහෝ දෙනා මගෙන් අසා තිබුණු ප්‍රශ්නයක්. මගේ උත්තරය, මුල් කාලේ නම් ටිකක් ඔව්, ඒත් දැන් නම් එහෙම නෑ කියන එක. සමස්තයක් වශයෙන්, ලිනක්ස් වල වැඩ කිරීම කොහොමටත් අමාරු කාරියක් නෙවෙයි. වෙනසට ලක් වීම අමාරුයි. ඒත් වෙනසට ලක් වුණාට පසුව අනුගමනය කළ යුතු සාමාන්‍ය පිළිවෙත් සහ රටාවන් (practices) වලට හුරු වුණාම, මුලින් හිටපු තත්වයට වඩා පහසු බවක් දැනෙන්නේ.

මම දෛනිකව පාවිච්චි කරන මෘදුකාංග ගැන සඳහනක් මීට කලකට ඉහතදි පළ කළා. ඇත්තෙන්ම මේ ලැයිස්තුව දැන් යල් පැනලා. වින්ඩෝස් මෙහෙයුම් පද්ධතියත් එක්ක මගේ තිබුණු බැමි කීපයක්ම දැන් බිඳිලා ගිහින්. ලිනක්ස් වලට මාරු වුණු මුල් කාලේ යම් යම් අවශ්‍යතා සඳහා ඉඳහිට වින්ඩෝස් පාවිච්චි කරන්න අවශ්‍ය වුණා. පරිගණකය ප්‍රතිපණගන්වන්න කම්මැලි නිසා මේකට පාව්චිචි කළේ Sun VirtualBox මත Windows XP. නමුත් පහුගිය කාලය ඇතුළත, වින්ඩෝස් නැතිවම බැරි වෙලා තිබුණු මේ සමහර අවශ්‍යතාවන් වලට සාර්ථක නිදහස් හා විවෘත ආදේශක විසඳුම් කීපයක්ම අන්තර්ජාලය ඔස්සේ සොයාගන්න මට හැකි වුණා. ඒ සියළුම මෘදුකාංග/ විසඳුම් සඳහා දායක වූවන්ට මගේ හෘදයාංගම ස්තුතිය හා ප්‍රණාමය පිරිනැමෙනවා.

දැන්, මගේ VirtualBox එක ඇතුලේ තියෙන්නෙ Windows 7. ඒත්... මට දැන් ඒක ක්‍රියාත්මක කරන්නත් කම්මැලියි. හිතාගන්න පුළුවන්ද ලිනක්ස් වල භාවිතයේ පහසුව හා ඇබ්බැහි වීම...? මම මේ මෑතකදි එකම එක වැඩකට මම Windows 7 පාවිච්චි කළා. ඒ OpenOffice.org වින්ඩෝස් සඳහා වන නිකුතුවේ සිංහල අතුරුමුහුණත පරීක්ෂා කරන්න. (ඒකට ඉතිං වින්ඩෝස් නැතුව වෙන මොකක් පාවිච්චි කරන්නද? :P )

මම සෙල්ලම් කර කර හිටපු කාලේ මාර්තු දෙවැනිදායින් අවසාන වුණු බව දන්නව ඇතිනේ... දැන් මම තොරතුරු තාක්ෂණ ක්ෂේත්‍රයේ ආධුනිකයෙක්... හඃ හඃ..! මට මේ දවස් වල පැවරිලා තියෙන වැඩ වල ටිකක් බැරෑරුම් වගකීමක් තියෙනවා. මාසයක් ඇතුළත මේ දක්වා ඒ වැඩ වලදි ඉතාම විශ්වාසනීයවත්, ආරක්ෂාකාරීවත් වැඩ කරන්න පුළුවන් බොහොම ස්ථායී පාදමක් සහ හොඳ තාක්ෂණික වටපිටාවක් ලිනක්ස් වලින් ලබා දී තිබෙන බව බය නැතුව අත්දැකීම් සහිතව කියන්න පුළුවන්. මෙපමණ කාලයක් සෙල්ලම් කළේ ලෝකල්හොස්ට් එකේ තියෙන සර්වර සහ පරීක්ෂණ දත්ත එක්ක... ඒත් දැන්.......................

---

පහුගිය කාලේ ඇතුළත මට හමුවුණු දේවල් කීපයක් මේ.

ලිනක්ස් වීඩියෝ සංස්කරණය කරන්න පාවිච්චි කරන මෘදුකාංග ගණනාවක්ම තිබෙනවා. ඒ එකකවත් පරිශීලක අතුරුමුහුණත තාම Adobe Premiere හෝ එවැනි මෘදුකාංගයක් තරම් පහසුවෙන් පාවිච්චි කළ හැකි තරමට දියුණු වෙලා නැති බව ඇත්ත. ඒත්, සමහර වැඩ වලදි අවශ්‍යතාවය අනුව චිත්‍රක අතුරුමුහුණතක් (GUI) නැති ffmpeg පවා සාර්ථකව පාවිච්චි කරන්න පුළුවන්. මෙතන ක්ලික් කළොත් ඒ ගැන යමක් බලාගන්න පුළුවන්. :-) LiVES, Cinelerra යනාදී වශයෙන් වීඩියෝ මෘදුකාංග ගොඩක් මට අන්තර්ජාලය ඔස්සේ සොයාගන්න හැකි වුණා. අවශ්‍යතාවයක් ඇති වුණොත් මම ඒවා පාවිච්චි කරන ක්‍රමය ඉගෙනගනිමින් අළුත් පරිසරයට හුරු වෙනවා. මම Adobe Premiere පාවිච්චි කරල නෑ. පාවිච්චි කරන්න දන්නෙත් නෑ. ඉතින් මට කෝකත් එකයි.

WinSCP මෘදුකාංගය ගැන දන්නව ඇතිනේ... SSH/ SFTP සඳහා වින්ඩෝස් මත භාවිත කළ හැකි client මෘදුකාංගයක්. Windows Explorer (explorer.exe) පාවිච්චි කරලා සාමාන්‍ය ගොනු හුවමාරු වැඩ කරගන්න පුළුවන් වුණාට SSH වගේ ආරක්ෂාකාරී විවෘත කේත පද්ධතිත් එක්ක වැඩ කිරීමේ හැකියාව එයට ලබා දී නැහැ. ඒ නිසයි WinSCP හෝ එවැනි තෙවන පාර්ශ්වයීය මෘදුකාංගයක් පාවිච්චි කරන්න සිද්ධ වෙන්නේ. නමුත් Ubuntu/ Kubuntu/ Fedora වගේ ලිනක්ස් පද්ධතියකදි තත්වය වෙනස්. File Manager එක විවෘත කරලා පෙත ලබා දෙන තැන ssh://username@serverhost:port යන රටාව අනුව පෙත සටහන් කරලා Enter කළ ගමන් වැඩේ ගොඩ! මේක කරන්න පුළුවන් වෙලා තියෙන්නෙ Ubuntu සමඟ පෙරනිමියෙන්ම GVFS සහය තියෙන නිසා. මේ තියෙන තිර රූපසටහන් දෙකත් බලන්න.

තෙවන පාර්ශ්වයීය ආදේශක අවශ්‍ය නෑ... :-) කාර්යාල වැඩ වලදි ත්‍රෛභාෂික (යුනිකෝඩ්) පෙළ අඩංගු ගොනුත් සමඟ වැඩ කරන්න සිද්ධ වෙන නිසා සාමාන්‍ය ලිනක්ස් ටර්මිනල් එකක වැඩ කරන්න අමාරුයි. අනිවාර්යයෙන්ම චිත්‍රක අතුරුමුහුණතකට යන්න සිද්ධ වෙනවා. ඒ නිසා මේ වැඩෙන් ගොඩක් කාලය ඉතිරි වුණා.


මේ 'සුඛෝපභෝගී' පහසුකම් පාවිච්චි කරන්න නම් ටිකක් වේගවත් ජාල සම්බන්ධතාවක් අවශ්‍යයි -- කාර්යාලයීය පරිගණක ජාලය (Office LAN) තුළ පාවිච්චිය ගැටළුවක් නැහැ 

ඊළඟ කාරණාව, EOT වැනි යල්පිනූ ක්‍රම පාවිච්චි කර සිංහල ලියන අන්තර්ජාල පුවත්පත් (උදා: ලක්බිම) කියවන එක. මේ පුවත්පත් කියවන්න පුළුවන් Windows Internet Explorer භාවිතයෙන්ම පමණයි. පත්තරේ බලන්න විතරක් වින්ඩෝස් බූට් කරන්න මට කම්මැලියි. ගැටළුවට නිවැරදිම විසඳුම ළඟපාත තිබිලත් මම දැනගෙන හිටියෙ නැහැ නොවැ. අපේ සහෝදර බ්ලොග්කරුවෙක් වන කෙහළිය බණ්ඩාර ගල්ලබ මීට සාර්ථක විසඳුමක් දීලා තියෙනවා. ගිහිල්ලම බලන්න...!

3GP මාදිලියේ වීඩියෝ ක්ලිප් නරඹන්න ලිනක්ස් මත වැඩ කරන මෘදුකාංගයක් හොයාගන්න බැරුව මම පහුගිය කාලෙ නහයෙන් අඬ අඬා හිටිය නෙව. මේකත් අර මුලින් කිව්ව වින්ඩෝස් එක්ක තිබුණු බැමි කීපයෙන් එකක්. පහුගිය සතියේ මම අහම්බෙන් දැක්කා SuperUbuntu මත පෙරනිමියෙන් එන RealPlayer 11 මෘදුකාංගයෙන් ඒ අවශ්‍යතාවයත් සාර්ථකව සපුරාගන්න පුළුවන් බව. ඉතින් මම මේ දවස් වල හොයනවා ඒක එහෙම වුණේ කොහොමද කියලා...

ඉතින් ඔය වගේ හැම බැම්මක්ම ක්‍රම ක්‍රමයෙන් බිඳිලා මම දැන් VirtualBox එක ඇතුලේ තියෙන Windows 7 ධාවනය කරවන්නෙත් ඉතාම කලාතුරකින්. පහුගිය මාසයටම දෙ වතාවයි.

ඉතිං.......... මට තව දුරටත් වින්ඩෝස් ඕනෙ වේවිද? ඔව්. මම මෘදුකාංග සංවර්ධනයේ (software development) නියැලෙන්නෙක්. තවමත් වැඩි දෙනා පාවිච්චි කරන්නෙ වින්ඩෝස් මෙහෙයුම් පද්ධතිය නිසා ඒ ආශ්‍රිතව මෘදුකාංග සඳහා තත්ත්ව පරීක්ෂණ කරන්න වින්ඩෝස් අවශ්‍ය වෙනවා. .NET ආශ්‍රිත මෘදුකාංග සංවර්ධනයටත් ඉදිරි කාලය තුළ ඉඳහිට මට වින්ඩෝස් අවශ්‍ය වෙන්න පුළුවන්. නමුත්, වින්ඩෝස් සඳහා වෙනම වෙන් කළ partition එකක් මගේ පරිගණකයෙ නෑ. ඉඳහිට අවශ්‍ය වූ වෙලාවක පාවිච්චි කරන්න ඒක VirtualBox එකේම තියේවි.



ඉතින්... මේ ලියවිල්ලෙන් මම දෙන පණිවුඩය...

සාමාන්‍ය පරිශීලකයෙකුට මුළුමනින්ම ලිනක්ස් වලට මාරු වෙන්න බෑ කියන එක බොරුවක්. පැහැදිලි දැක්මක් සහිතව ලිනක්ස් වලට මාරු වීමේ අවශ්‍යතාවය අවබෝධ කරගන්න පුළුවන් නම් ඒ ඇති. පහුගිය කාලය ඇතුළත සුළු මට්ටමේ චිත්‍රක සංස්කරණ කටයුතු කීපයකුත් මගේ කාර්යාල වැඩ වලදි කරන්න සිදු වුණා. කිසිදු අපහසුවකින් තොරව මම GIMP පාවිච්චි කරලා අදාළ අවශ්‍යතාව සපුරාගත්තා. අනෙක් වැඩ වලදිත් එහෙමයි... සොයන්නාට සම්භ වේ කියල කියමනක් එහෙමත් තියෙනවනෙ..! :-)

හැමදෙනාටම ලිනක්ස් වලට මාරු වෙන්න බෑ කියන කතන්දරේ ඇත්තකුත් නැතුවම නොවෙයි. සමහර අවශ්‍යතාවන් වලදි ලිනක්ස් පාරිසරිකය තුළ වැඩ කරන්න පුළුවන් වෘත්තීයමය මට්ටමේ මෘදුකාංග නැහැ. ඒකට තව ටික කලක් ගත වෙයි. උදාහරණයක් විධියට අපි GIMP ගත්තොත්, මුද්‍රණ ක්ෂේත්‍රයේ භාවිත වෙන CMYK වර්ණ මාදිලියට එය පෙරනිමියෙන් සහය දක්වන්නෙ නැහැ. නමුත්, ඒ සඳහා plugin එකක් අන්තර්ජාලය ඔස්සේ හොයාගන්න පුළුවන්.

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

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

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

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

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

Monday, March 1, 2010

අනං මනං... 2010 ජනවාරි, පෙබරවාරි...

මගේ අහවල් කාව්‍යකරණය ගැන ලිව්වට පස්සෙ ගොඩක් දවසකින් මේ පැත්තෙ එන්න බැරි වුණා. මාර්තු අවසාන වෙන්න කලියෙන්වත් මොනව හරි නොලිව්වොත් සිංහල බ්ලොග් කියවනයෙන් මාත් විසික් වෙයි එළියට. කොත්තුවෙන් නම් තාම දොට්ට දාලා නෑ.. :)
(මාස තුනක් ඇතුළත නොලිව්වොත් සිංහල බ්ලොග් කියවනයෙන් එළියට... :| මාස දෙකක් ඇතුළත නොලිව්වොත් කොත්තුවෙන් එළියට.... :| )

මට මතකයි 2009 අවුරුද්දෙත් බ්ලොග් ලිවිල්ල පටන් ගත්තෙ ටික දවසක නිහැඬියාවකට පසුව. සුපුරුදු පරිදි තාක්ෂණික සටහනක් ලියන්න අවශ්‍ය කරන වස්තු බීජයක් ලැබුණෙත් නෑ. පහුගිය දවස් වල මට එක එක ජාතියේ වැඩ තිබුණ නෙව... විභාගයක් තිබුණා... ඉතිං මගේ පුරුදු වැඩ ටිකක් අතමක කරලා 'ගිරවාරූඪය' ට මාරු වුණා. විභාගේ ගැන නම් මතක් කොරනකොටත් බයයි වගේ... හාපෝයි...! විභාගේ 'to be continued' කියල ඒ අතර කාලේ ඡන්දෙකුත් තිබුණනේ.... ඔන්න ඉතිං ජනාධිපතිකමට සුදුසුයි කියල මට හිතුණු පුද්ගලයට මමත් අත පුරෝල පොඩි කතිරයක් ගහල ආවා. :)

දැන් ඉතිං කැම්පස් ජීවිතේ අන්තිම මාස හය... මේ කාලේ අපට තියෙනව ආධුනිකත්ව වැඩසහටනක්...හුරු පුරුදු විධියට කිව්වොත් අපේ internship programme එක. ඉතිං ජනවාරි 25 මමත් ජැන්ඩියට ඇඳලා ගියා ඉන්ටර්වීව්... මගේ ජීවිතේ පළවෙනිම ජොබ් ඉන්ටර්වීව් එක... මම ඒක සමත් වුණා! මාර්තු 02, ඒ කියන්නෙ හෙට උදේ ඉඳලා මට යන්න තියෙන්නෙ අළුත් ගමනක්... අළුත් පරිසරයක්... අළුත් මුහුණු... ලංකාවේ ලොකු ම තැනක පොඩි ම මනුස්සයෙක් විධියට මම හෙට ඉඳලා වැඩ! :)

ඊට පස්සේ ආයෙමත් විභාගේ... ඉතිරි ටිකත් ඩෙෆා රිපීට් කියලා දැනගෙනම නියම නෑමක් නෑවා... විභාගේ තමා අපේ අභාගේ. :( System and Network Administration නම් නාගන්නෙ නැතුව කරගත්තා... ලේසි පාසු එකකට තිබුණෙ ඒක විතරයි මම හිතන්නේ... :D (ලිනක්ස්ට ජය වේවා!)

විභාගේ අස්සේ තවත් වැඩකට ගියානේ... පෙබරවාරි 10 හවස දෙකට Human Resource Management ප්‍රශ්නපත්‍රයකුත් තියෙද්දි උදේ 9ත් 10ත් අතර සජීව ගුවන්විදුලි වැඩසටහනකටත් සහභාගි වුණා... O_o
ඉන්ටර්නෙට් සම්පත් භාවිතය -- මේ වැඩසටහන කොළඹ විශ්වවිද්‍යාලයීය පරිගණක අධ්‍යයනායතනයේ තවත් සද්කාර්යයක්... :) නිදහස් අධ්‍යාපනයෙන් අප ලබන ජවය මුදා හරින එක විධියක් තමයි ඒ... අප ලබන දැනුම සමාජය වෙතත් ලබා දීම... ශිෂ්‍ය සහභාගීත්වයෙන් හැම බදාදාවකම පෙරවරු 9.00 ට සජීව ව විකාශය කෙරෙන මේ වැඩසටහන් මාලාවේ පෙබරවාරි 10 බදාදා වැඩසටහන ගැන විශේෂයෙන් සඳහන් කළේ ඒකෙ තේමාව සිංහල බ්ලොග්කරණය නිසා... වැඩි විස්තර සිංහල බ්ලොග්කරුවන්ගේ ගුග්ල් සමූහයෙ ඇති වුණු මෙන්න මේ කතාබහෙන් දැනගන්න පුළුවන්. එදා වැඩසටහන මෙතනින් බාගන්නත් පුළුවන්. :)
එදා තවත් පාඩමක් ඉගෙනගත්තා... පූර්ණකාලීනව ලිනක්ස් වලට මාරු වීමේ ප්‍රතිපලයක් ලෙස මට වින්ඩෝස් සම්බන්ධ සමහර දේ අමතක වෙලා කියල දැනුණෙ අසන්නෙකුගෙන් ගැටළුවක් ඉදිරිපත් වුණාමයි... O_o අන්තර්ජාලය තිබුණු නිසා හිර නොවී යංතං ෂේප් කරගත්තා... :D



ඉතිං විභාගෙත් ඉවර වෙලා නිදහසේ ඉන්න කාලේ තව පොඩි පොඩි වැඩ ටිකකට අත ගැහුවා... අපේ ඇන්ත්‍රැක්ස් අයියගේ අළුත් ව්‍යාපෘතියක් තියෙනවා... පරිගණක ආරක්ෂාව ගැන දන්න සිංහලෙන් කතා කරන්න... සිංහල හැකර්ලාගේ තිප්පොල... ඉතිං ඒකටත් පොඩි සහයෝගයක් දෙනවා මේ දවස් වල... තාම සෑහීමකට පත් විය හැකි මට්ටමේ සහභාගීත්වයක් දෙන්න පුළුවන් වුණේ නෑ. :( ඉතිං... මෙන්න තියෙනවා අපි කතාබහ කරන තැන. දැන්ගන්න ඕනේ දෙයක් තමයි මේක සුදු තොප්පිකාරයින්ගෙ තැනක්... "යාළුවගෙ ඊමේල් ගිණුමට හොරෙන් පිවිසෙන්නෙ කොහොමද?" ඒ වගේ දේවල් ගැන කතා කරන්න වෙනින් තැනක් හොයාගන්න. "කොහොමද අපේ ඊමේල් ගිණුම ආරක්ෂා කරගන්නේ?" මෙන්න කතා කරන්න තැන...! තව,... පරිගණක වයිරස් ගැන... වින්ඩෝස් පාවිච්චි කරන අයට ලොකුම කරදරේ ඕකනේ... එන්න ඇවිත් සෙට් වෙන්න... අපි මේ දේවල් ගැන දන්න සිංහලෙන් කතා බහ කරමු... ඉගෙනගනිමු.... http://hacker.lk

පහුගිය දවස් වල මම වැඩියෙන්ම මහන්සි වුණේ මොකකටද කියන පුරස්නෙට නම් එක එක උත්තර තියෙනවා... වඩාත්ම හරි උත්තරය දන්න කස්ටිය සද්ද නැතුව ඉන්නවා හොඳයි... :P :D



පෙබරවාරි 13 නම් විශේෂයෙන් සඳහන් කරන්න ඕනෙ දවසක්. අපේ කැම්පස් එකේ සම්ප්‍රදායක් විධියට පළමු වසර විනෝද චාරිකාව යොදාගන්නෙ හන්තාන ආශ්‍රිතව. මේ දක්වා ඔය ගමන ගිහිපු අපේ කිසිම බැච් එකකට කිසිම උපද්‍රවයක් සිද්ධ වුණේ නෑ.... නමුත් මේ වතාවේ අපේ පළමු වසර පොඩ්ඩන්ට පේරාදෙණිය විශ්වවිද්‍යාලයේ 'මහා' ශිෂ්‍ය සංගමයෙන් බොහොම නින්දිත සහ දරුණු විධියට සලකලා තියෙනවා... වැඩි විස්තර මෙතනින් කියවන්න පුළුවන්. මේ සම්බන්ධයෙන් විරෝධතාව දක්වලා වෙනම බ්ලොග් සටහනක් ලියන්න මම අදහස් කළත් ඒකට වෙලාවක් ලැබුණෙ නැහැ.


මේ ගැන මගේ සගයින් එක්ක කතා බහ කරද්දි දැනගන්න ලැබුණා වෙනත් විශ්වවිද්‍යාල වල සිසුන්ටත් මේ කරදරයටම මුහුණදෙන්න සිද්ධ වුණු බව... අපි දේශපාලන පක්ෂ වලට කඩේ යන්නෙ නැති නිසා අපිව ඇලජික් වගේ ඇති...

මෙන්න මේකත් බලන්න... ත්‍රස්තවාදය පිළිබඳ විශේෂ උපාධියකුත් පේරාදෙණියෙ ඇති මං හිතන්නේ...
 

පේනව ඇතිනේ... පේරාදෙණියේ 'මහා' ශිෂ්‍ය සංගමයේ 'මහා ලොකු' අයියලා නිදහස් අධ්‍යාපනයෙන් ලද ජවය මුදා හැර තියෙන හැටි... ඉතින් මේ ගැන වැඩි commentary දෙන්න මම කාලය වැය කරන්නෙ නෑ.. කියවන ඇත්තෝම සිය නැණ පමණින් වටහා ගනිත්වා..!

එකක් ඉවර වෙනකොට තවත් එකක්... උතුරේ ත්‍රස්තවාදය නැත්තටම නැති කළා වගේම හන්තාන පැත්තේ ඉවර කරන්න තවත් ඒ වගේම මෙහෙයුමක් අතිගරු ජනාධිපතිතුමාට ඉතිරි වෙලා තියෙනවා.... මේකත් කියවලම බලන්න.

තවත් වැදගත් කාරණාවක්... පේරාදෙණියෙ ඔය 'මහා' ශිෂ්‍ය සංගමයත් එක්ක ඇයි හොඳයියක් නැති පිරිසකුත් ඉන්නවා... මම දන්න තරමින් ඒ අයට කියන්නෙ අලයො කියලා... අලයො අහිංසකයි... ඒ නිසා පේරාදෙණියෙ ඉන්න අල පිරිසට මේ සිද්ධිය සම්බන්ධයෙන් ගරහන්න එපා... උන් නිර්දෝෂයි. (මං වැරදි නම් පේරා අලයෙක්ම ඇවිල්ලා නිවැරදි කරන්ඩෝ.... :) )



පෙබරවාරි 13 Lirneasia AT Tester Soft Launch සඳහාත් සහභාගි වුණා. මට දැන් ඒ ගැන වෙනමම සටහනක් ලියන්න කාල වේලාව මදි... සවිස්තර සටහනක් ලෙස මාලින්ද ලියූ සටහනින් සෑහීමකට පත් වෙන්න පුළුවන්. :-)
වැදගත්ම කාරණාව තමයි ලංකාවේ broadband අන්තර්ජාල සබඳතා ලබා දීමේ ගුණාත්මක ප්‍රමිතියක් තවම නැහැ. එහෙමත් නැත්තම්, ගුණාත්මක සේවාවක් ලංකාවේ අන්තර්ජාල පාරිභෝගිකයන්ට ලැබෙන්නෙ නැහැ. මේ සම්බන්ධව පාරිභෝගිකයන් ලෙස හඬක් නගන්න අපට අවශ්‍ය කරුණු කාරණා, සාක්ෂි, සාධක පිළිබඳව අදාළ පර්යේෂණ පවත්වනවා Lirneasia ආයතනයෙන්. ඒක ඒ අය ලංකාවේ අන්තර්ජාල පාරිභෝගිකයා වෙත කරන ලොකු උදව්වක්. ඉතින්.. මේ පර්යේෂණ වලට සහය දීලා ලංකාවේ අන්තර්ජාල සේවා වල දියුණුව වෙනුවෙන් යමක් කිරීම තමයි අන්තර්ජාලය භාවිත කරන්නන් ලෙස අපෙන් සිදුවිය යුතු දේ. :)

පෙබරවාරි 14 වැනිදා ඔය AT Tester එකේ source code එකත් එක්ක ටිකක් ලව් කළා... මට හීනියට වගෙ අදහසක් ඇවිත් තියෙනවා ඒ code එක අධ්‍යයනය කරලා, ලිනක්ස් වල වැඩ කරන්න පුළුවන් AT Tester එක්ක හදන්න. බලමු... වෙලාව තිබුණොත් තමා....



ලිවිය යුතු වැදගත් දෙයක් තව ලැබුණෙ නෑ... ආ.... තංගල්ල පැත්තෙ පොඩි ටුවර් එකක් ගියා... දේශීය - විදේශීය හැමෝටම කියවන්න පුළුවන් වෙන්න ඒක ලිව්වෙ කඩ්ඩෙන්.... ගිහින් කියවලම බලන්න.... වැඩි හරියක්ම තියෙන්නෙ පිංතූර... :)

මගේ අද ලියමන මෙතනින් ඉවරයි... හෙට උදේ නවයෙන් මතු වැඩ කරන්න ලැබෙන කාර්යාල වටපිටාවත් එක්ක බ්ලොග් ලියන්න ඉස්පාසුවක් ලැබෙන එකක් නැති වෙයි... දන්නවනේ... රාජකාරිය = දේවකාරිය :D

ඉතිං... කස්ටිය  ඔය පහළින් තියෙන කොටුවේ ගල්-මුල්-මල්-එකඟතා-නොඑකඟතා මේ මොනව හරි ලියල යන්න..... ඔන්න මං කැපුනා... චෙරියෝ....! :D

Wednesday, December 30, 2009

ව්‍යාවසාදනය – bash කාව්‍යකරණයේ අත්ගුණය


කාව්‍යකරණයක් ගැන නොවැ මං කියල තියෙන්නේ... කලා රසයෙන් යුත් කවි දෙපදක් රස විඳින්න හිතාගෙන මේ පැත්තෙ ආපු අයගෙන් මුලින්ම මං සමාව අයදිනවා... නෝනාවරුනි, මහත්වරුනි.... ඔබේ බලාපොරොත්තු කඩවෙනවා. :-)

පරිගණක ක්‍රමලේඛණයට අධික ඇල්මක් දක්වන නිසා ඒක මට දැනෙන්නෙ කාව්‍ය රචනයක් වගේ.... මම දන්නෙ නෑ අනිත් අයටත් එහෙමද කියල. එදිනෙදා ඇති වෙන ලොකු - පොඩි ගැටළුවකදි ශිල්ප දාලා program කෑල්ලක් අටවගන්න එක පරිගණකත් එක්ක ගෙවෙන මගේ ජීවිතේ සාමාන්‍ය දෙයක් බවට පත් වෙලා. ඇත්තෙන්ම මම පරිගණක ක්‍රමලේඛණයේ අපූර්වත්වය විඳින්න පුරුදු වෙලා තියෙනව කිව්වොත් නිවැරදියි, programming is passion!

එතකොට ව්‍යාවසාදනයක් (disinfect) ගැන කියල තියෙන්නෙ මොකක්ද? මේ සටහන මගේ පසුගිය සටහනට සම්බන්ධයි. ඒකෙ ඉතිරි කොටස කියමුකෝ. මෙතනින් එහාට යන්න කලින්, මම මීට කලින් ලියූ බ්ලොග් සටහන වරක් කියවල මේ පැත්තෙ එන්න පුළුවන් නම් ඉතාම හොඳයි. මීළඟ අභියෝගය වුණේ malware හේතුවෙන් ආසාදිත වී තිබුණු ගොනු ටික හොයා ගන්න එකයි, වෙබ් අඩවිය සම්පූර්ණයෙන් ශුද්ධ කරන එකයි. (ආසාදිත ගොනු ටික කිව්වට පසුව සොයා බැලුවම 602ක්!)

මම කළ ප්‍රතිකර්මය කියන්න කලින් මම මේකෙ මුල් කොටසට ආපු ප්‍රතිචාර ගැන යමක් සඳහන් කරන්න හිතුවා. ලැබුණු ප්‍රතිචාර වලින් මම තෘප්තිමත්. එහෙම නොවුණනං දෙවෙනි කොටසක් ලියවෙන්නෙ නැහැනේ. :-)  හැබැයි, මේ වගේ තාක්ෂණික ලියවිලි වලදි මම ප්‍රතිචාර වලින් බලාපොරොත්තු වෙනවා තවත් යමක්. ඒ මගේ අඩු පාඩු. මම පොට වරද්දාගෙන තියෙන තැන්... නොමග ගිය තැන්... සටහන් අන්තර්ගතයෙ වැරදි... වගේ දේවල්. ඒ විතරක් නෙවෙයි සමහර අය වැරදි වැටහීමක් ඇති කරගෙන තිබුණා මේ ආසාදිත වෙබ් අඩවිය ශාකුන්තල.com කියලා. ඒක එහෙම නැහැ, ශාකුන්තල.com බොහොම සුවසේ තියෙනවා. ජනවාරි පළවෙනිදා ස්වයංක්‍රීවයම දියත් වෙන අළුත් නැවක් ඒක. ආසාදිත වෙබ් අඩවිය මට අයිති එකක් නෙවෙයි. ඒකෙ නම රහසක්. ;-)

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

අපේ පැත්තේ වලි වල සුලභ දෙයක් -- එකෙක් ගුටි කනවා තව එකෙක්ගෙන්... දැන් ගුටි කාපු එකාට ඕනේ පුළුවන් ඉක්මනින් ආපිටට නෙළන්න. සමහර විට ආපිටට නෙළන්න කල්ලි පිටින් යන්නෙ ගුටි කාපුවයෙ ඉදිමුම්වත් බහිනකම් ඉන්නෙ නැතුව. ඉතිං මේ වෙබ් අඩවි සංසිද්ධියෙදිත් මම කරල තිබුණේ එහෙම දෙයක්. අපේ වෙබ් අඩවියට වෙච්ච හානිය ගැන මුලින් තක්සේරුවක් කරනවා වෙනුවට මම කළේ වෙබ් අඩවියට ප්‍රහාරය එල්ල කළේ කවුද,.. කොහෙන්ද,... ආපිටට නෙළන්නෙ කොහොමද... ඔන්න ඔය වගේ විකාර හොයපු එක. මාර ඇඩ්මින් නේද? :P (හැබැයි ඒ සෙවිල්ල යම් තරමකින් හෝ වැඩක් ඇති දෙයක්)

හරි... දැන් ආපහු එමුකො මාතෘකාවට. හැම index ගොනුවක්ම සහ හැම javascript ගොනුවක්ම ආසාදනය වෙලා තියෙන බව සොයාගන්න පුළුවන් වුණු නිසා මුලින් මගේ අදහස වුණේ උපස්ථයකින් (backup) වෙබ් අඩවිය යළි පිහිටුවන්නයි. තිබුණු අළුත්ම උපස්ථයත් සෑහෙන පරණ ගතියක් දැනුණු නිසා මට backup වැඩේ හිතට හරි මදි. කොහොමටත් Backup & Restore මට එච්චර දිරවන මාතෘකාවක් නෙවෙයි.

ඒ නිසා මම කල්පනා කළා PHP වලින් සෙල්ලමක් දාලා ස්වයංක්‍රීයව ආසාදිත ගොනු ටික හොයාගෙන ඒවයෙ තියෙන ආගන්තුක කේත කොටස් ඉවත් කරන්න ක්‍රමයක් හදන්න. ආසාදනයේ ස්වභාවය අනුව මේක කරන්න පුළුවන් දෙයක්. නමුත්, PHP වලින් කරනවනම් ආරක්ෂාව ගැන තවදුරටත් හිතන්න වෙනවා. ඒකත් අමාරු දෙයක් නෙවෙයි.

Web hosting ආයතනය විසින් ssh ප්‍රවේශ පහසුකම් සලසා තිබුණු නිසා ssh හරහා වෙබ් අඩවියට පිවිසිලා මේ කාරණය ඉටු කරගන්න පුළුවන් බවත් මට වැටහුණා. මෙහෙයුම් පද්ධතිය විධියට ලිනක්ස් පාවිච්චි කරන මට bash එක්ක වැඩ කරනවා කියන්නේ අතිශයින්ම සාමාන්‍ය දෙයක්. ssh ප්‍රවේශ පහසුකමත් තියෙන නිසා, පරිගණකයත් එක්ක කතා බහ කරන්න මම නිතර පාවිච්චි කරන bash scripting මේ වැඩේට PHP වලට වඩා සුදුසු බව තේරුම් ගන්න මට වැඩි වෙලාවක් ගියේ නැහැ. අවසානයේ 'ඇන්ටිවයිරස්' එක bash පාවිච්චි කරලා linux shell script එකක් (මගේ වචන වලින් නම් bash කාව්‍යයක්) විධියට සකස් කරන්න තීරණය කළා.

අපි ලියන ක්‍රමලේඛයක අහම්බෙන් සිදු විය හැකි එක කුඩා විචල්‍යයක (variable) වරදක් නිසා සමහර විට පද්ධතියේ සියළු දත්ත ක්ෂණයකින් විනාශ වෙන්න පුළුවන්. ඒ වගේ අවදානමක් ගන්න ඕනේ නැති නිසා මම ලියන ක්‍රමලේඛය පරීක්ෂණ ධාවනයට (test run) ලක් කරන්න වෙබ් අඩවි ගොනු සියල්ල මගේ පරිගණකයට පිටපත් කරගත්තා.

$ ssh user@mysite.com

දැන් අපි සර්වර් එක ඇතුළේ...

$ tar cvfj mysite.tar.bz2 mysite/
$ exit

Compressed archive එකක් නිර්මාණය කළා. දැන් ඒක මගේ පරිගණයට ඩවුන්ලෝඩ් කරගන්න ඕනේ...

$ scp user@mysite.com:/home/user/mysite.tar.bz2 /home/shaakunthala/

දැන් පැක් එක ලිහන්න ඕනේ...

$ tar xvjf mysite.tar.bz

දැන් ලිහපු පැක් එක පැත්තක තියෙද්දි මගේ සුපුරුදු එඩිටරය වන vim පාවිච්චි කරලා shell script එක ලිවීම ආරම්භ කළා. ලියන්න කලින් අවශ්‍යතාව අවබෝධ කරගන්න ඕනේනේ... මෙන්න මෙහෙමයි ආසාදනයේ ස්වභාවය:
  • ආසාදිත ගොනු වල ආගන්තුක කේත කොටස තියෙන්නේ ගොනුවෙ අවසාන පේළිය ලෙස.
  • ආගන්තුක කේත කොටස තැනින් තැනට වෙනස්. නමුත් පොදු රටාවක් ලෙස එහි පහත දැක්වෙන පාඨ කොටස් හඳුනාගන්න පුළුවන්. ඒ නිසා සංකීර්ණ regexp ලිවීම අනවශ්‍යයි.
    • GNU GPL
    • window.onload
    • .replace
  • ආසාදනය වෙලා තිබුණෙ index ගොනු සහ javascript ගොනු පමණයි. (මෙය නිවැරදි තක්සේරුවක් කියා පිළිගන්න අපහසු දෙයක්. මේ නිසාත්, අපේ වෙබ් අඩවියෙ ශ්‍රව්‍ය-දෘෂ්‍ය වගේ විශාල ගොනු නොතිබුණු නිසාත් සියළුම ගොනු පරීක්ෂා කෙරෙන script එකක් ලිවීමෙන් වරදක් වෙන්නෙ නැහැ)
මේ කාරණා සැලකිල්ලට අරගෙන මුළු වෙබ් අඩවියම එකවර ශුද්ධ කරන script එකක් ලිවීම බොහොම පහසු කාරණයක් වුණා. bash functions සහ find -exec / xargs අතර පරහක් තියෙන නිසා මට script එක කොටස් දෙකකට වෙන් කරන්න සිදු වුණා.

sitefix.sh
#!/bin/bash
# Author: Sameera Shaakunthala

rm fixlog.txt
rootdir=`pwd`/mysite/
sup=`pwd`"/fixfile.sh"
find $rootdir -exec $sup {} \;
echo "JOB DONE!"

fixfile.sh
#!/bin/bash
# Author: Sameera Shaakunthala

echo "Processing file: "$1
code=`tail --lines=1 $1 | grep "GNU GPL" | grep window.onload | grep .replace`
l=`echo $code | wc -m | awk '{ print $1 }'`

if [ $l -ne 1 ]
then
 lc=`wc -l $1 | awk '{ print $1 }'`
 lc=`expr $lc - 1`
 head $1 -n $lc > tempfile.tmp
 mv tempfile.tmp $1
 echo "File "$1" has been fixed!" | tee -a fixlog.txt
fi

දැන් පරීක්ෂණ ධාවනය. මේක හරි ගියොත් වැඩේ තිතටම හරි.

$ chmod +x sitefix.sh fixfile.sh
$ ./sitefix.sh

මේක අහවර කරලා fixlog.txt ගොනුව පරීක්ෂා කරල බැලුවා.... ආසාදිත ගොනු 602ක්! අහඹු ලෙස ගොනු කීපයක් පරීක්ෂා කරල බැලුවා. ඒ හැම එකක්ම සුද්ධයි. යංතං අටවගත්ත වයිරස් ස්කෑනරේ සාර්ථක වෙලා! දැන් තියෙන්නෙ සර්වර් එකට මගේ දෙකඩ script එක පටවලා (upload) ක්‍රියාත්මක කරන එක.

$ scp sitefix.sh fixfile.sh user@mysite.com:/home/user
$ ssh user@mysite.com
$ chmod +x sitefix.sh fixfile.sh
$ ./sitefix.sh

අවසාන ප්‍රතිපලය වුණේ මිනිත්තු කිහිපයක් ඇතුළත අපේ වෙබ් අඩවිය සාර්ථක ලෙස ව්‍යාවසාදනය වීම. සියළුම malware කොටස් ඉවත් වී ඇති බව තහවුරු කර වුණේ antivirus මෘදුකාංග මගින් අපේ අඩවිය තවදුරටත් අවහිර නොකරන බව දැන ගත් විටයි. කොහොමද bash කාව්‍යකරණයේ අත්ගුණය? :-)

Hallelujah!

මේ සියල්ල සිද්ධ වුණේ දෙසැම්බර් 27 අළුයම් කාලයේ. මම ලියූ කේතය මගේ මිත්‍රයෙකුටත් ප්‍රයෝජනවත් වුණා. ඔහුගෙ වෙබ් අඩවියකුත් මේ ප්‍රහාරයටම ලක් වෙලා කියල ආරංචි වුණා. ඒක අපූරුවට වැඩ කළා ලු!

අද සටහන අවසාන කරන්නෙ බොහෝම නරක ආරංචියක් එක්කයි. මම භාෂා පරිවර්තකයෙක් නෙමෙයි... ඒ නිසා සිංහලෙන් ලියන්නෙ නෑ මේක >> ක්ලික් කරලම බලන්න...!


අවසානයේ කපිතන් ශාකුන්තල විසින් අනෙක් කපිතන්වරුන්ගේ හා නැවියන්ගේද උපකාර ඇතිව අහවල් නෞකාව බේරා ගන්නා ලදී. හිකිස්! :D

Thursday, December 24, 2009

Hacker ප්‍රහාරයක්...?


වෙබ් අඩවියක් පරිපාලනය කරනවා (website administration) කියන්නෙත් හරියට නැවක කපිතන් තනතුරේ ඉන්නව වගේ වැඩක්. හැම දෙයක් ගැන ම හැම ආකාරයකින් ම විමසිල්ලෙන් ඉන්න ඕනේ. ඇතුළතින් - පිටතින් දෙපැත්තෙන්ම එන සතුරු ප්‍රහාර වලට මුහුණදෙන්න ඕනේ... අන්තර්ගතය ගැන බලන්න ඕනේ... සෙවුම් යන්ත්‍රත් එක්ක තියෙන පළහිළව් විසඳන්නත් ඕනේ....
වෙබ් අඩවියෙ ප්‍රතිපත්තිත් (policies) එක්ක මේ වැඩ රාජකාරි ප්‍රමාණය  අඩු වැඩි වෙන්නත් පුළුවන්.

හරි.... එමුකො මාතෘකාවට. මගේ පරිපාලනය යටතෙ තියෙන එක වෙබ් අඩවියක් මෑතකදි හදිසියෙම අකර්මණ්‍ය වුණා. වෙබ් අඩවියට ගියාම සුදු පාට පිටුවක පෙන්නනවා දෝෂ පණිවුඩයක්... index.php ගොනුවෙ 38 වෙනි පේළිය... < ලකුණ තමයි අවුලට මුල කියල ඒ පිටුවෙ කියන්නේ. මේ අවුල දැක්ක සැණින් මට දැන්වූ බ්‍රයන් වෙත මගේ ස්තුතිය!

ඉතින් මමත් මේ ගැන සොයා බලන්න Filezilla මෘදුකාංගය පාවිච්චි කරලා FTP හරහා වෙබ් අඩවියෙ ගොනු තියෙන ඩිරෙක්ටරියට පිවිසුණා. මේ වෙබ් අඩවිය CMS එකක් භාවිතයෙන් නිර්මාණය කළ එකක්. index.php ගොනුව පිරික්සා බැලුවාම අමුතු දේවල් කීපයක්ම දකින්න ලැබුණා.

සාමාන්‍යයෙන් අපි PHP කේත ලිවීමේදී අපේ PHP කේත කොටස ලියන්නේ <?php හා ?> යන ටැග අතර. නමුත්, සුපුරුදු සම්මතයට පටහැනි වුණත්, අපේ php ගොනුවෙ තිබුණෙ ආරම්භක (<?php) ටැගය පමණයි.

PHP කේතයෙ අන්තිමේ HTML Script ටැගයක් තිබුණා. බොහොම භයංකර, බැලු බැල්මට hieroglyphs වගේ පේන අමුතු HTML/ Javascript කේත කෑල්ලක් ඒක.

එතකොට සම්පූර්ණ කේතය මෙන්න මේ වගේ:
<?php
/* වෙබ් අඩවියේ
PHP
කේත */

<script> // ආගන්තුක Javascript කේත කොටස </script>

හේතුනිර්ණය: දෝෂයට හේතු වුණේ PHP අස්සේ HTML තිබීම නිසා HTML කේත කොටසත් PHP කියල හිතාගෙන, අපේ සර්වර් එකේ PHP එන්ජිම මඤ්ඤං වීම.

---

ඉතින් මේක දැක්කාම මම කළ පළවෙනි දෙය මේ ගැන අනිත් පරිපාලකවරුන්ගෙන් (administrators) විමසීම. මේ කේතය ගැන ඒ කිසිවෙක් දැන සිටියෙ නැහැ.

එහෙනම්......
Hacker ප්‍රහාරයක් ද?

මගේ අනුමානය වුණේ මේ කවුරුහරි hacker කෙනෙකුගෙ වැරදුණු කුරුමානමක් කියලයි. මොකද අපේ වෙබ් අඩවිය අකර්මණ්‍ය කළා කියල කාටවත් අත්වෙන වාසියක් නැති නිසා. Phishing වගේ වැඩකට අපේ වෙබ් අඩවිය යොදා ගත්ත නම් ඒකෙන් ඔවුන්ට යම් වාසියක් ලබන්න අවස්ථාව තිබුණා.

කොහොම නමුත් අනිත් ඇඩිමින්ලා මේ ගැන නොදන්න නිසා (අනිත් අයගෙ දැනුවත් වීමකින්/ මැදිහත් වීමකින් තොරව සිද්ධ වුණු නිසා) මම ආගන්තුක HTML/ Javascript කේත කොටස විශ්ලේෂණය කිරීමේ අවශ්‍යතාව සඳහා මගේ පරිගණකයට පිටපත් කරගෙන, index.php ගොනුවෙන් ඉවත් කරලා ඒක save කළා. දැන් සයිට් එක බබා වගේ වැඩ.

හැබැයි.......... මගේ වැඩ එතනින් අහවර වෙන්නෙ නැහැ. මීළඟ පියවර සිද්ධියෙ අග මුල කොනක සිට සෙවීම. මෙන්න මෙහෙමයි අපේ වෙබ් අඩවියට ආසාදනය වෙලා තිබුණු විෂබීජය:



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

සිද්ධ වෙලා තිබුණෙ කලින් සිද්ධියමයි. ඉතින් මම පෙර වතාවෙ කළ සැත්කම ම ආපහු කරලා මීට විසඳුමක් හොයන්න උත්සුක වුණා. කාලෙකට පස්සෙ පොඩි අභියෝගයක්! මේක කරදරයක් නෙමෙයි.... අභියෝගයක්....!! සතුටු විය යුතුයි ඒ ගැන.

---

දැනට සිද්ධ වුණු දේවල් ගැන පොඩි සාකච්ඡාවක් මෙතනම ඉදිරිපත් කරන්න හිතුණා. සාකච්ඡාවට සහභාගි වුණේ මගේ මස්තිෂ්ක අර්ධගෝල දෙක.... තනියට පාලුවට අනුමස්තිෂ්කයත් පිටුපස්සෙන් හිටියලු...... :D

මේ මගුල අටවපු කෙනා ඒක කරල තියෙන්නෙ වෙබ් පිටුවක මේ කේතය අඩංගු කරලා වෙබ් පිටුව පූරණය වෙන අවස්ථාවෙ ඒක පරිශීලකගෙ පැත්තෙන් ක්‍රියාත්මක කරවන්න. නමුත් අපේ php ගොනුවෙ අග වැසීමේ ටැග් එක (?>) නැති නිසා, සර්වරය පැත්තෙන් ආගන්තුක HTML කේත කොටසක් PHP කේතයක් ලෙසම සලකලා interpret කරන්න උත්සාහ කිරීමෙ අවසාන ප්‍රතිපලය වුණේ මුළු වෙබ් අඩවියම අකර්මණ්‍ය වීම.


එක්කෝ අපිත් එක්ක සෙල්ලම් කරන කෙනා/ bot එක ට index.php ගොනුවෙ සම්පූර්ණයෙන් කියවන්න හැකියාවක් නැහැ. එහෙම නැත්නම් කියවා අවබෝධ කර ගන්න හැකියාවක් නැහැ. කියවා අවබෝධ කරගැනීමේ හැකියාවක් තිබුණා නම් ඒකාන්තයෙන්ම මේ වැඩේ කරන්නෙ මනුස්සයෙක්. නමුත් මේ දෙ වතාවේදී ම php කේතයෙ ව්‍යූහය නොතකා එහි අගට අන්ධ ලෙස HTML කේත කොටසක් එක් කර තිබීම නිසා මගේ නිගමනය වුණේ මේකට වගකියන්න ඕනෙ bot එකක්ම විය යුතුයි කියන එක.

මම මෙතෙක් ලබලා තියෙන දැනුමේ හැටියටත්, අපේ වෙබ් අඩවියෙ ස්වභාවයත් අනුවත්, වෙබ් ගවේශකයක් හෝ වෙනත් උපක්‍රමයක් පාවිච්චි කරලා HTTP හරහා මේ ප්‍රහාරය ක්‍රියාත්මක කිරීම අතිශයින්ම අසීරු දෙයක්. (HTTP ගැන හොඳ අවබෝධයක් තියෙනව නම් Firefox පවා hacking tool එකක් කරගන්න බොහොම පහසුයි! -- ඒක වෙනම කතන්දරයක්)

මේ නිසා මගේ සැකය යොමු වුණේ වෙබ් අඩවිය ස්ථාපනය කරලා තියෙන සර්වරය වෙත. සර්වරය වෙත අනවසරයෙන් පිවිසෙන්න සමත් වුණු තක්කඩියෙකුගෙ වැඩක් වෙන්න ඇති! << හැබැයි මේ උපකල්පනයක් පමණයි.

---

අගමුල හෙවිල්ල පොඩ්ඩකට පැත්තක තියලා අර කේත කොටස මම ආපහු පරීක්ෂා කළා. බැලු බැලුමට ආධුනිකයෙකුගේ ධෛර්යය හීන කරවන විධියෙ සංකීර්ණ පෙනුමක් ඒකට තියෙන්නේ. නමුත් ඕනම සංකීර්ණ ගැටළුවක් සරල කොටස් වලට වෙන් කරගත්තාම පහසුවෙන් විසඳන්න පුළුවන්. අන්තිමේ බැලුවම ඒකත් බොහොම සරල දෙයක් නොවැ!

මුලින්ම කියවන්න පහසු ක්‍රමයකට කේතය පේළි කීපයකට වෙන් කරගත්තා,



මේ තියෙන්නෙ අමාරුකාර පේළිය,



ඒ පේළිය දිහා පරීක්ෂාකාරීව බලන්න... javascript පිළිබඳ එතරම් ම දැනුමක් අවශ්‍ය වෙන්නෙ නැහැ. :)



Javascript වල තියෙන replace නම් method එක තමයි මෙතන පාවිච්චි කරල තියෙන්නේ. (අහඹු ලෙස) විරාම ලක්ෂණ මුසු කිරීම මගින් සූක්ෂ්ම ආකාරයට සඟවන ලද පාඨ කොටසක්, ක්‍රමලේඛය ධාවනය වෙන අවස්ථාවේදී ඒ විරාම ලක්ෂණ ඉවත් කර නැවත ප්‍රයෝජනයට ගැනීමේ අපූරුව! හැබැයි ඉතිං මේක හරියට අගුළු දමාපු අල්මාරියක යතුර ඒකෙ යතුරුකටේම තියෙන්න අරිනව වගේ වැඩක්.

ඔය කේත කොටසෙ අවසාන ප්‍රතිපලය:



බැලු බැල්මටම පේනව නෙව මේක phishing වගේ වැඩකට පාවිචිචි කරන්න හදපු එකක් කියලා.... :)

මේ සම්පූර්ණ කේතය ධාවනය වෙද්දි වෙබ් ගවේශකය මත දිස් වන වෙබ් පිටුවේ තවත් javascript object එකක් නිර්මාණය වෙනවා. ඒ javascript කේතය තියෙන්නෙ/ තිබිය යුත්තෙ ඔය රතු පාටින් දීල තියෙන URL එකේ. නමුත් වෙබ් ගවේශකයෙන් මේ URL එක වෙත ගියාම දිස් වෙන්නෙ හිස් වෙබ් පිටුවක්. දෙවැනි ප්‍රහාරයෙදි මම පිටපත් කරගත් කේතයෙන් දැක්වුණේ මේ ව්‍යූහයම දරණ වෙනත් URL එකක්. පහත දැක්වෙන්නෙ attacks කීපයකින් පසුව මම එකතු කරගත් තවත් මෙවැනි URL දෙකක්.



---

මේ වෙබ් ලිපින මම පරීක්ෂා කර බැලුවා... මේ කේත කොටස shaakunthala.com හි මගේ වෙබ් අඩවියට දාලා ඇතැම් විට අවශ්‍ය පරිදි Wireshark පවා යොදාගෙන පරීක්ෂා කරල බැලුවා. ඒත් කොයි URL එකෙන් වුණත් ලබා දෙන්නෙ අපේක්ෂිත javascript කේතය නෙවෙයි, හිස් පිටුවක්.

ඒ හැම host එකකම port 80 හා 8080 හි වෙබ් සර්වර් ක්‍රියාත්මකව තිබෙනවා.

මේ port 80 හි ක්‍රියාත්මක වෙබ් සර්වර මත තියෙන අඩවි:




තිරපිටපත් මත ක්ලික් කරලා පැහැදිලිව බලන්න පුළුවන්

---

වෙබ් අඩවි ලඝු සටහන් (site logs) වලිනුත් කිසිම දෙයක් හොයාගන්න බැරි වුණා. ඒවයෙ මේ ගැන කිසි දෙයක් සටහන් වෙලා තිබුණෙ නැහැ. මේ කිව්වෙ server logs ගැන නෙවෙයි.

මේ ගැන කරන විමර්ශනය මම අතහැර දමා නැහැ. ඊට සමගාමීව මීළඟ පියවර අපට web hosting සේවාව සපයන ආයතනය සමඟ සාකච්ඡා කර විසඳුමක් සොයන එකත් කළ යුතුයි. තාවකාලික පැලැස්තර විසඳුමක් ලෙස index.php ගොනුවෙ අගට පහත දැක්වෙන කේත කොටස එකතු කළා. 

die();

මෙහෙම 'මැරියං!' කිව්වාම එතනින් එහාට කේතය interpret වෙන්නෙ නැහැ. ඒ නිසා අර කෙහෙල්මල් javascript එක interpret වෙන්නෙවත්,  වෙබ් ගවේශකය වෙත එන්නෙවත් නැහැ. වෙලාවෙ හැටියට මේ 'මැරියං!' එක පැලැස්තර විසඳුමක් හැටියට බොහොම ප්‍රයෝජනවත් වුණා.

---

අපේ වෙබ් අඩවිය දැන් කිසිම ගැටළුවකින් තොරව ක්‍රියාත්මකයි. හැබැයි නැවත නැවතත් ප්‍රහාරයට ලක් වෙමින් පවතිනවා. die() කියන PHP මෙතඩ් එක පළිහක් වගේ අපේ වෙබ් අඩවිය අකර්මණ්‍ය වෙන්න නොදී ආරක්ෂා කරනවා. බලමුකො ඒකෙත් අපූරුව!

හැබැයි, විමර්ශණ මෙතනින් නවතින්නෙ නෑ. index.php ගොනුවෙ permissions තිබුණෙ 664 (-rw-rw-r--) ලෙස. ඒක ටිකක් විතර අසාමාන්‍යයි වගේ (සාමාන්‍යයෙන් මේක 644 හෙවත් -rw-r--r--). මේ වෙබ් අඩවිය නිර්මාණය කළ අය වෙබ් අඩවිය සකස් කරන්න සහ host එකට upload කරන්න පාවිච්චි කරල තිබුණෙ වින්ඩෝස් මෙහෙයුම් පද්ධතිය හා ඒ පාදක කරගත් මෘදුකාංග. මේක වින්ඩෝස් වල තියෙන 'අල' permission system එක නිසා මෙතන එය 664 වුණා කියලයි මම හිතන්නේ.

මගේ ඊළඟ ඇටවුම වුණේ මේ permissions 600 (-rw-------) ආකාරයට සැකසීම. සරලව කිව්වොත්, දැන් index.php කියවන්න සහ සංස්කරණය කරන්න පුළුවන් සර්වරය පැත්තෙන් ඒ ගොනුවෙ අයිතිකරු ලෙස ඉන්න userට පමණයි. අනෙක් අයට කිසිම දෙයක් කරන්න බැහැ. කලින් තිබුණු ක්‍රමය අනුව අදාළ පරිශීලකටත්, කණ්ඩායමටත් මේ අවසර ලැබී තිබුණා. මේ නව permission සැකසීම මගින් මම සොයාගන්න අදහස් කළේ කලින් කිව්ව bot හෝ ස්වයංක්‍රීය උපක්‍රමය ධාවනය වෙන්නෙ අදාළ පරිශිලක යටතේම ද කියන එක.

මේ ආගන්තුක කේත කොටස javascript වීම නිසා ඇති වුණු සැකයක් ඔස්සේ  (මේ දැන් මොහොතකට පෙර) කළ සෙවීමකදී jQuery සහය සඳහා පාවිච්චි කරන jquery.js ගොනුවත් මෙලෙසම ආසාදනය වී ඇති බව දැනගන්න ලැබුණා. නමුත් එය Javascript ගොනුවක් නිසා කලින් වගේ ප්‍රතිපල බාහිරයට පෙනුනේ නැහැ. තවදුරටත් සොයා බැලීමේදී මුළු වෙබ් අඩවියෙම විවිධ තැන් වල තියෙන index.php ගොනු වලටත් javascript ගොනු වලටත් මෙය ආසාදනය වී ඇති බව සොයාගන්න හැකි වුණා. මට හීන්දාඩිය දාන්න ගත්තේ දැන්. තවදුරටත් සොයා බැලීමේදී මේ ගොනු බොහොමයක permissions තිබුණේ 644 (-rw-r--r--) ආකාරයෙන් බවත් නිරීක්ෂණය වුණා. මේ (permissions) නිරීක්ෂණයත් එක්කම මම කලින් ඡේදයෙ විස්තර කළ ඇටවුමේ ප්‍රතිපල ලැබෙන තෙක් බලා සිටීම අනවශ්‍ය කාරණයක් බවට පත් වෙනවා.

සියළුම නිරීක්ෂණ සලකා බලා මගේ අවසාන නිගමනය මෙය web hosting සේවාව සපයන ආයතනයේ වරදකින් සිදු වුණා කියන එක. වෙබ් අඩවි ලඝු සටහන් වලත් වැදගත් යමක් සටහන් නොවී තිබීම නිසා, මෙය HTTP හරහා වෙනත් පාර්ශවයක් අනවසර පිවිසීමක් ලබාගෙන සිදු කළ දෙයක් නොවෙයි කියන එක පැහැදිලියි.

---

අද සටහන අනවශ්‍ය පරිදි දීර්ඝයි කියා මට හිතෙන්නේ.... සුළුවෙන් හරි අපැහැදිලි තැනක් තියෙනවනම් comment එකක් දාන්න.... මම තවත් සරල කරලා විස්තර කරන්නම්.

ඒ වගේම මේ ක්ෂේත්‍රයේ අත්දැකීම් තියෙන අයගෙ උපදේශත් මේ ලිපියට ප්‍රතිචාර හෝ ඊමේල් ආකාරයෙන් බලාපොරොත්තු වෙනවා. (cyber forensics කියන්නෙ මේවද මන්දා.... :-/ )

විමර්ශණ කෙසේ වෙතත් නත්තලත් ළඟටම ඇවිත්.... ඉතින්... මගේ බ්ලොග් අඩවියට යන එන හැම දෙනාටම හැකර් ප්‍රහාර වලින් තොර සාමකාමී සුභ නත්තලක් වේවා කියල ඔන්න මගෙනුත් නත්තල් සුභපැතුම්! :-)





පසු සටහන (2009/12/25):
මේ සටහනේ අන්තර්ගතය ලෙස malicious source code කොටස් සඳහන් කිරීම නිසා විවිධ වයිරස් නාශක මගින් මගේ බ්ලොග් අඩවිය අවහිර කර ඇති බව දැනගන්න ලැබුණා. ඒවා කේත ලෙස නොව පාඨ ලෙස render වන නිසා හානි රහිතයි. මෙය වයිරස් නාශක මෘදුකාංග වල සිදුවූ වරදක් (False Positive).


Image credit: Ravin Perera

මෙය වළක්වන්න අදාළ source code සියල්ල පිළිබිඹු (images) ලෙස යොදන්න සිදු වුණා. නමුත් ඒ ඒ තැන් වලට අදාළ කේත කොටස් අවශ්‍ය නම් පහත දැක්වෙන සබැඳියෙන් බාගත කරගත හැකියි.

  http://www.4shared.com/file/180832826/c4c709df/altcodetxt.html
Password: malcode

(ඔබ වින්ඩෝස් මෙහෙයුම් පද්ධතිය පාවිච්චි කරනවා නම් මේ ගොනුව විවෘත කරන්න wordpad මෘදුකාංගය යොදාගන්න -- notepad පාවිච්චි කරන්න එපා)

යොමු:
http://forum.avast.com/index.php?topic=52588
http://groups.google.com/group/techkatha/browse_thread/thread/ab92437e0054fcec

මේ වින්නැහිය ගැන මට දැන්වූ සියළුම දෙනාට මගේ හෘදයාංගම ස්තුතිය පිරිනමනවා! :)

Merry X'mas to you all again!!

Monday, December 14, 2009

මෝරුන් ලවා සිංදු බෑම


අද කියන්න යන්නේ තාක්ෂණය හා සංගීතය සම්බන්ධ කාරණයක්. මගේ දෛනික අත්දැකීම් අතරට එකතු වෙන තවත් එක අත්දැකීමක්. බළලුන් ලවා කොස් ඇට බෑවීම ට ආදේශකයක් හොයන අය මේ ලිපිය කියවන්නෙ නැතුව මගේ Flickr සේයා දහර පැත්තේ ගිහින් බලන්න. :D

තාක්ෂණික දේවල් කියවන්න අකමැති නම් සටහනේ අන්තිමේ ඇති දෙසවනට හා දෙනුවනට රසවිඳින්න යමක්. තාක්ෂණික මාතෘකා අප්පිරියා වගේ නම් මඟැහරල ඔහොමම යන්න පහළට.

පොප්, රෙගේ සහ හිපොප් අහන්න ටියුන් වෙලා තිබුණු මගේ කන් දෙක රොක් සංගීතයට ටියුන් වෙන්න පටන් ගත්තේ එක්තරා තහනම් වෙළඳ දැන්වීමක තිබුණු සිංහල රොක් සිංදුවක් අහලා. ඉනික්බිති ගල්, තද ගල්, තලන ලෝහ, බර ලෝහ, මර ලෝහ සහ කළු ලෝහ මේ හැම ජාතියටම බරපතල ලෙස ඇබ්බැහි වුණා. තේරුණේ නැත්තම් ඔය ලැයිස්තුව rock, hard rock, thrash metal, heavy metal, death metal සහ black metal කියල හිතාගන්ටකෝ.

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



එකම ගීතයෙ වුණත් විවිධ අනුවාද රසවිඳින්න මම ගොඩක් ප්‍රියයි. විවිධත්වය කොතැනද - රසය එතැන! ඉතින් වෙබ් පිටුවෙ embed කරලා තිබුණු මගේ ප්‍රියතම ගීයත්, අනෙක් රොක් සිංදු ටිකත් බාගන්න මම උත්සාහ කළා. නමුත් සාමාන්‍යයෙන් මේ වගේ වැඩ වලට මම පාවිච්චි කරන Video Download Helper ඇඩෝනය මේ ගීත වල බාගැනීමේ සබැඳි (download links) හොයාගන්න අපොහොසත් වුණා. ඒ නිසා මම ඒ හා සමාන තවත් ඇඩෝනයක් පාවිච්චි කරලා නැවත උත්සාහ කළා. අසාර්ථකයි! :(

ගිනිහිවල් ආම්පන්න කෙරුවාව එකින් එක හොය හොයා ගියොත් මට වෙනින් වැඩක් කරගන්න කාලයක් ඉතිරි නොවෙන නිසා මම වෙනත් විසඳුමක් හොයන්න උත්සුක වුණා. මුලින් ම බැලුවෙ Firefox සහ Adobe Flash Player මෘදුකාංග වල cache ඩිරෙක්ටරි ඇතුළෙ. නමුත් මගේ බලාපොරොත්තු සුන් කරමින් ඒවයෙනුත් කිසිම දෙයක් හොයාගන්න බැරි වුණා. :(

ඉතින් අවසාන තීරණය වුණේ පරිගණකයට පිටතින් (ජාලය හරහා) එන සියළුම අමු දත්ත (raw data) මෘදුකාංගයක් මගින් ග්‍රහණය කරගෙන ඒ ග්‍රහණය කරගත් බිටු සහ බයිට අතරේ මට අවශ්‍ය දේ තියෙනව ද කියල සොයා බලන එක! :-O එහෙම බර වචන වලින් කිව්වාම බය වෙන්න එපා :) -- මේ කාරිය ඉතාම පහසුවෙන් කරගන්න පුළුවන් Wireshark කියන මෘදුකාංගයෙන්. මේ ලියමනේ මාතෘකාවෙ සඳහන් මෝරා මොකාද කියල දැන් වැටහෙන්න ඕනේ. :) Wireshark මෘදුකාංගය network protocol analyzer එකක්. පරිගණකයත් ජාලයත් අතර දත්ත හුවමාරුව සිද්ධ වෙන්නේ දත්ත 'පැකට්' කියන කුඩා ඒකක (chunks) ආකාරයෙන්. Wireshark මෘදුකාංගයට පුළුවන් මේ දත්ත පැකට් දෙස විමසිල්ලෙන් බලා සිට ඒ පැකට් පිළිවෙලකට පිටපත් කරගන්න. මේ පැකට් පසුව විශ්ලේෂණය කිරීමේ පහසුකමත් Wireshark විසින්ම ලබා දෙනවා.

කොළඹ සරසවියෙ මෙතෙක් මම පෙනී හිටපු විභාග වලින් එකම A+ සමාර්ථය ලබපු පරිගණක ජාලකරණය පිළිබඳ ප්‍රශ්නපත්‍රයෙත් Wireshark මෘදුකාංගයෙන් ග්‍රහණය කරගත් දත්ත පැකැට්ටුවක් විශ්ලේෂණය කරන්න ගැටළුවක් තිබුණා ලාවට වගේ මතකයි. ඉතින් මේවත් අපට වැඩද කියලා හිතින් හිතාගෙන වැල්මෝරා සූදානම් කරගෙන වැඩේට බැස්සා.

මුලින්ම වෙබ් ගවේශකයෙ මට අවශ්‍ය ටැබ් එක (ගීතය අඩංගු වෙබ් පිටුව) හැර ඉතිරි සියළුම ටැබ් වහලා දැම්මා. Twitter සඳහා පාවිච්චි කරන Echofon ඇඩෝනය අක්‍රිය කළා. මේ දේවල් කළේ අනවශ්‍ය දත්ත පැකට් Wireshark මගින් ග්‍රහණය (capture) වීම වළක්වන්න. ඉන්පස්සේ ගීතය අඩංගු වෙබ් පිටුව ප්‍රතිපූරණය (reload) කරලා ඒ ප්‍රතිපූරණය සිද්ධ වෙන අතරෙම පැකට් ග්‍රහණය කරන වැඩේ පටන් ගත්තා. ගීතය මුළුමනින්ම වාදනය අවසාන වුණාම වෙබ් ගවේශකය වසා දමලා දත්ත පැකට් ග්‍රහණය කරන වැඩෙත් නතර කරලා දැම්මා. ග්‍රහණය කරගත් අමු දත්ත විශ්ලේෂණය කිරීමේ පහසුව තකා වෙනම ගොනුවකට save කරගත්තා.

දැන් විශ්ලේෂණය කරන වැඩේ. අමු දත්ත පැකට් හරීම ලස්සනයි :P . කොළ පාටට - කළු පාටට - ලා නිල් පාටට - වෛවාරන්න පැකට්! ඒ මදිවට TCP, UDP, HTTP, SSL, DNS මෙකී නොකී හැම ජාතියෙම පැකට්!! ඉතින් දත්ත පැකට් දහස් ගණනක් අතරේ අතරමං නොවී මට අවශ්‍ය දේ පහසුවෙන් හොයාගන්න පොඩි 'පෙරහනක්' පාවිච්චි කළා. වෙබ් ගවේශකය ක්‍රියාත්මක වෙන්නේ HTTP කියන ජාලකරණ සම්මුතියට අනුව. HTTP වල එක ලක්ෂණයක් තමයි HTTP සර්වරයක් වෙතින් යම් අන්තර්ගතයක් (content) සඳහා ඉල්ලීමක් කළාම අදාළ අන්තර්ගතය, එහි තත්වය පිළිබඳව HTTP තත්ත්ව කේතයක් සමඟ පෙරළා දැනුම් දීම. සාමාන්‍යයෙන් දෝෂ කේතයක් නොවේ නම් මෙය අන්තර්ජාල ගවේශණයේදී පරිශීලකයා වෙත දිස් වන්නේ නැහැ. වෙබ් ගවේශකයෙන් ඉල්ලුම් කරන අන්තර්ගතය කිසිම බාධාවකින් තොරව ඒ වෙත ලබා දෙන්න වෙබ් සර්වරය සමත් වුණා නම් මේ තත්ත්ව කේතය වෙන්නේ 200. ඒක සම්මුතියේ තියෙන සම්මතයක්. ඒ නිසා මේ නිර්ණායකය පාවිච්චි කළා මම ඉහත කියපු පෙරහන හදාගන්න. මිළඟ තිරපිටපත බැලුවාම පෙරහන ගැන පැහැදිලි වෙයි. මේ දේවල් පැහැදිලි කරන්න ටිකක් වැඩිපුර වචන පාවිච්චි කළාට අකුණක් ගහනවා වගේ ඔය සියළුම අදහස් මගේ මනසේ ගොඩනැගෙන්න ගත වුණේ එක නිමේෂයයි.


 පැහැදිලි මදි නම් තිරපිටපත මත ක්ලික් කරන්න

ඔය තිරපිටපතෙත් සලකුණු කරල තියෙන එක දත්ත පැකැට්ටුවක් ගැන මගේ අවධානය විශේෂිතව යොමු වුණා. බැලු බැල්මට ඒක නම් MP3 ගොනුවක ආරම්භක දත්ත පැකැට්ටුව වගේ පෙනෙන්නේ. නමුත් වැඩිදුර සොයාබැලීම සඳහා ඒක මත ක්ලික් කළාම Wireshark වැසී යනවා. ඒක Wireshark මෘදුකාංගයෙ සුළු දෝෂයක් නිසා ඇති වුණු දෙයක් විය හැකියි. නමුත් අදාළ පැකැට්ටුව විවෘත කරගන්න බැරි නිසා මගේ අවසාන උත්සාහය වුණේ HTTP මගින් ලැබුණු සියළුම දත්ත, ගොනු බවට export කරගන්න එක. File -> Export -> Objects -> HTTP මෙනු විධානය දුන්නාම තවත් පොඩි අතුරුමුහුණතක් හරහා මේ සියල්ල ගොනු ආකාරයෙන් ලබාගන්න පුළුවන් වුණා. ඒ අතර තිබුණා -- මොනවද? මට ඕන කරපු දේ! :) මෙහෙයුම සාර්ථකයි!!

බලන්න මීළඟ තිරපිටපත.


පැහැදිලි මදි නම් තිරපිටපත මත ක්ලික් කරන්න

ඔය අස්සේ Facebook වෙළඳ දැන්වීමක ෆෝන් විකුණන කෙල්ලෙකුත් ඔතනට ඇවිත්... ඒව ගනංගන්න එපා.. :P .

 ---

Wireshark හරිම අපූරු මෘදුකාංගයක්. දවසක් මම බැචෙකුට SSL කුප්පියක් දාන්න ආරම්භයක් විධියට Wireshark වලින් පොඩි වැඩකෑල්ලක් දාල පෙන්නුවා. මුලින් පෙන්නුවේ මගේ අතහැර දමාපු SLT Dial-up ගිණුමට ලොග් වෙලා ඒ අතරේ Wireshark එකෙන් ග්‍රහණය කළ දත්ත අතරේ ගෙඩි පිටින් username/ password තියෙන හැටි. ඊළඟට මගේ Gmail එකට ලොග් වෙලා username/ password හොයන වැඩේ ඌටම කරගන්න දුන්නා. :D

(SLT අය SSL පාවිච්චි කරන්නෙ නැත -- සහතිකේ ගිණි ගණං නිසා වෙන්නට ඇත)

---



ඔය තිරපිටපතේ තියෙන විධියේ පිවිසුම් ක්‍රමය සමහර වෙබ් අඩවි වල පාවිච්චි වෙනව දැකල ඇතිනේ.... මේක තරමක් දුරට අනාරක්ෂිතයි. හිතන්න තමන් දැනට ඉන්න local area network එක ඇතුළෙ තවත් කෙනෙක් ඔය විධියෙ අඩවියකට තමන්ගෙ පරිශීලක නමයි මුරපදයයි දීලා ලොග් වෙනව කියලා. ඒ කෙනා ලොග් වෙන වෙලාවේ දත්ත පැකට් ටික Wireshark මගින් ග්‍රහණය කරගන්න පුළුවන් නම් සොරි ඩොට් කොම්! අපට නෙමෙයි එයාට.

මෙතනදි username/ password යන්නෙ encrypt කරල නෙමෙයි. හැබැයි බැලු බැල්මට ඒ වගෙයි. පොඩි සෙල්ලමක් දාලා ආයෙම username/ password අදාළ දත්ත වලින් පහසුවෙන්ම ගණනය කරගන්න පුළුවන්. (base64 encoding ගැන පොඩි ගුග්ල් සෙවුමක් දාලා බලන්ටකෝ.... ;) )

මේව වැරදි වැඩ තමයි.... හැබැයි hacking කියල වරදවා වටහාගන්න එහෙම එපා..... :P



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


Youtube එකේ තියෙන දර්ශන පෙළ නරඹන අදහස අතහැර දමන්න. බය වුණාම බොන ජාතිය අමතක කරන්න. Youtube එකේ ගීතය වාදනය වෙන අතරේ තවත් ටැබ් දෙකක මෙන්න මේ වෙබ් පිටු විවෘත කරගන්න. පිංතූර එකින් එක බලන අතරේ ගීතයට හොඳින් සවන්දෙන්න.


(අනුන්ගෙ සිංදු අනවසරයෙන් කොපි කරලා ඩවුන්ලෝඩ් කරන්න දෙන එක නෝටි වැඩක් නේ..... අනෙක..... තව ටික දවසකින් ඕකෙ ඩවුන්ලෝඩ් දෙයි. ඒ නිසා මම ශිල්ප දක්වලා බාගනිපු එක මගෙ ළඟම තිබුණාවේ -- ඕනෙ නම් මම කරපු විධියටම කරලා සිංදුව බාගන්න. ;-) )



එහෙනං ඉතිං.... නැවතීමේ තිත තියන්න හෙවත් කැපෙන්න වෙලාව ඇවිත්. මේ සිංදු බෑවිල්ල මහා ලොකු දෙයක් නෙවෙයි. නමුත් සිංහලෙන් වැඩ කරන පාඨක පිරිස අතරේ බෙදා හදාගන්න හිතුණා. තවත් මොනවහරි දෙයක් අරගෙන ආපහු එනකම්.... Rock on! :D

Sunday, November 22, 2009

අළුත් අළුත් ලිනක්ස්

මම දැනට මගේ ලැප්ටොප් පරිගණකයේ මෙහෙයම් පද්ධති තුනක් පාවිච්චි කරනවා. ඒ Ubuntu, Fedora සහ Debian. සාමාන්‍ය පාවිච්චියට Ubuntu ත්, පරිගණක ජාලකරණය/ Virtualization පිළිබඳ යම් යම් දෑ අත්හදා බලන්න Fedora සහ Debian පද්ධතිත් පාවිච්චි කරනවා. GUI නැතුව කට්ට කළුවරේ ඇඩ්වෙන්චර් සෙල්ලම් වලට Debian.. :P ඉතින් මෑතකදි නිකුත් වුණු අළුත් ලිනක්ස් සංස්කරණ ගැන යමක් ලියන්නයි මේ සටහන.




Karmic Koala නම් බැලු බැල්මටම 'මොඩ්' ගතියක් තියෙනවා. කිහිප දවසකට පෙර, මම ඉංග්‍රීසි බසින් ලියන බ්ලොග් අඩවියේ මේ ගැන යම් සඳහනක් කළා. Karmic Koala නිකුතුවත් එක්ක පැහැදිලිව පෙනෙන දෙයක් Ubuntu තව තවත් වින්ඩෝස් වගේ වෙලා. ඒක එක අතකින් හොඳයි කියන්නත් තවත් පැත්තකින් නරකයි කියන්නත් පුළුවන්. මේකෙ තියෙන සමහර වෙනස්කම් වලට නම් මම පෞද්ගලිකව කැමති නැහැ. හැබැයි පෙරට වඩා සෑහෙන හොඳ user friendly ගතියක් තියෙන බවත් පිළිගන්න වෙනවා.

Karmic Koala එන්නේ අළුත් දේවල්, ගති ලක්ෂණ කිහිපයකුත් එක්ක. ඉන් පැහැදිලිවම දකින්න පුළුවන් එකක් තමයි පැරණි GRUB එක (GRUB Legacy) ඉවත් කරලා තවමත් බීටා අවධියේ තියෙන GRUB2 බූට්ලෝඩරය විධියට පාවිච්චි කිරීම. පොත්තට රැවටෙන්න එපා කියල කියන්න තියෙන්නෙ මෙතනදි තමයි. GRUB2, පැරණි GRUB එකට වඩා දියුණු ගති ලක්ෂණ කීපයක්ම තිබුණත්, ආරක්ෂිත බව අතින් නම් අවමයි. GRUB2 වෙත ප්‍රවේශ වෙන්න දියුණු බහු පරිශීලක ප්‍රවේශන ක්‍රමයක් සකසා තිබුණත් තවමත් ඒක 'කොට උඩ' බව තමයි දැනගන්න ලැබෙන්නේ. සරලව කිව්වොත් GRUB2 වෙත බූට්ලෝඩර් මුර පදයක් යෙදීම තවමත් කරන්න බැහැ. කොහොම වුණත් මේ අඩුපාඩු නිවැරදි වෙලා ඉක්මනින් හොඳ බූට්ලෝඩරයක් විධියට GRUB2 එළිදැක්වෙයි කියලා බලාපොරොත්තු වෙමු. :)

Ubuntu අළුත් සංස්කරණයත් එක්ක GRUB2 බෙදාහැරීම කර ඇති ආකාරය ගැන නම් මගේ එතරම් පැහැදීමක් නැහැ. එය එක්තරා විධියක ඒකාධිකාරයක් කියන්නත් පුළුවන්. මීට දෙමසකට පෙර නිකුත් වූ Debian Lenny පද්ධතියත් GRUB2 නිකුතුව ලබා දුන්නා. නමුත් Debian ස්ථාපනයේදී තමන් කැමති බූට්ලෝඩරය තෝරාගැනීමේ විකල්පය පරිශීලකට ලබා දී තිබුණා. පුරුදු පරිදිම, Ubuntu Karmic Koala ස්ථාපනයේදීත් බූට්ලෝඩරය පිළිබඳව වූ එකම සඳහන වුණේ GRUB2 ස්ථාපනය කරන device එක තෝරා ගැනීමේ විකල්පය පමණයි. පැරණි GRUB එකෙන් මගේ පරිගණකයට සැලසුණු ආරක්ෂාව අළුත් GRUB2 වෙතින් නොලැබෙන නිසා නැවත GRUB Legacy වෙත මාරුවීම තමයි මම Ubuntu ස්ථාපනය කළ වහාම කළ පළමුවෙනි කාරිය.

මීළඟට මම දැක්ක තව දෙයක්, Ubuntu ස්ථාපනයේදී තියෙනවා Home ඩිරෙක්ටරිය encrypt කිරීමේ විකල්පයක්. මේ වගේ (අවදානම්) විකල්ප තෝරාගන්න කලින් කළ යුතු දේ පොඩි Google සෙවුමක් කරල බලන එක. Google සෙවුමෙන් දැනගන්න ලැබුණෙ බොහොම නරක ආරංචියක් නිසා මම Home ඩිරෙක්ටරිය encrypt කරන අදහස අතහැර දැම්මා. පරිශීලක මුරපදය වෙනස් කළොත් ලොගින් වෙන්න බැරිලු.

ඊළඟ කාරණාව ලැප්ටොප් පාවිච්චි කරන සංගීත ලෝලීන්ට හොඳ ආරංචියක් වෙයි. සාපේක්ෂව බොහොමයක් ලැප්ටොප් වල හඬ අඩුයි. මේ නිසා ටිකක් කලබල පරිසරයකදි ලැප්ටොප් එකේ ස්පීකර් වලින් නිකුත් වෙන හඬ ඇහෙන්නෙ නැතිව යනවා. මේ ගැටළුවට විසඳුම් හොයන්න මම ෆෝරම් ගණනාවක රස්තියාදු වුණු බව මගේ පැරණි බ්ලොග් සටහන් වලත් ලියා ඇති. නමුත් Karmic Koala සමඟ මෙයටත් විසඳුමක් ලබා දීලා. දැන් gnome-volume-control මගින් හඬ 150% දක්වා වැඩි කරන්න පුළුවන්. :)

තවත් වැදගත් දෙයක් iBus framework එක. මෙතෙක් අපි සිංහල යතුරුලියන වැඩේට පාවිච්චි කළ SCIM ඉවත් කරලා ඒ වෙනුවට iBus ආදේශ කරලා. iBus ගැන වැඩි යමක් මම දන්නෙ නැහැ. නමුත් iBus වින්‍යාසගත කරන එක SCIMට වඩා සෑහෙන පහසු බව නම් පැහැදිලියි.

Ubuntu අළුත් නිකුතුව Cloud Computing පැත්තටත් අත ගහලා. ඒ UbuntuOne. මේ සේවාවෙන් නොමිලයේ 2 GB ඉඩක් ලැබෙනවා. මාසෙකට ඩොලර් දහය ගණනේ ගෙවන්න පුළුවන් නම් මේ ඉඩ 50 GB දක්වා වැඩි කරගන්න පුළුවන්. කොහොම වුණත් Dialog Broadband පාවිච්චි කරන මට නම් UbuntuOne පාවිච්චි කරන අදහස අතහැර දමන්න සිද්ධ වෙනවා.

තව සුළු සුළු කාරණා කීපයක්ම තියෙනවා... නමුත් ඒ දේවල් මෙතන ලියන්න තරම් වැදගත්කමක් නැහැ කියලයි හිතෙන්නේ. Ubuntu 9.10 තවමත් මට සැලකිය යුතු තරමේ ගැටළුවක් මතු කළේ නැහැ. හැබැයි Huawei e220 මොඩම් එකේ තියෙන virtual CD-ROM device එක ස්වයංක්‍රීයව mount වීම නවත්තන්න පුළුවන් විසඳුමක් නම් ලැබුණෙ නැහැ. පෙරදී මේ සඳහා විසඳුම වෙලා තිබුණු usb-modeswitch මෘදුකාංගයත් Ubuntu 9.10 සමඟ අපේක්ෂිත ක්‍රියාකාරීත්වය දක්වන බවක් පෙනෙන්න නැහැ.

සමස්තයක් වශයෙන් කියන්න පුළුවන්,
Ubuntu --> Windows
:(




Ubuntu ගැන කතා ටික ඔහොම අවසාන කරලා ඊළඟට මම කතා කරන්නෙ පසුගිය සතියෙ නිකුත් වුණු Fedora 12 Constantine නිකුතුව ගැන. හැබෑවටම මොකද දන්නෙ නෑ මේ අළුත් ට්‍රෙන්ඩ් එක... දැන් පිට පිටම Fedora සංස්කරණ දෙකකට දාලා තියෙන්නෙ රජවරුන්ගෙ නම්. ඒකෙත් පොඩි 'ගතියක්' නැත්තෙම නෑ.... :P

Fedora නම් Ubuntu වගේ පොත්තේ වැඩි වෙනසක් කරලා නෑ. මම Fedora එක්කත් පාවිච්චි කරන්නෙ Gnome ම නිසා කලින් Ubuntu ගැන ලියල තියෙන දේවල් කීපයකුත් Fedora අළුත් සංස්කරණයට අදාළ වෙනවා. ඒ Sound Preferences වලින් ශබ්දය 150% දක්වා වැඩි කරන්න පුළුවන් වීමත්, Huawei මොඩමයත් එක්ක ඇති වෙන ගැටළුවත්, SCIM වෙනුවට iBus යොදා තිබීමත් සහ තවත් සුළු කාරණා කීපයක්.

SELinux Troubleshooter අතුරුමුහුණතේ ලොකු වෙනසක් කරලා. කලින් තිබුණු එකට වඩා පැහැදිලි සහ මිත්‍රශීලී අතුරුමුහුණතක්. :)



පරිගණකය ක්‍රියාරම්භ වීමේදීත් පෙරට වඩා පැහැදිලි වේගවත් බවක් තියෙනවා. ආ.......... කියන්න අමතක වුණා.... GRUB2 ඒකාධිකාරය මේකෙ නෑ... :) පෙරනිමියෙන් තියෙන එකම විකල්පය පෙර පරිදිම GRUB Legacy. හැබැයි ස්ථාපනය කළාට පසුව ඕනෙම නම් GRUB2 ස්ථාපනය කරගන්න පුළුවන්. (yum yum :P )

Fedora පාවිච්චි කරන කීපදෙනෙක්ම නගපු පොඩි මැසිවිල්ලක් තමයි Ubuntu වලදි වගේ අන්තර්ජාලය හරහා Fedora නිකුතුව අළුත් කරගන්න (distribution upgrade) පහසුකමක් දීලා නෑ කියන එක. නෑ නෙවෙයි තියෙනවා... ;) ඒකෙ නම preupgrade. හැබැයි නියමින මෙනු යොමුවක් දකින්න නැහැ. ඉතින් Alt+F2 යතුරුලියනය කරලා gksu preupgrade නිවේශනය කරලා අළුත්ම Fedora 12 Constantine නිකුතුවට මාරු වෙන එක අමාරු වැඩක් නොවෙයි කියා මම හිතනවා. :)

(පැරණි Fedora සංස්කරණය වල සමහර විට පෙරනිමියෙන් preupgrade ස්ථාපනය කර නොතිබෙන්න පුළුවන්. එහෙම වෙලාවක,
# yum install preupgrade
විධානය දෙන්න)




ඔය අතරේ අපේම රටේ ලිනක්ස් භාවිතකරුවන් පිරිසක් අපේ රටේ පාවිච්චියට ගැලපෙන අළුත්ම Fedora remix එකක් එළිදක්වලා. ඒ හන්තාන ලිනක්ස්. මේක අපටම ගැළපෙන්නෙ ශ්‍රී ලාංකික පරිගණක භාවිතකරුවන්ගෙ අවශ්‍යතා මැනවින් හඳුනාගෙන ඒ ඔස්සේ එහි නිමැවුම් කටයුතු කර ඇති නිසා. සුපුරුදු Gnome අතුරුමුහුණත පාවිච්චි නොකර ඒ වෙනුවට XFCE හඳුන්වා දී තිබෙන නිසා අවම පද්ධති ශක්‍යතාවක් සහිත පරිගණකයක දී වුණක් හොඳ ක්‍රියාකාරීත්වක් දකින්න පුළුවන් බවයි දැනට හන්තාන ලිනක්ස් පාවිච්චි කරන අය කියන්නේ. හැබැයි දැනට හන්තාන ලබාගන්න පුළුවන් i686 තාක්ෂණයට අනුව නිමැවුණු පරිගණක පද්ධති සඳහා පමණයි.

සරලව කිව්වොත්,
හන්තාන ලිනක්ස් = Fedora + බහුමාධ්‍ය සහය (AVI, MP3, DVD, etc...) + ලාංකිකයෙකුගේ පරිගණක අවශ්‍යතා සපුරාලන අත්‍යාවශ්‍ය මෘදුකාංග

ඉතින් සැරින් සැරේ අත්‍යාවශ්‍ය මෘදුකාංගයි multimedia codecs ටිකයි ඩවුන්ලෝඩ් කරගන්න වේගවත් අන්තර්ජාල සබඳතාවක් නැති නම් තෝරාගන්න Ubuntuත් නෙමෙයි, Fedoraත් නෙමෙයි, හන්තාන ලිනක්ස්. මෙන්න මෙතනින් පොඩියක් සැරිසරලා බලන්න පුළුවන් හන්තාන බැලු බැල්මට කොහොමද කියලා.

හන්තාන ඕනේ නම් මෙතනින් බාගන්න, නැතිනම් blank CD එකකුත් අරගෙන මෙන්න මේ පිටුවෙ නම සඳහන් කරලා තියෙන කෙනෙක් මුණගැහෙන්න. මමත් කැම්පස් එකේ අන්තර්ජාල පහසුකම පාවිච්චි කරලා හෙට දවස ඇතුළත හන්තාන ලිනක්ස් ඩවුන්ලෝඩ් කරන්න අදහස් කරගෙනයි ඉන්නේ... ඒ නිසා කොළඹ සරසවිය ළඟපාත ඉන්නවනම් blank CD එකක් අරගෙන එන්න.... මමත් දෙන්නම් හන්තාන. :)

ඉතින් මේ වැඩේට මූලිකත්වය දක්වපු ඩනිෂ්ක නවින් ඇතුළු පිරිසත් මේ වෙලාවේ මතක් කළ යුතුයි. හන්තාන ගැන ගැටළුවක් තියෙනවනම් මෙන්න තැන... සුද්ධ සිංහලෙන්ම දැනගන්න පුළුවන්. :)

ඉතින්, හන්තානට ජය!



මුළුමනින්ම Fedora වෙත මාරු වෙන්න මම මීට පෙර අසාර්ථක උත්සාහයක නිරත වුණු ආකාරය, මගේ බ්ලොග් අඩවියට නිතර ආ ගිය අය දන්නව ඇති. ඒ දිනවල ලිනක්ස් පිළිබඳ තිබුණු අවම දැනුමත්, Fedora uncomfortable කියා යටිහිතෙන් එක එක නිවේදන නිකුත් වීමත්, මගේ wireless adapter එක Fedora සමඟ වැඩ නොකිරීමත් නිසා මට නැවතත් Ubuntu වෙත ම යොමු වෙන්න සිදු වුණා.

නමුත් අද තත්වය වෙනස්. Gentoo ස්ථාපනය කිරීමේ අසාර්ථක උත්සාහයන් දෙකකිනුත්, පද්ධති හා ජාල පරිපාලනය පිළිබඳ සරසවි දේශන මගිනුත් මට ලිනක්ස් මෙහෙයුම් පද්ධති පිළිබඳ සැලකිය යුතු අවබෝධයක් ලැබුණා. එයින් තේරුම් ගත් විධියට නම් මොන ලිනක්ස් පද්ධතියක වුණත් 'මදේ' එකයි. :D භාවිතයේ පහසුව වෙනම කතන්දරයක්.

Fedora වල නව්‍යකරණ සියල්ල සිදු කර තිබෙන්නේ එහි තිබෙන 'ගීක්' ගතියත් රැකගෙනයි. හැබැයි geek වුණාට greek නෙවෙයි. :D ඒ නිසා අළුත්ම හන්තාන සංස්කරණය දුටු වහාම නැවතත් Fedora වෙත මාරු වෙන්න නැවත වතාවක් නොහිතුණාම නෙවෙයි. Easylife තියෙද්දි ඕවත් වැඩද? :P



එහෙනම්,..... ලිනක්ස් කතා ටික අදට මෙතනින් ඉවරයි.... අපි ගියා.... ciao!

Tuesday, November 3, 2009

මූල කේත ආකාරයෙන් බෙදා හැරෙන මෘදුකාංග ස්ථාපනය


අදත් ඉතින් සිරිත් පරිදිම ලිනක්ස් තමා. මේ ලියමන ලිවිල්ලෙන් මට කිසිදු ලාභ ප්‍රයෝජනයක් නෑ... හුදී සිංහල ජන සමාජයේ යහපත සහ පහසුව තකා සටහන් කරනවා. ශාකුන්තලගේ සටහන් පොත කියවන අයටයි වාසිය. :) ලිනක්ස් වලට නවක අය වෙනුවෙන් අද කියලා දෙන්නේ මූල කේත (source code) ආකාරයෙන් බෙදා හැරෙන මෘදුකාංග ස්ථාපනය කරන ආකාරය ගැන. මේ සටහන ලියන්න මෑතකදි මගේ එක බ්ලොග් සටහනකට ලැබුණු ප්‍රතිචාරයකුත් බොහෝ දුරට හේතු වුණා කියන්න පුළුවනි.

මේ ලියමන ටිකක් අමාරුකාර ලියවිල්ලක්. මේ කාරණාව මේ විධියට තනි ලියමනකින් පැහැදිලි කරන්න අමාරුයි. අනෙක එක එක උදාහරණයෙන් උදාහරණයට පිළිවෙලේ වෙනස්කම් තියෙනවා. මම කියන්නේ මම සාමාන්‍යයෙන් වැඩ කරන පිළිවෙල ගැන. :)

පරිගණක මෘදුකාංගයක් කියන්නේ පරිගණකයට ලබා දිය යුතු උපදෙස්, විධානවල එකතුවෙන් සකස් කළ විධිමත් අනුපිළිවෙලවලක් කියලා සරලව හදුන්වන්න පුළුවනි (මම වැරදි නම් කරුණාකර මාව නිවැරදි කරන්න :) ). මේ මෘදුකාංගය ක්‍රමලේඛණ භාෂාවක් (Java, C++, Python, etc...) මගින් කේතනය කරලා පසුව පරිගණකයට තේරුම් ගත හැකි ආකාරයට -- ඒ කියන්නේ යන්ත්‍ර භාෂාවට පෙරළා සකස් කළ පරිගණක ගොනුවක් හෝ ගොනු කීපයක එකතුවක් ලෙස පසුව සකස් කළාම තමයි ඒක භාවිතයට ගන්න පුළුවන් වෙන්නෙ. මේ ආකාරයට යන්ත්‍ර භාෂාවට පෙරළිම තාක්ෂණිකව හඳුන්වන්නේ compile කිරීම (අපි මෙයට සම්පාදනය යයි කියමු) ලෙස. සම්පාදනය කළ මෘදුකාංගයක් නැවත මූල කේතය බවට පෙරලන්න හැකියාවක් නැහැ. හැකියාවක් තිබුණත් එය පහසු වැඩක් නෙවෙයි.

ඉතින් මෘදුකාංග නිර්මාණය කරන අය කරන්නේ තමන් දන්න ක්‍රමලේඛණ භාෂාවක් මගින් කේතනය කරලා පසුව එය සම්පාදනය කරලා සම්පාදිත ගොනු (binaries) මෘදුකාංගය ලෙස බෙදා හැරීම. මෘදුකාංග දෙවර්ගයක් තියෙනවා... සවෘත මෘදුකාංග (closed source) සහ විවෘත මෘදුකාංග (open source) කියලා. සංවෘත මෘදුකාංග වල මූල කේතය පරිශීලකයාට ලබා දෙන්නෙ නෑ. ඒක ඒ මෘදුකාංගය පිළිබඳ හිමිකම් තියෙන සමාගමේ/ ආයතනයේ ව්‍යාපාරික රහසක් වශයෙන් තබා ගැනෙනවා. මීට සුප්‍රසිද්ධ උදාහරණයක් ලෙස Microsoft Windows හඳුන්වන්න පුළුවන්. නමුත් විවෘත මෘදුකාංග වල මූල කේතය පරිශීලකට ලබා දෙනවා. උදාහරණය ලිනක්ස්. මේ දෙවර්ගයටම උදාහරණ තව ඕනේ තරම් දෙන්න පුළුවන්. ඒ වගේම මේ දෙවර්ගයෙම වාසි/ අවාසිත් තියෙනවා. නමුත් ඒ ගැන නෙමෙයි මම අද කතා කරන්නෙ.

ඒත් සමහර විවෘත මෘදුකාංග බෙදාහරින්නේ මූල කේත ආකාරයෙන්ම පමණයි. සම්පාදනය කළ ගොනු හෝ ස්වයං ස්ථාපන ගොනු ආකාරයට ඒවායේ බෙදාහැරීමක් සිද්ධ වෙන්නෙ නැහැ. මේ සඳහා මම දැක්ක හොඳම සහ නරකම උදාහරණය තමයි Gentoo Linux. හොඳයි කිව්වේ මම දැනට ලිනක්ස් ගැන, කර්නල් එක ගැන දැනට ලබපු හොඳම අත්දැකීම් ටික ගත්තේ Gentoo වලින් නිසා. ;) නරකයි කිව්වේ ඒක ස්ථාපනය කරගන්න දවසක්ම කට්ට කන්න වුණු නිසා. :P

මම Gentoo ගැන කිව්වම බය වෙන්න එපා... මේ කියන්නෙ මෙහෙයුම් පද්ධතියක් ස්ථාපනය වගේ පතරංග වැඩක් ගැන නෙමෙයි. C/ C++ මූල කේත ලෙස බෙදා හරින, එදිනෙදා පාවිච්චි වෙන භාවිත යෙදුමක් (application software package) ස්ථාපනය කරගන්න ක්‍රමය ගැන.

වැඩේට කලින් පරිගණකයෙ තිබිය යුතු අත්‍යාවශ්‍ය මූලික මෘදුකාංග කීපයක්ම තියෙනවා. සාමාන්‍යයෙන් මෙහෙයුම් පද්ධතිය අඩංගු සංයුක්ත තැටියේ මේ මෘදුකාංග අඩංගුයි. මේ ඒවායින් ප්‍රමුඛම මෘදුකාංග දෙක.

1. GNU C Compiler (gcc)
2. GNU Make (make)

මේවා දැනට ස්ථාපනය කර නැත්නම් ස්ථාපනයට,
# apt-get install gcc make (Debian/ Ubuntu මත)
# yum install gcc make (Fedora/ CentOS/ RedHat මත)

සාමාන්‍යයෙන් මේ මූල කේත බෙදාහරින්නේ .tar/ .tar.gz හෝ .tar.bz2 ආකාරයෙ හැකිළවූ (archive) ගොනු ලෙස. මුලින්ම ඒ ගොනුව භාගත කරගෙන අන්තර්ගත ගොනු ටික unpack කර ගන්න ඕනේ.

ඒ ගොනුව .tar වර්ගයෙ එකක් නම්,
$ tar xvf filename.tar

.tar.gz එකක් නම්,
$ tar xvfz filename.tar

.tar.bz2 එකක් නම්,
$ tar xvfj filename.tar.bz2

... යනාදී වශයෙන් අදාළ විධාන ටර්මිනල් එකේදි පාවිච්චි කරලා unpack කරගන්න පුළුවන්.

උදාහරණයක් ලෙස අපි ලිනක්ස් සඳහා NMAP ස්ථාපනය ගනිමු. NAMP කියන්නේ පරිගණක ජාල වල ආරක්ෂාව පිළිබඳ විගණන කටයුතු (security auditing) වලට යොදා ගන්න මෘදුකාංගයක්. මුලින්ම මේ වෙබ් පිටුවට ගිහින් අදාළ ගොනුව (nmap-5.00.tar.bz2) බාගන්න.

දැන්,
$ tar xvfj nmap-5.00.tar.bz2

දැන් nmap-5.00 නමින් ඩිරෙක්ටරියක් නිර්මාණය වෙලා ඇති. ඒක ඇතුළට යන්න.

$ cd nmap-5.00
$ ls

ls විධානය දුන්නාම ඒකෙ ඇතුළෙ තියෙන අන්තර්ගතය පෙන්වනවා. මෙහෙම ලොකු ලැයිස්තුවක් ආවට බය වෙන්න එපා, ලැයිස්තුවෙන්ම ගොනු දෙකයි තුනයි අපට වැදගත් :)
shaakunthala@shaakunthala-laptop:~/Desktop/nmap-5.00$ ls -a
. nmap_config.h.in nse_pcrelib.h
.. nmap_dns.cc nsock
acinclude.m4 nmap_dns.h osscan2.cc
aclocal.m4 nmap_error.cc osscan2.h
CHANGELOG nmap_error.h osscan.cc
charpool.cc nmap.h osscan.h
charpool.h nmap-mac-prefixes output.cc
config.guess NmapOps.cc output.h
config.sub NmapOps.h portlist.cc
configure nmap-os-db portlist.h
configure.ac NmapOutputTable.cc portreasons.cc
COPYING NmapOutputTable.h portreasons.h
COPYING.OpenSSL nmap-protocols protocols.cc
depcomp nmap-rpc protocols.h
docs nmap_rpc.cc README-WIN32
FingerPrintResults.cc nmap_rpc.h scan_engine.cc
FingerPrintResults.h nmap-service-probes scan_engine.h
global_structures.h nmap-services scripts
HACKING nmap_tty.cc service_scan.cc
idle_scan.cc nmap_tty.h service_scan.h
idle_scan.h nmap_winconfig.h services.cc
INSTALL nse_binlib.cc services.h
libdnet-stripped nse_binlib.h shtool
liblua nse_bit.cc Target.cc
libpcap nse_bit.h TargetGroup.cc
libpcre nse_debug.cc TargetGroup.h
ltmain.sh nse_debug.h Target.h
MACLookup.cc nse_fs.cc targets.cc
MACLookup.h nse_fs.h targets.h
macosx nselib tcpip.cc
main.cc nse_main.cc tcpip.h
Makefile.in nse_main.h timing.cc
missing nse_main.lua timing.h
mswin32 nse_nmaplib.cc traceroute.cc
nbase nse_nmaplib.h traceroute.h
ncat nse_nsock.cc utils.cc
ndiff nse_nsock.h utils.h
nmap-5.00-1.spec nse_openssl.cc zenmap
nmap_amigaos.h nse_openssl.h zenmap-5.00-1.spec
nmap.cc nse_pcrelib.cc
shaakunthala@shaakunthala-laptop:~/Desktop/nmap-5.00$
මෙතනින් අපට මුලින්ම වැදගත් වෙන්නෙ README කියන ගොනුව. භාගත කරගත් පැකේජයත් එක්ක වැඩ කරන්නෙ කොහොමද කියන එක කියල තියෙන්නෙ මේ පාඨ ගොනුවේ. මෙය විවෘත කරගන්න; හොඳින් කියවන්න. කඩ්ඩෙන් තමා තියෙන්නෙ... ඒත් අමාරු නෑ. අන්තර්ජාලයෙන් ඉංග්‍රීසි ශබ්දකෝෂ ඕනෙ තරම් හොයාගන්න පුළුවන්. This is not real kadda, dude! ;)

නමුත් අපේ මේ උදාහරණයෙ තියෙන්නෙ README-WIN32 කියල ගොනුවක්.  නමේ හැටියෙන්ම පේනවනෙ. මේ තියෙන්නෙ වින්ඩෝස් සඳහා උපදෙස්. ඒක අපට මේ වෙලාවෙ වැදගත් නෑ. ඒ නිසා මේ උදාහරණයෙදි පමණක් අපට README නොකියවා කෙළින්ම ඊළඟ පියවරට යන්න පුළුවන්.

ඊළඟට වැදගත් වෙන්නෙ INSTALL ගොනුව. මේකත් සාමාන්‍ය පාඨ ගොනුවක්. ඒකෙ තියෙනවා ස්ථාපන උපදෙස්. පරිස්සමෙන් මුල සිට අගට කියවන්න.

අපි ස්ථාපනය කරන මෘදුකාංගයට අදාළව මේ ගොනු වල සමහර විට පූර්ව අවශ්‍යතා (prerequisites)/ dependencies  ගැන සඳහන් වෙලා තියෙන්න පුළුවන්. ඉතින් මෙතනින් ඉදිරියට යන්න කලින් ඒ උපදෙස් අනුගමනය කරලා අදාළ පූර්ව අවශ්‍යතා සපුරා ඇති බව තහවුරු කරගන්න.

මේ කාරියෙදි කියවීමේ පුරුද්ද අතිශයින් ම වැදගත්!!

ටර්මිනලය තුළම කියවන්න නම්,
$ cat INSTALL | more -d

ටර්මිනල් එකට අකැමති නම්,
$ gedit INSTALL &

සම්පූර්ණ ගොනුවම කියවලා අදහසක් ගත් පසුව එකින් එක ක්‍රියාවට නගන්න. මුලින්ම කියල තියෙන්නේ configure ධාවනය කරන්න කියලයි. configure --help ධාවනය කරලා  මේ ගැන වැඩි විස්තර ගන්න පුළුවන්. ඒ අනුව අපට අවශ්‍ය පරිදි මෘදුකාංගය ස්ථාපනය වෙන ඩිරෙක්ටරිය, වින්‍යාසගත කිරීමේ ගොනු (configuration files) ස්ථාපනය වෙන තැන ආදිය පිළිබඳ සැකසුම් සියුම් සීරුමාරුවකට ලක් කරන්න පුළුවන්. හැබැයි, හොඳ අවබෝධයකින් තොරව නම් "Some influential environment variables" යටතෙ දීල තියෙන දේවල් සකස් කරන්න යන්න එපා!!

$ ./configure

සාමාන්‍යයෙන් configure වලින් කරන්නේ විවිධ පද්ධති අවශ්‍යතා, ශක්‍යතා, පූර්ව අවශ්‍යතා සහ dependencies පරීක්ෂා කර බලා අපට ස්ථාපනය කරන්න අවශ්‍ය මෘදුකාංගය ඒ අනුව සකස් කර ගැනීම. හැබැයි වැඩේට ටික වෙලාවක් ගත වෙනවා. තිරයේ දිස් වෙන්නෙ පරීක්ෂාවන් එකින් එක නිම වෙන අන්දම. කිසිදු දෝෂ පණිවුඩයකින් තොරව වැඩේ අවසාන වුණා නම් ඊළඟ පියවරට යන්න පුළුවන්. බොහෝ විට dependency/ පූර්ව අවශ්‍යතා පිළිබඳ අවුලක් හැර වෙනත් අවුලක් නම් ඇති වෙන්නෙ නැහැ. එහෙම අවස්ථාවකදි Google ගෙන් උදව්වක් ගන්න තමයි සිද්ධ වෙන්නේ. නැතිනම් README/ INSTALL ගොනු නැවත හොඳින් කියවන්න. විසඳුම බොහෝ දුරට එහි තිබෙන්න පුළුවන්.

ඊළඟට කියලා තියෙන්නෙ make විධානය දෙන්න කියලා.

$ make

make විධානයෙන් කරන්නේ අපි මුලින් සිදු කළ වින්‍යාසගත කිරීම (configuration) අනුව සහ පැකේජයේ අඩංගු Makefile ගොනුවේ තියෙන උපදෙස් මාලාව අනුව මූල කේත පරිගණකයට තේරුම් ගත හැකි ආකාරයට හැරවීම හෙවත්, සම්පාදනය (compilation). මේකටත් තරමක වෙලාවක් ගත වෙනවා. ඒ කාලය මෘදුකාංගය මත තීරණය වෙන එකක්. කිසිදු දෝෂ පණිවුඩයකින් තොරව වැඩේ අවසාන වුණා නම් ඊළඟ පියවරට යන්න පුළුවන්. එහෙම නොවුණොත් Google ගෙන් උදව්වක් ගන්න තමයි සිද්ධ වෙන්නේ. නැතිනම් README/ INSTALL ගොනු නැවත හොඳින් කියවන්න. විසඳුම බොහෝ දුරට එහි තිබෙන්න පුළුවන්.

දී ඇති INSTALL ලියමනේ හැටියට ඊළඟට යෙදිල තියෙන වැදගත් කාරිය make install. දැන් පැහැදිලියිනේ අපට ඉතුරු වෙලා තියෙන එකම වැඩේ ස්ථාපනය කිරීම! :)

ස්ථාපනය සිදු කළ යුත්තේ root පරිශීලක ලෙස.

$ su -c "make install"

කැමති නම් make clean පාවිච්චි කරලා අපි මෙතෙක් වෙලා යකා නටපු source ඩිරෙක්ටරිය සුද්ධ පවිත්‍ර කරලා දාන්නත් පුළුවන්. ;)

$ make clean

දැන් වැඩේ අහවරයි. කරන්න තියෙන්නේ nmap වලින් වැඩ කරන එක තමයි. :) (මම නං nmap පාවිච්චි කරන්නෙ අනුන්ගෙ ජාල audit කරන්න >:) ඒ නිසා පාවිච්චි කරන පිළිවෙළ කියන්නෙ නෑ. ඔය ළමයි එහෙම නරක වැඩ කරන්න එපා හොඳේ...)

MISSION COMPLETE!

---

ඔය ලිව්වේ එක මෘදුකාංගයක් ගැන සරල උදාහරණයක්. තව විවෘත කේත මෘදුකාංග කොයි තරම් තියෙනවද? ඒ බොහොමයකදි පාවිච්චි වෙන්නෙ මම මේ විස්තර කළ සරල රටාව.

ම්හ්... මට අහන්න අතමක වුණා.... මේක සංකීර්ණ නැහැනේ...? ;) සංකීර්ණයි කියන්න පුළුවන් කේස් එකකදි, වැඩිම වුණොත් configure පියවරේදි ටිකක් දිග command එකක් ටයිප් කරන්න වෙයි, මේ වගේ:

./configure --prefix=/usr/share/nmap-tools

ඉතිං... තව සාකච්ඡා කළ යුතු දෙයක් තියෙනවනං... comment එකක් දාන්න... නැත්තං මේල්ටු:info[at]shaakunthala.com



මේ ලිපිය ලියලා ටික කලක් තිස්සේ පළ නොකර තිබුණේ රසකතා බ්ලොග් පෝස්ට් එකක් දාන්න හිතුණු නිසා. ඒ අතරේ අපේ තවත් බ්ලොග් සගයෙකුගෙන් හොඳ ලිපියක් කියවන්න ලැබුණා. කියවන්න -- බඩී සහ බිංකු සමග: උබුන්ටු මෘදුකාංග ස්ථාපනය සහ රිපොසිටරීස්.

ලිනක්ස්/ වින්ඩෝස්/ ඕන OS එකක් එක්ක වැඩ කරන්න නිදහස් මෘදුකාංග ලෝඩ් එකක් හොයාගන්න පුළුවන් මෙතනට ගියොත්. :)