Sunday, March 28, 2010

ලිනක්ස් සිංහලෙන් මුල සිට සරලව - මොකද්ද මේ Shell


ඉතින් ලිනක්ස් ගැන ලිපි පෙලේ තව ලිපියක් ලියන්නයි මේ සූදානම. මුලින් මේ ලිපි පෙල ගැන ගොඩක් අය උනන්දුවෙන් හිටියත් අන්තිම ලිපි දෙකට වැඩි ප්‍රතිචාරයක් නෑ. ඒ නිසා මටත් කම්මැලි හිතිලයි තිබුනේ ආයෙ ලියන්න. මේ දවස් වල කැම්පස් එකේ වැඩත් වැඩි නිසා ඊළඟ ලිපිය ලියන එක දවසින් දවස කල් යමිනුයි තිබුනේ. වැඩිපුර දවසක නිවාඩුවකුත් එක්ක ගෙදර ආවහම හිතුවා මේක ලියල දානව කියල.

හරි Shell කිව්වහම මොකද්ද මුලින්ම මතක් වෙන්නේ Shell scripting, Shell commands එහෙම නේද? මොකද්ද මේ shell එක කියන්නේ. මේ රූප සටහන බලන්නකෝ.
Kernel එක කියන්නේ Linux වල තියන වැදගත්ම දේ. ඇත්තටම මෙහෙයුම් පද්ධතිය කියන්නෙ මේ kernel එකට. අනෙක් මෘදුකාංග ක්‍රියා කරන්නේ මේ kernel එක හරහා දෘඩාංග සහය ලබා ගනිමින්. මේ kernel එකට විචිත්‍රක අතුරු මුහුණත (GUI) වගේම සාමාන්‍ය ලිනක්ස් මෙහෙයුම් පද්ධතියක් එක්ක ලැබෙන මෘදුකාංග අයිති වෙන්නේ නෑ. ඒව ලැබෙන්නෙ GNU(GNU is Not Unix) කියන ව්‍යාපෘතියෙන්. මේ දෙක ඒ කියන්නේ Linux kernel එක සහ GNU මෘදුකාංග එකතු වෙලයි GNU/Linux මෙහෙයුම් පද්ධතියක් නිර්මාණය වෙන්නෙ. ඒ අතුරු කතාවක්. ඉතින් පරිගනකයේ දෘඩාග හසුරුවන්නේ මේ kernel එකනේ. kernel එක එක්ක ගනුදෙනු කරන කෙනා තමයි shell කියන්නේ. ඉතින් අපිට මෙහෙයුම් පද්ධතියෙන් යම් දෙයක් කරගන්න ඕන නම් මේ shell ට කියල තමයි කරගන්න වෙන්නේ. මෙයාට කියනව Command line interpreter කෙනෙක් කියලත්. Interpreter කියන්නේ පරිවර්තකයා නැත්තම් තෝල්කයා කියන එකනේ. පරිගනකය දන්නෙ machine language එක ඒ කියන්නේ 010010101110 වගේ දෙකේ පාදයෙන් නැත්නම් binary වලින් කියන දේවල් විතරයි. අපිට ඒව තේරෙන්නෙ නෑනෙ අපි තෝරගත්තු විධාන වලින් කෙරෙන්න ඕන දේ shell එකට කිව්වහම එයා ඒක kernel එක හරහා පරිගනකයට කියල අදාල වැඩේ කරල දෙනවා.
shell කීපයක් ලිනක්ස් මත භාවිතා වෙනවා. Bourne shell කියන්නේ දැනට Linux මත බහුලවම භාවිතර වෙන shell එකෙ මේක. අනික් ඒවට වඩා හොඳ shell එකක් විදිහට bourne shell නැත්තම් bash shell එක හඳුන්වනවා. තව C shell, sh shell වගේ shell කීපයක්ම තියනවා. prompt එකේ echo $SHELL කියල දුන්නම දැනට run වෙන shell එක මොකද්ද කියල දැන ගන්න පුළුවන්. මේ shell එක බොහොම powerful දෙයක්.(windows command prompt එක වගේ කසි කබලක් නෙමේ) ගොඩක් ක්‍රමලෙඛකයන් තාමත් GUI එක භාවිතා නොකර shell එකේ තමයි තමන්ගේ කටයුතු කරන්නෙ. GUI එකේ කරන සමහර දේවල් ඊට ගොඩක් ඉක්මනට shell එකේ කරගන්න පුළුවන්. ඒ වගේම GUI එකේ කරන්න බැරි shell එකේ පමණක් කරන්න පුළුවන් ගොඩක් දේවල් තියනවා. මේ නිසා Linux ඉගන ගන්න නම් shell එක ගැන දැන ගැනීම ඉතාම වැදගත්.

ඉතින් අපි කොහොමද මේ shell එක බලා ගන්නෙ. GUI එකක් නැතුව අපි මෙහෙයුම් පද්ධතිය ස්ථාපනය කරගත්තොත් අපි කෙලින්ම යන්නෙ මේ shell එකට තමයි. අපි සාමාන්‍ය GUI එකක් සහිත Linux ස්ථාපිතයක ඉන්නව නම් alt+ctrl+F2(F2 ඉඳල F6 වෙනකම් ඕන function key එකක් පාවිච්චි කරන්න) යතුරු එකවර එබුවහම අපිට GUI එකෙන් ඉවත් කරල shell එකට අරගෙන යනවා. මළ කෙළියයි දැන් ආපහු GUI එකට එන්නෙ කොහොමද? බය වෙන්න එපා atl+ctrl+F7 වලින් ආයෙ GUI එකට එන්න පුළුවන්. ඒත් නැතුව GUI එකේම ඉඳගෙන shell එක එක්ක වැඩ කරන්න බැරිද? පුළුවන් ඒකට තමයි terminal කියන මෘදුකාංගය තියෙන්නේ.

Terminal

Ubuntu වල නම් Application-->Accessories-->Terminal කියන තැන මේක තියනවා. එහෙම නැත්නම් alt+F2 ඔබලා එන Run Application එකේ gnome-termianl කියල දුන්නහමත් මේක ගන්න පුළුවන්. GUI එකක් මතදි අපිට මේ terminal එක පාවිච්චි කරල shell commands execute කරන්න පුළුවන්.

Shell commands

shell එකෙන් අපි කියන දේ කරලා දෙනව කිව්වට ඉතින් ඒකත් කියන විදිහක් තියනවා. ඒ කියන්නේ නියමිත විධාන තියනවා. ඒවගෙන් තමයි අපි අපිට අවශ්‍ය දේ කියන්න ඕන. ඊළඟ සටහනේ ඉඳල shell commands ගැන කතා කරමු.

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

Friday, March 12, 2010

එක් ප්‍රාර්ථනාවක්.......


මහ පොළව ඉරි තැලී ඇත
ගහ කොළ වේලී ගොස්ය
මුළු ලොවම වියලී ගොසිනි
මේ දිගු නියඟයෙන්
....
දකිනු රිසිය නිල් තුරුලතා
අසනු කැමතිය සුමියුරු කුරුළු ගී නද
විඳිනු රිසිය තෙමුනු පොළවේ නැවුම් පුසුඹ
සනසන්න ජීවිතය
මේ වේලුනු පොළව තෙමාලමින්
දැන්වත්
වැහැපන් සොඳුරු වැස්ස.....

Wednesday, March 3, 2010

සීතල නුවර එළියේ වැවක් ලඟ කූඩාරමක රැයක්

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

කැම්පස් එක ගාවට ගිහින් රත්නපුර බස් එකට ගොඩවෙලා අපි මුලින්ම ගියේ රත්නපුර ගෙම්බලාගෙ ගෙදර. රත්නපුර බස් නැවතුමෙත් පැයක් විතර රස්තියාදු වෙලා(ගෙම්බා වෙලාවටම වැඩ කරන නිසා) තව බස් එකකත් නැගල ගිහින් බැස්ස කියමුකෝ. දැන් මෙන්න යනවා මහ කැලේ පාරක පාරෙ අලි නාවන වලවල් ඒ මදිවට අංශක 60 විතර ආනතයි කන්ද. හප්පා ගෙම්බගෙ ගෙදරට යනකොට හොඳ පණ ගිහින්. අපි කාල ඉවර වෙනකොට මාතර ඉඳල ඇඹිලිපිටිය හරහා ආපු සීනත් අපිට සෙට් උනා. ගෙම්බගෙ අම්මට පින් සිද්ධ වෙන්න ඉස්මුරුත්තාවටම කාල අපි ගියා ඒ ළඟ තියන ඇල්ලක නාන්න. අපි යනකොටම වහින්න ලෑස්ති කරල තිවුන නිසා අපිට තේරුනා වැඩි වෙලා නම් නාන්න වෙන්නෙ නෑ කියල. ඡායාරූප එහෙම අරගෙන ඉවර වෙලා යන්තම් වතුරට බැස්සා විතරයි වහින්න ගත්තා.

ඒ එක්කම ක්ෂණිකයෙන් ඇලේ වතුර පාර වැඩි වෙනවා අපිට තේරුනා. එන පොට හරියන්නෙ නෑ. අපි දඩ බඩ ගාලා ගොඩ උනා. මොකද උඩහට කලින් වැහැලනම් විනාඩි කීපයක් ඇතුලත වතුර පාර සෑහෙන්න වැඩිවෙනව කියල ගෙම්බ කියපු නිසා. අනේ හිතේ හැටියට නාන්න හිටිය මදෑ. ගිහින් නාන කාමරෙන් නාගත්ත වෙන මොනව කරන්නද?රෑ අපි ගෙමබලගෙ ට්‍රක් එකේ ගියා මැණක් පතලක් බලන්න.

මේ තියෙන්නෙ පතල. පතලෙ ඉඳල අඩි 25ක් විතර එහායින් ගඟ. සාමාන්‍යයෙන් පතලේ ඉඳලා අඩි 50ක් විතර හැම පැත්තටම දෝනාවල් යනවලු. ඒ කියන්නෙ ගඟ යටිනුත් දෝනාව යනවා. අපේ නම් ඇඟ හීතල උනා. ඒ වුනාට කසි අව්ලක් නැති වෙන්න මුක්කු ගහල ශක්තිමත්ව තමයි දෝනාව කපනව කියන්නේ. අපි ආවෙ හවස එතකොට වැඩ නවත්තලා. මෝටර් නැවැත්තුවාම පතලෙ වතුර පිරෙනවා. ඊළඟට රතනපුර මහ සමන් දේවාලෙ වැඳ පුදාගෙන අපි ආයෙ ගෙම්බගෙ ගෙදර ආවා. මේ ගෙම්බගෙ අම්මා තාත්තා එක්ක අපි කට්ටිය.

පස්සෙන්දා බදුල්ල බස් එකකට ගොඩවෙච්ච අපි කට්ටිය ගියේ බණ්ඩාරවෙලට. අපි ඒ පැත්තට යනකොට සීනා අනිත් පැත්තට යන බස් එකක නැගලා කොළඹ ගියා. වහාම ක්‍රියාත්මක වන පරිදි තමා හමුවෙන්න කියල උගේ පවුල නියෝගයක් පනවල කියලයි කට්ටිය නම් කිව්වේ. අපි බණ්ඩාරවෙලට ගිහින් එතනින් වැලිමඩට ගියා. එතනින් නුවර එළියට. අන්තිමට නුවර එළියට එනකොට හවස 3 විතර. අපි ලොකුම බලාපොරොත්තුවකින් හිටපු අත්දැකීම කූඩාරමක් ගහගෙන රෑ ඉන්න අවශ්‍ය දේවල් අරගත්තා. අපේ කට්ටිය කුකුලෙක් එහෙමත් අර ගත්තෙ බාබකිව් දාන්නනේ. රෑ කෑමට පාන් බටර් එක්ක. ලාම්පුතෙල් බෝතලයක් එහෙමත් අරගෙන අපි පට්ටිපොල බස් එකට නැග්ගා. අපි කෑම්ප් එක ගහන්න ලෑස්ති කලේ කන්දෙ ඇළ රක්ෂිතය කියන තැන. මෙතන වැවක් තියනවා.
ඔය දකුණු අත පැත්තෙන් පේන ගොඩැල්ලේ තමයි අපි කූඩාරම ගැහුවේ. ඊට කලින් පොඩි බෝට්ටු සවාරියක් යන්නත් අමතක කලේ නෑ.
අප්පට සිරි තව පොඩ්ඩෙන් අමතක වෙනවා. වැලිමඩ පුස්සත්(සමන්) අපිට සෙට් උනා මගදි. ඔය දකුණු පැත්තෙ කොනේම ඉන්නෙ ඌ. කූඩාරම ගහන තැනට අපි යනකොට කළුවර වැටෙනවා. කට්ටියක් ගිනිමැලේට දර එකතු කරන්න යවලා අපි කුලියට ගත්තු කූඩාරම් දෙක අටව ගන්න ට්‍රයි කලා. දැන් කළුවරේ මේක හරියට පේන්නෙත් නෑ. මීට කලින් කූඩරම් ගහල තියන එකක්යැ මොකෝ. මල කෙලියයි කියන්නෙ දැන් මේක ගහගන්න බෑ. eek රෑට මේ හීතලේ එළියෙ නිදාගන්න කියලද අපි ඉතින් කූඩාරම කුලියට දීපු ටෝනි අයියවම අඩ ගහගෙන කූඩාරම අටව ගත්තා. අපරාදෙ කියන්න බෑ මාරයි. පොඩි බෑග් එකක අකුලල දාල තිබුනට එක කූඩාරමක 4කට 5කට නිදාගන්න පුළුවන්.

මේ අතරෙ ගිනිමැලෙත් ගැහුවා. මේක ගහගත්තට පස්සෙ තමයි. අත පය ටිකක් රත් කරගත්තෙ. නැත්තම් ගල් වෙලා වගේ හිටියෙ. නුවර එළියෙනේ. දැන් ඔන්න කට්ටිය අර ගෙනාපු කුකුළව කොටුවක ගහගෙන ඌට දස වද දෙනවා. හෆොයි මැරිලා වත් ඌ විඳින වද ඉවර නොවෙච්ච හැටි. මම නම් ඕවට නෑ. බටර් එක්ක පාන් කෑල්ලක් කෑව මම. මට ඒ ඇති. කෑම ගැන එච්චර වද වෙන මිනිහෙක් නෙමේ මම. ඊට පස්සෙ ඉතින් රෑ 2 විතර වෙනකම් ආගිය කතා සින්දු තමයි.

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

එතනින් අපි ගියේ වැලිමඩ අත්තාගෙ ගෙදරට.එහෙට යනකොට හවස් වෙලා. දවල්ට කාලා අපි ගියා දිය ඇල්ලක් බලලා නාලා එන්න. හවස් ජාමෙ කැලේ මැද්දෙ දිය ඇල්ල බලන්න යනකොට පාර වැරදුන නිසා අපිට දිය ඇල්ල කිලෝමීටරයක් විතර දුරින් බලලා ආපහු එන්න උනා. ආ නාන්නනේ හිටියේ කලින් රත්නපුරදිත් නාන්න බැරි වෙච්ච නිසා අපි හිටියේ පැය කීපයක් නාන්න. ඒ උනාට වතුර බැහැපු ගමන් කට්ටිය දුවගෙන යන්නෙ ගොඩට. මොකද දන්නවද? මේ හරිය වැලිමඩ උනාට ඇලේ වතුර එන්නෙ නුවර එළියෙ ඉඳන්. වතුර අයිස් වගේ. මොනව කරන්නද වෙව්ල වෙව්ල පැය බාගයක් විතර වතුර ගහගෙන දඟලලා එන්න පිටත් උනා. අපිට කෑම උයල දීල සංග්‍රහ කරපු අත්තගෙ අම්මා තාත්තා අක්කාවත් මතක් කරන්න ඕන. වැලිමඩ ඉඳන් කොළඹට ගමන ලේසි නෑ කියල දන්නව ඇතිනේ. රෑ 10.30 බස් එකේ නැගපු අපි අඩ නින්දේ කොළඹට එනකොට 7.30යි. ඔන්න අපේ ට්‍රිප් එක ඉවරයි.

Friday, February 26, 2010

ලිනක්ස් සිංහලෙන් මුල සිට සරලව - ලිනක්ස්හි ගොනු සැකසුම(File hierarchy)


සටහන - ඉතින් කොහොමද මම නම් නිවාඩු පාඩුවේ ගෙදරට වෙලා ඉන්නවා. ඒ අතරේ මේ සටහන් මාලාවේ තව සටහනක් ලියන්නයි කල්පනාව. කලින් සටහන නම් කට්ටියට තේරිලා මදිද කොහෙද.neutral ඒක තරමක් දිග වෙච්ච බව මම පිළිගන්නවා. ඒ වගේම paging swapping වගේ තරමක් ගැඹුරු තාක්ෂණික දේවල් ගැනත් මම යන්තමින් සඳහන් කලේ දැනගත යුතු නිසා.

Linux වල ගොනු සැකසුම(File hierarchy) ගැන මම මීට කලින් සටහනෙත් යමක් සඳහන් කලා. මේ සටහනේදි වඩා සවිස්තරව ඒ ගැන පැහැදිලි කරන්නයි මේ උත්සාහය. මේකට සම්මත නම තමයි File system Hierarchy Standard කියන්නෙ. ප්‍රධාන ගොනු සහ ඒවායේ අන්තර්ගතයන් තියන ආකාරය ගැන තමයි මේකෙන් පැහැදිලි කරන්නෙ. මේ FHS එක පවත්වාගෙන යන්නෙ Linux Foundation එක මගින්. FHS වල වර්තමාන සංස්කරණය 2.3 නිකුත් කලේ 2004 ජනවාරි 29.


Linux ගොනු සැකසුමේ උඩින්ම ඉන්නෙ root ("/" සළකුණ). ගහක පොළවට සම්බන්ධ වෙන්නෙ මුල මුලට තමයි ඔක්කොම අතු එකතු වෙන්නෙ අතුවල තව අතු තියෙන්න පුළුවන් නැත්තම් කොළ තියෙන්න පුළුවන්. Linux ගොනු සැකසුමත් මේ වගේ සරලයි. නමුත් වින්ඩෝස් වල තියෙන්නෙ මෙහෙම නෙවෙයි C: D: යනාදි ලෙස වෙනම partition තමයි දකින්න පුළුවන් වෙන්නෙ. එතකොට Linux වල partition
කොහෙද තියෙන්නෙ? ඒවත් අර ගහටම අත්තක් විදිහට සම්බන්ධ වෙලා තියනව. වින්ඩෝස් වල තියෙන්නෙ වෙන වෙනම භාජන කීපයක තියන ගස් කීපයක් ඒත් ලිනක්ස් වල තියෙන්නෙ එක භාජනයක් සහ එක ගහක්. එතකොට Linux වල මේ tree structure එකට අපිට තව partition එකක් තව hard disk එකක් විතරක් නෙමෙයි network එකේ තියන තව පරිගණකයක hard disk එකක් පවා සම්බන්ධ කරන්න පුළුවන්. මෙය Linux වල තියන නම්‍යශීලී බව පෙන්වන තැනක්. root partition එක පරිගනකයේ මොන partition එක වුනත් Linux වලට ඒක ප්‍රශ්නයක් නැහැ. ඒ වගේම අනෙක් partition කැමති පිළිවෙලකට root එකට සම්බන්ධ වෙන්නත් පුළුවනි. මේ නිසා system files partition කීපයක තිබෙන්නත් පුළුවනි. වින්ඩෝස් වල වගේ ඔක්කොම C එකේ තියෙන්න ඕන කියල Linux අපිට නීති දාන්නෙ නෑ. මේ නිසා boot එක වෙන partition එකකත් usr එක තව partition එකකත් home එක වෙනම partition එකකත් තියාගන්න පුළුවන්. home එක වෙනම partition එකක තියාගැනීමේ වාසිය මම කලින් සටහනින් විස්තර කලා මතක ඇති.(boot,usr මේව ගැන මේ සටහනේ ඉදිරියට පැහැදිලි වේවි.)

ඕනම දෙයක් file එකක් questioneek

Linux වල තියන තව අපූරු දෙයක් තමයි ඕනම දෙයක් file එකක් කියන එක. directory එකක් shortcut එකක් විතරක් නෙමේ hardware එකක් උනත් file එකක්. directory එකක් කියන්නෙ file එකක් වෙන්නෙ කොහොමද? directory එකක් කියන්නෙ ඒක ඇතුලෙ තියන file වල විස්තර ඇතුලත් file එකක්. මාරයි නේද? සමස්තයක් විදිහට FHS ගැන කියන්න තියෙන්නේ මේ දේවල් තමයි. දැන් බලමු root එක ඇතුලේ තියන සම්මත ගොනු මොනවද කියල.

/bin -
Linux තුල පාවිච්චි වෙන බොහෝ විධාන(Commands) තියෙන්නෙ මේ directory එක ඇතුලෙ. විධාන කිව්වට ඇත්තටම තියෙන්නෙ ඒ විධාන වලට අදාල executable binary files. bin කියන නමින්ම පැහැදිලි වෙනවනේ binary කියන එකේ මුල් අකුරු 3. මේ ගොනුවට ගිහිල්ල බලන්න ls, pwd, mkdir වගේ විධාන වලට අදාලව file එක බැගින් මේක ඇතුලෙ තියනව. තව මේ bin ගොනුවෙ path එක සම්මත එකක් ඒ නිසා userට ඕන තැනක ඉඳන් bin එක ඇතුලෙ තියන විධානයක් ක්‍රියාත්මක කරන්න පුළුවන්. අළුත් FHS වල /usr/bin කියන තැනත් විධාන වල executable files තියාගන්නව. ඒවගේ වෙලාවකදි /bin කියන්නෙ /usr/bin වලට ලින්ක් එකක්.

/boot -
මෙම ගොනුවේ configuration files හැර boot process එකේදී අවශ්‍ය වන අනෙක් files ගබඩා කර ඇත. ඔබ දන්නා ලෙස grub එකට අදාල files ද තිබෙන්නේ මෙහි. මෙම ගොනුවේ දත්ත වලට යම් හානියක් උනොත් පරිගනකය boot නොවී යන්න පුළුවන් නිසා මෙහි files සම්බන්ධව කටයුතු කිරීම මනා දැනුමකින් යුතුව කරන්න ඕන.

/dev -
කලින් කිව්වනේ Linux වල ඕනම දෙයක් file එකක් කියල. ඒ කියන්නෙ System එකේ තියන devices නුත් සලකන්නෙ file විදිහට. අන්න ඒ devices files තියෙන්නෙ මේ /dev කියන තැන. මේ directory එකට ගිහින් බැළුවොත් දකින් පුළුවන් මේ වගේ දෙයක්. මෙතන පරිගනකයේ තියන හැම device එකක්ම list කරලා තියනවා.

මේ sda කියන්නෙ මගේ hard disk එක.sda1 ආදී විදිහට තියෙන්නෙ hard disk partitions. තව hard disk එකක් තිබුනනම් ඒක sdb කියල පෙන්නාවි.

/etc -
මේක ගොඩක් වැදගත් directory එකක්. මෙතන තමයි configuration files සහ resources ගැන විස්තර ගබඩා කරල තියන්නෙ. මේව text ආකාරයට තමයි තියෙන්නේ ඒක නිසා මේ ගොනුවේ වෙනස් කම් කිරීමට permission දීල තියෙන්නෙ root user ට විතරයි. මේ ගොනුවේ තියන වැදගත් configuration file එකක් තමයි x windows system configuration file එක. ඒක /etc/X11/xorg.cnf කියන තැන තමයි තියෙන්නේ. මේ file එක බැළුවට කමක් නෑ දන්නෙ නැතුව වෙනස් කරන්න යන්න එපා.

/home -
මේ තුල එක් එක් පරිශීලකයා වෙනුවෙන් home directory එක බැගින් තිබෙනවා. උදාහරණයක් විදිහට මගේ home directory එක /home/ravinda .මෙය බොහෝ විට වෙනම partition එකක් ලෙස නිර්මාණය කරනු ලබනවා.

/lib -
Linux ක්‍රියාත්මක වීම සඳහා අවශ්‍ය shared library files මේ තුල අඩංගුයි.

/lost+found -
System එක crash වන අවස්ථාවකදී ගබඩා කරන තැන සොයා ගත නොහැකි වන files මෙතැන ස්ථාපනය කරනු ලබනවා. ඒවා save වන්නේ අංක වශයෙන්. නියම නමින් නොවේ.

/media -
මෙය තවත් වැදගත් තැනක්. මන්ද යත් පරිගනකයේ වෙනත් partitions සහ devices(removable media's) default mount වන්නේ මෙම ස්ථානයටයි. තවද මේ තුලට mount කරන ඕනෑම ගොනුවකට short cut එකක් desktop වලද පෙන්වනු ලබනවා.

/opt -
Optional application software packages හෙවත් පසුව ස්ථාපනය කරගන්නා මෘදුකාංග ස්ථාපනය වන්නේ මෙහි. මාගේ පරිගනකයේ මෙහි firefox සහ lampp ස්ථාපනය වී තිබෙනවා. මෙයත් root userට පමණක් දත්ත ලිවිය හැකි තැනක්.

/root -
සුපිරි පරිශීලකයා නොහොත් root user ගේ home directory එක වන්නේ මෙයයි. මෙය තුල ඇති දෑ බලන්නට පවා හැක්කේ root ලෙස පමණයි.

/tmp -
මෙහෙයුම් පද්ධතිය ක්‍රියාත්මක වීමේදී තාවකාලිකව දත්ත ලියන්නේ මෙතැනයි. system එක reboot වීමෙන් පසු මෙහි දත්ත තබාගන්නේ නෑ.

/usr -
file system එකේ දෙවන විශාලතම කොටස වන read only දත්ත මෙහි ඇතුලත්. share කල යුතු දත්ත පමණක් මෙහි ඇතුලත් වන අතර specific ඒවා ඇතුලත් වන්නේ නෑ. /usr/src යන තැන kernel එකේ source code එක අඩංගුයි.

/var -
මෙහෙයුම් පද්ධතිය ක්‍රියාත්මක වීමේදී නිතර වෙනස් වන log files,spool files වැනි දත්ත(variable files) මෙහි අඩංගුයි.

හරි FHS ගැන ඔය ඇති. ඔය ටික දන්නවන් ලිනක්ස් වල ඕන අස්සක මුල්ලක රිංගුවට කමක් නෑ. දැන් ටිකක් කම්මැලියි වගේද දන්නෙ නෑ මේක. ඕනම දෙයක් එහෙම තමයි පහු පහු වෙනකොට. ඒත් ඇත්තටම ආසාවක් තියනවනම් එහෙම වෙන්නෙ නෑ. අනික නිකම්ම ලේසියෙන්ම ගන්න දේවල් වල කිසි ගතියකුත් නෑනේ නේද? biggrin

Sunday, February 14, 2010

ජෙප්පන්-විශ්වවිද්‍යාල-හපන් කං යයි සිතන ගොං කං

මම කිසිදවසක මේ බ්ලොග් එකේ මේ වගේ ලිපියක් ලියන්න හිතාගෙන හිටියේ නෑ. ඒත් අද මෙතනට මාව පොළඹවල තියනවා. ඒ පේරාදෙනිය විශ්ව විද්‍යාලේ අන්තරේ කට්ටියක්(පිරිමි වෙන්න බෑ ගෑනු වෙන්න ඕන) හන්තාන චාරිකාවක ගිහිපු අපේ පොඩි batch එකේ නංගිලා මල්ලිලා පිරිසකට පේරාදෙනිය කැම්පස් එකේදි අන්තරේ අය සලකලා තියන විදිහ නිසා. මේ ගොල්ලො තමයි විශ්වවිද්‍යාල වල නම කැත කරන්නේ. කැම්පස් ඇතුලේ ගහගෙන මරාගෙන රැග් කරල කොල්ලො මරල විශ්ව විද්‍යාල ශිෂ්‍යයෙක් කිව්වහම මිනිස්සු සැකෙන බලන තැනට ආකල්පයක් හදල තියෙන්නේ මේ වගේ මානසික අසහන කාරයෝ තමයි.

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

මෙතන උන්ට අවුල වෙලා තියෙන්නෙ අපේ පොඩි එවුනට අන්තරේ තෙලක් ගහන්න බැරි වෙච්ච එකද කොහෙද. UCSC එකේ අපි කවදාවත් කැම්පස් එකේ දේශපාලනේ කරලත් නෑ. කරන්නෙත් නෑ. අපේ අයියල අපිට කිව්වෙත් අපි අපේ පොඩි එවුනට කිව්වෙත් යමක් කරනවනම් ඒක එක්කෝ UCSC එක වෙනුවෙන් නැත්තම් රට වෙනුවෙන් කරපන් කියල. අපේ ශිෂ්‍ය සංගම් නායකයො මාසෙට ගානක් හම්බෙනවට නැත්තම් මෝටර් බයිසිකලේකට ශිෂ්‍යයො පාව දෙන්නෙ නෑ. රට ගැන බඩ බැඳගෙන කෑගහන ජෙප්පන්ගේ නිරුවත මේකයි. මේවගෙන් වෙන්නෙ විශ්වවිද්‍යාල වල නම කැත වෙන එක විතරයි. තමන්ගෙ මතයට යට නොවෙන අය බලෙන් යට කරන්නයි උන් හදන්නෙ. අපිට දේශපාලන හයිය නෑ ඒත් ජාති ආගම් කුල මල බේද නැති සහෝදර කමේ හයිය UCSC එකේ අපිට තියනවා. ඒ එකමුතුකම අපිට හැමදාම විශ්වාසයි. ඒ නිසා ජෙප්පනි ප්‍රවේසමෙන්!!!.....

Saturday, February 13, 2010

ලිනක්ස් සිංහලෙන් මුල සිට සරලව - ලිනක්ස් ස්ථාපනයේදී වැදගත් වන කරුණු

බොහොම කාලෙකින් බ්ලොග් එකක් ලියන්න වෙලාව ලැබුනෙ. යන්තම් විභාගෙ ඊයෙන් ඉවරයි. දැන් ඉතින් නිදහස්. ප්‍රශ්න පත්තර ටිකට නම් කොහොම කොහොම හරි උත්තර ලියා ගත්ත. මොනව වෙයිද දන්නෙ නෑ. මේ සමාසිකයෙන් මම හරියට කලේ එක විශයයි ඒ "Operating Systems" කියන එක. මෙහෙයුම් පද්ධතියක ක්‍රියාකාරීත්වය අභයන්තරිකව විමසීම තමයි මේ විශයෙන් කලේ. එකක් වත් වරද්දන්නෙ නැතිව lectures ගියේ මේකට විතරයි. මේ විශය උගන්නපු චමත් සර්ගේ ඉගැන්වීමේ විලාශයත් ලමයි ඒ විශයට ආස වෙන්න හේතුවක්. තව චමත් සර්නුත් ලිනකස් ලෝලියෙක්. ප්‍රායෝගික ඔක්කොම කරන්න උනේ ලිනක්ස් වල. ඒ නිසා අපේ ජනෙල් තානාපතිලත්(කැපුවත් වින්ඩෝස් අය) අකමැත්තෙන් virtual box එකේ හරි ලිනක්ස් දාගත්ත mrgreen. සර් එක පාරක් කිව්ව "More than 90% of worlds most fastest super computers run Linux, then why not your machine" කියල. ඒකයි ලිනක්ස් වල බලය. හරි දැන් මාතෘකාවට එන්නම්. මම කිලින් ලිනක්ස් ගැන පූර්ව විස්තරයක් ලිපි දෙකකින් ලිව්ව. ලිනක්ස් ඉගන ගන්න කලින් පරිගනකයේ ලිනක්ස් ස්ථාපනය කරගෙන ඉන්න එපැයි. මම කලින් උබන්ටු ස්ථාපනය කරගන්න හැටි ලිපියක් ලිව්වත් තාක්ෂණික විස්තර ඇතුලත් කලේ නෑ ඒකට. මෙහෙයුම් පද්ධතියක් ස්ථාපනය කරන එක අමාරු දෙයක් නෙමෙයි. Facebook account එකක් හදනව තරම් ලේසියි biggrin. වැදගත් දේ කරන්නෙ මොකද්ද කියල දැනගෙන ඒ දේවල් කරන එක. මේ සටහනේ මම පියවරෙන් පියවර විස්තර කරන්නෙ නෑ. මම කලින් සවිස්තර සටහනක් මේ ගැන ලිව්වා. ඒ නිසා අවශ්‍ය අය ඒ සටහනත් මේකත් එක්කම බලන්න. මෙන්න ඒකට ලනුව.

මුලින්ම කරන්න ඕන මොකද්ද?
තමන් ස්ථාපනය කරගන්න යන ලිනක්ස් OS එක මොකක් උනත් මුලින්ම අපි බලන්න ඕනෙ අපේ hard disk එකේ කොතනටද අපි මේ OS එක ස්ථාපනය කරගන්නෙ කියල. මෙතනදි වෙන්න පුළුවන් අවස්ථා කීපයක් තියනව.
  1. අළුත්ම නැත්නම් සම්පූර්ණයෙන් format කල hard disk එකකට OS එක ස්ථාපනය කිරීම.
  2. වෙනත් OS එකක් දැනටමත් ස්ථාපනය කරල තියන Hard disk එකකට OS එක ස්ථාපනය කිරීම.
මෙතනදි දැනගන්න ඕන දේවල් ගැන ටිකක් බලමු.

අළුත්ම නැත්නම් සම්පූර්ණයෙන් format කල hard disk එකකට OS එක ස්ථාපනය කිරීම.

පරිගනකයේ මෙහෙයුම් පද්ධතියක් ස්ථාපනය කිරීමේදී මෙහෙයුම් පද්ධතියට අවශ්‍ය ඉඩ ප්‍රමාණයට partition එකක් හදල ඒකෙ OS එකත් තමන්ට අවශ්‍ය අනෙක් දත්ත, චිත්‍රපට සිංදු වගේ වෙන partition එකකට හෝ කීපයකට දාගන්න එක ඇඟට ගුණයි. මොකද OS එකේ මොකක් හරි ප්‍රශ්නයක් ගිහිල්ල OS එක ආයෙ ස්ථාපනය කරන්න උනොත් ඒ partition එකේ තියන අපේ අනිත් දත්තත් නැති වෙලා යන නිසා. අනිත් දේ මෙහෙයුම් පද්ධති කීපයක් ස්ථාපනය කර ගන්නව නම් ඒ ඒ OS එකට වෙන වෙනම partition තිබීම අවශ්‍යයි. මේ නිසා අළුත් hard disk එකක්කට OS එක ස්ථාපනය කිරීමෙදි මුලින්ම ඒ දෙවල් ගැන හිතල partition හදල තියන එක වැදගත්.

මෙතනදි තව සැලකිය යුතු දෙයක් තමයි අපි ලිනක්ස් OS සහ වින්ඩෝස් කියන OS දෙකම ස්ථාපනය කරන්න යනව නම් අපි මුලින් වින්ඩෝස් ස්ථාපනය කරල ඉන්න ඕන. (මගේ පරණ පෝස්ට් එකක් තිබුනා මේ ගැන වෙලාව තියනව නම් කියවල එන්න. මෙන්න ලනුව)
ඇයි ඒ?
පරිගනකයේ මෙහෙයුම් පද්ධතිය ක්‍රියාත්මක වෙන්න hard disk එකේ මෙහෙයුම පද්ධතිය තියන තැන හොයල දෙන්නෙ boot loader කියන කුඩා වැඩසටහනින්. සාමාන්‍යයෙන් boot loader එකෙන් කරන්නෙ පරිගනකයේ ප්‍රධාන මෙහෙයුම් පද්ධතිය සොයල දෙන එක. වින්ඩෝස් වල boot loader එක හඳුනගන්නෙ වින්ඩෝස් වර්ගයේ මෙහෙයුම් පද්ධති විතරයි(මේ ලෝකෙ තියෙන්න පුළුවන් වින්ඩෝස් විතරයි කියල ඒ අය හිතන නිසා වෙන්න ඇති) මේ නිසා ලිනක්ස් ස්ථාපනය කරපු පරිගනකයක දෙවන වතාවට වින්ඩෝස් ස්ථාපනයක කලොත් වින්ඩෝස් වලින් පරිගනකයේ ලිනක්ස් ස්ථාපනය හඳුනා නොගෙන boot loader එක ලියනව. මේ නිසා ඉන් පස්සෙ කලින් ස්ථාපනය කර තිබුන ලිනක්ස් ස්ථාපනය boot කරන්න පුළුවන් වෙන්නේ නෑ. මෙහෙම වුන වෙලාවක කරන්න පුළුවන් දේ තමයි live CD එකකින්(Live Pen එකකින් උනත් කමක් නෑ biggrin) boot කරල terminal එක පාවිච්චි කරල grub එක ආය install කරන එක.(9.04 වලදි මෙහෙම, 9.10 වලදි මෙහෙම)

ඒත් ලිනක්ස් වලදි එහෙම අවුලක් නෑ. ලිනක්ස් වල බොහෝ වේලාවට පාවිච්චි කරන්නෙ Grub කියන boot loader එක. Grub install වෙනකොට පරිගනකයේ ස්ථාපනය කරල තියන අනෙක් මෙහෙයුම් පද්ධතිත් හොයල ආරම්භයේදී අවශ්‍ය මෙහෙයුම් පද්ධතිය තෝරගෙන boot කරන්න අවස්ථාව ලබා දෙනව.අපි හිතමු grub වැඩසටහනේ දෝශයක් නිසා මොකක් හරි මෙහෙයුම් පද්ධතියක් grub menu එකට ඇතුලත් කරගත්තෙ නෑ කියල. අපිට manually අදාල විස්තර grub configuration file එකට ඇතුලත් කරගන්න පුළුවන්. Linux වල විවෘත භාවයේ වාසිය ඒකයි. ඒ නිසා වින්ඩෝස් ලිනක්ස් දෙකම ස්ථාපනය කරන්න යනව නම් මුලින් වින්ඩෝස් ස්ථාපනය කරල පස්සෙ ලිනක්ස් ස්ථාපනය කරන එක පහසුයි.

වෙනත් OS එකක් දැනටමත් ස්ථාපනය කරල තියන Hard disk එකකට OS එක ස්ථාපනය කිරීම.

මෙතනදි ප්‍රශ්නය තමයි අපි අළුත් OS එක ස්ථාපනය කරන්න hard disk එකෙන් ඉඩක් ලබා ගැනීම. සාමාන්‍යයෙන් අපි hard disk එක පිරෙන්නම partition හදලනෙ තියෙන්නෙ. ඒ නිසා අපිට තියන partition එකක් මකල එතැන ලිනක්ස් partition එක හදන්න වෙනවා. සාමාන්‍යයෙන් ලිනක්ස් වලට 8GB වගේ ඉඩක් තිබුනාම ඇති. අවම ගාන 4GB උනත් මෘදුකාංග ස්ථාපනයත් ගැන හිතල 8ක් තියන එක හොඳයි. හොඳයි අපි හිතමු අපි ලඟ තියෙන්නෙ 40GB වගේ පතරංග partition එකක් කියල දැන් මොකද කරන්නෙ. කරන්න දෙයක් නෑ. අපිට ඕන වෙන්නෙ 8GB උනාට ඒ partition එක හදන්න මුලින් අර ලොකු partition එකම මකන්න වෙනව පස්සෙ ආයෙ ඉතුරු වෙන කොටස පස්සෙ අපිට අවශ්‍ය file system එකක් දාල පාවිච්චි කරන්න පුළුවන්. මේ නිසා මුලින් අදාල partition එකේ දත්ත අයින් කරගන්න ඕන(එතකොට ඒ partition එක හොයාගන්නත් ලේසියි). ඉන් පස්සෙ ඒ partition එකේ size එකත් මතක තියාගන්න. partition එක කීවෙනි එකද කියල මතක තියාගත්තත් අවුලක් නෑ.

හරි දැන් ආයෙත් මෙහෙයුම් පද්ධතිය ස්ථාපනය දිහාවට හැරෙමු. මම මේ සටහන ලිනක්ස් වලට පොදුවේ ලියන්න උත්සාහ කරනව ඒත් උදාහරණ දෙන්න වෙන්නෙ Ubuntu ආශ්‍රයෙන්. Installation Process එකේ මුලින් තියන දේවල් කියවල තේරුම් ගන්න පුළුවන් සරල දේවල්. රට මොකද්ද වේලා කලාපය මොකද්ද කියන ඒව වගේ. සරල පියවරවල් මම මේ සටහනේ මග ඇරල ගියාට අවශ්‍ය අයට මගේ මේ පරණ සටහනෙන් සවිස්තරව ඒ පියවරවල් බලාගන්න පුළුවන්. Linux ස්ථාපනයෙදි එන වැදගත් තැනත් තමයි prepare partitions කියන තැන.

මෙතනදි තමයි අපි Linux ස්ථාපනය කල යුතු partition මොනවද කියල දෙන්නේ. අපි මෙතනදි partition දෙකක් අවම වශයෙන් හදල දෙන්න වෙනවා. ඒව තමයි
  • swap partition එක
  • root partition එක
මේ partition වර්ග මොනවද කියල දැනගන්න එකත් වටිනව.

Swap partition

මොකක් හරි වැඩසහනක් වැඩ කරනකොට ඒ කියන්නෙ process එකක් execute වෙනකොට ඒ program එක තියෙන්නෙ පරිගනකයේ RAM එකේ. ඒත් සම්පූර්ණ වැඩසටහනම RAM එකට එකවර ගැනීම සිද්ධ වෙන්නෙ නෑ. මොකද ඒක Memory wastage එකක් වෙන නිසා. මේ නිසා වෙන්නෙ paging කියන උපක්‍රමය හරහා ඒ අවස්ථාවට අවශ්‍ය code දේවල් විතරක් RAM එකට ගන්න එක.(paging ගැන මෙතන වැඩිපුර කතා කරන එක අමාරුයි. දැනුම පිපාසාව ඇත්තෝ google ගෙන් අංජනමක් බලත්වා...) ඉතින් අපේ වැඩකරන වැඩසහන් වලට අවශ්‍ය ඉඩ ලබා ගන්න kernel එක කරන්නෙ අඩුවෙන් පාවිච්චි වෙන pages swap area එකට යවලා ඒ ලැබෙන ඉඩ අර අවශ්‍ය වැඩසහනට දෙන එක. මෙන්න මේ swap area එක කියන්නෙ පරිගනකයේ hard disk එකෙන්ම කොටසක්. මේකට virtual memory කියලත් කියනව. මේ විදිහට swap එක සහ paging තාක්ෂණය භාවිතා කරල kernel එකට පුළුවන් පරිගනකය සතු සැබෑ physical memory එකට වඩා වැඩි ප්‍රමාණයක් තියන බවට පෙන්නන්න සහ ඒ පෙන්නන මතකය වැඩසහන් වලට ලබා දෙන්නත් kernel එකට පුළුවනි.

root partition

root එක (/) කියන්නෙ Linux වල file hierarchy එකේ උඩින්ම ඉන්න කෙනා. Linux වල ගොනු සැකැස්ම එන්නෙ ගහක් විහිදට root එකෙන් පටන් ගෙන පහලට Linux තුල ඇති සෑම ගොනුවත්ම මේ ගහට අත්තක් විහිදට එකතු වෙනවා.
තවත් partition එකක් උනත් එකතු වෙන්නෙ මේක ඇතුලම තමයි. network එකේ තවත් පරිගනකයක hard disk එකක් උනත් මේක ඇතුලට mount කරන්න පුළුවන්. දැනටමත් මේ සටහන දිග වැඩි නිසා Linux file hierarchy එක ගැන වෙනම ලිපියකින් කතා කරමු.

ආයේ ස්ථාපනය කිරීම ගැන කතා කලොත් swap එක RAM එක වගේ දෙගුණයක් තියන්න කියල තමයි කියන්නෙ. මම කලින් කියපු 8GB ඕන වෙන්නෙ root එකට. අපට ඕන නම් home එක වෙනම partition එකක් විදිහට හදන්නත් පුළුවන්. එතනදි වාසිය වෙන්නෙ home එක තමයි පරිගනකය වැඩ කරනකොට නිතරම write වෙන්නෙ root එක නිතරම write වෙන්නෙ නෑ. මේ නිසා වෙනම partition එකක තිබීමෙන් home එකට write වෙන වේගය වැඩි වෙනවා. තවත් වාසියක් තමයි වෙන වෙනම partition වලට විවිධ file system පාවිච්චි කරන්න පුළුවනි. උදාහරණයක් විදිහට root එකට ext 3 ත් home එකට ext 4 ඕන නම් පාවිච්චි කරන්න පුළුවන්. තව වාසියක් තමයි හදිසියේ වත් root එක corrupt උනත් home එකේ තියන දත්ත ආරක්ෂා වෙනවා.

මේ සඳහන් කල දේවල් තමයි Linux ස්ථාපනයේදි අවබෝධයෙන් සිටිය යුතු දේවල්. මේ සටහන ටිකක් දිග වැඩි උන නිසා මෙතනින් නවත්වනවා. මට මගහැරුණු දෙයක් වෙතොත් මකත් කරන්නත් අපහැදිලි දෙයක් වෙතොත් එකත් සඳහන් කරල යන්න අමතක කරන්න එපා.

Sunday, January 10, 2010

ලිනක්ස් සිංහලෙන් මුල සිට සරලව - ලිනක්ස් ගැන ඔබ දැනගත යුතු දේ



ලිනක්ස් සිංහලෙන් මුල සිට සරලව - ලිනක්ස් අල ගිය මුල ගිය තැන් - 1කොටස

Linux වල තව දුරටත් ඉදිරියට යන්න කලින් Linux ගැන පවතින මති මතාන්තර හා ඒවායේ සත්‍ය අසත්‍ය ස්භාවය ගැන ටිකක් ලියන්න හිතුනා. මොකද Linux ගැන ඉගෙන ගන්න කලින් Linux කියන්නේ මොකද්ද කියල හරියටම දැනගෙන ඉන්න එක වැදගත්. විභාගෙ කටේ තියාගෙනත් මගේ තියන බ්ලොග් අමාරුවටයි මේක ලිව්වෙ lol. හරි එහෙනම් ඕන් පටන් ගත්තා.

Linux වයිරස් වලින් තොරද?

මෙ ප්‍රශ්නෙට දෙන්න පුළුවන් කෙටිම පිළිතුර නම් නෑ කියන එක. ඒත් windows සමග සංසන්දනය කරාම Linux සඳහා වයිරස් බලපෑම නොගිනිය හැකි තරම් කුඩායි. ඒකට හේතුව මොකද්ද කියන එක අපි සලකල බලමු.

ඕනෑම පරිගනක වැඩසටහනක වැරදි(bugs,errors) තියෙන්න පුළුවන්. 100% ක් නිරවද්‍ය(error free) පරිගනක වැඩසටහනක් නෑ කියල තමයි සලකන්නෙ. මේ නිසා පරිගනක වැඩසටහන් වල කේතයන්ගේ(code) වල තියන දුර්වලතා නිසා ඒ හරහා ඒ වැඩසටන් වල ක්‍රියාකාරීත්වයට බාධා කල හැකි වයිරස් ලියන්න පුළුවන්.වින්ඩෝස් වලදී මෙසේ කේතයේ දුර්වල තැන් වලින් ඇතුල්වන පරිදි වයිරස ලිවිය හැකියි නමුත් Linux මතදී එය එපමණින්ම කල හැකි වන්නේ නැහැ. එයට හේතුව Linux මත විවිධ පරිශීලකයන්ට විවිධ ශක්‍යතා මට්ටම්(privilege levels) ලබා දීම නිසා. Linux පද්ධතිය පාලනය කිරීමට හෝ එයට යම් වෙනසක් කිරීමට හානිකර malware(වයිරස් වැටෙන්නේ malware යටතටයි) වැඩසටහන් වලට root privileges ලබා ගන්න වෙනවා. Linux පද්ධතියක් මත මෘදුකාංගයක් ස්ථාපනය කිරීම system setting එකක් වෙනස් කිරීම වැනි අවස්ථාවලදී ඔබෙන් root password එක විමසනවා ඔබ දැක ඇති. මේ නිසා සීමා සහිත privileges ඇති වැඩසටහනක් විදිහට ස්වයංක්‍රීය පරිගනක වැඩසටහනකට Linux පද්ධතියට බලපෑ හැකි වෙනස් කම් කල හැකි වන්නේ නැහැ.

Linux සඳහා වයිරස් ලියවෙන්නේ ඉතා අඩුවෙන් නැත්නම් නොලියවෙන තරම්. ඊට හේතුව එය නිදහස් වීමයි. අපි වින්ඩෝස් සැලකුවොත් එය මිලදී ගත යුතුයි. ඒ නිසයි එයට විශාල වශයෙන් වයිරස ලියවෙන්නේtwisted. උදාහරණයක් විදිහට ගත්තොත් අපි හැමෝටම ඕන වතුර සලකන්න. කව්රු හරි කෙනෙක් ලෝකයේ සියළු වතුර විශාල ටැංකි වලට එකතු කරලා මුදලට ලබාදෙන්න ගත්තොත්? ඔබ ඒ ටැංකියක සිදුරක් විදින්න පෙළඹෙනව නේද? නමුත් වතුර හැම තැනකම ඕන කෙනෙක්ට ගන්න පුළුවන් විදිහට තියනවනම් කාටවත් ඒකට හානි කරන්න ඕන නෑ.

ඒ කෙසේ වුනත් Linux සඳහා වයිරස ඉතා සුළු ප්‍රමාණයක් හරි ලියවෙනව නේද? කොහොමද ඒවගෙන් Linux වලට හානි නොවී තියෙන්නෙ?

අපි හිතමු Linux සහ වින්ඩෝස් සංස්කරණ දෙකක් එකම වෙලාවෙ නිදහස් වුනා කියල. Linux වල කේතය විවෘතයි ඕන කෙනෙක්ට බලන්න පුළුවන්. මේ නිසා ලොව පුරා මිලියන ගණනක් Linux වලට ආදරය කරන්නන් ක්‍රමලේඛකයන් Linux kernel එක බාගත කරගෙන භාවිතා කරනවා,පරීක්ෂා කරනවා. නමුත් වින්ඩෝස් වල කේතය පිටතට ලබා දෙන්නේ නෑ. ඒත් පරිශීලකයාට executable code එක ලැබෙනවා. මෙකෙන් නැවත source code එක ගන්න බැරිද? ඇත්තෙන්ම පුළුවන්. C වැනි භාෂාවකට පවා executable code එක නැවත හැරවිය හැකි tool දැනට තියනවා. ඒත් Microsoft සමාගම මෙලෙස නැවත වින්ඩෝස් කේතය ලබා ගැනීම සම්පූර්ණයෙන් තහනම් විදිහට නීති සකසලයි තියෙන්නෙsad. නීතිගරුක පුරවැසියෙක් විදිහට ඔබ එය නොකරන්න පුළුවන්. ඒත කවුද ඒක කරන්නෙ. වයිරස් ලියන්නන්, හැකර්වරුන් එලෙස නැවත කේතය ලබාගෙන එහි දුර්වල තැන් සොයාගෙන ඒවාට වයිරස් ලියනවාeek. දැන් කව්රු හරි මේ විදිහට Linux වලත් වරදක් සොයාගෙන එතනට වයිරසයක් ලියනවා කියමු. නමුත් Linux කේතය පරීක්ෂා කරන ලොව පුරා අයගෙන් බොහොමයක්ටද මේ දුර්වල තැන හමුවෙවා. එයින් කවුරු හරි එය report කරනව අදාල තැන් වලට(මේ වගේ http://www.kernel.org/pub/linux/docs/lkml/reporting-bugs.html) ක්‍රමලේඛන දැනුමක් ඇති අය මේ සඳහා patch ලියනවා. එයින් සාර්ථක වන ඒවා submit කරනවා. මේ patches අදාල දුර්වල තැනට ප්‍රතිකර්මයක්ද කියල kernel එක develop කරන අය තහවුරු කිරීමෙන් අනතුරුව ඉතාම ඉක්මනි ඒ security update එකක් වදිහට මුළු ලෝකයේම Linux පරිගනක වෙත නිකුත් කරනවා. මේ වන විට එම දොශ සහිත තැනට ලියූ වයිරසය අන්තර්ජාලයට මුසු කර තිබෙන්නට පුළුවන්. ඒත් එය පරිගනක වලට ආසාදනය වීමට පෙර අදාල patch එක ඔබේ පරිගනකට පැමිණ තිබේවිsmile. නමුත් විනිඩෝස් වැනි OS එකකදී එම සමාගමේ සීමිත ක්‍රමලේඛකයින් පිරිසක් ආරක්ෂාවේ සිදුර සොයාගෙන එයට patch එකක් ලියන කොට ඒයට ලියපු වයිරස් ලෝකය පුරාම පැතිරිලා ඉවරයි. ඉතින් මේ විදිහට අශ්වයා පැන යන්න කලින් ඉස්තාලය වහන එක Linux වල සුවිශේෂී දෙයක්.

මේ නිසා Linux is Virus Free යන්න බොහෝ විට පාවිච්චි වෙනවා. මෙම නිසාම ලෝකයේ සුපිරිම පරිගනක 500න් 90% පමණ ධාවනය වන්නේ Linux වර්ගයේ මෙහෙයුම් පදධති වලින්. පහත දැක්වෙන්නේ www.top500.org අඩවිටයන් ගත් තිරපිටපතක්.

ඔබට අවශ්‍ය සෑම දෙයක්ම Linux මත කල හැකිද?


ඔව් වෙනත් මෙහෙයුම් පද්ධති මත කල හැකි බොහෝමයක් දේවල් දෙවල් Linux මත ඉතා පහසුවෙන් වඩා ආරක්ෂාකාරී ලෙස කල හැකියි. ක්‍රමලේඛන කටයුතු සඳහා Linux වඩාත් උචිත බවයි මගේ හැඟීම. පාරදෘශ්‍ය භාවය නිසා මෙහෙයුම් පද්ධතියේ ක්‍රියාකාරීත්වය දකින්න පුළුවන් නිසා පරිගනක සම්බන්ධව ඉගනීමට Linux වර්ගයේ මෙහෙයුම් පද්ධති ඉතා උචිතයි. නමුත්, graphic designing සඳහා Linux මෙහෙයුම් පද්ධති සඳහා මාදුකාංග ඉතා අඩුයි. Flash, 3D max වැනි මෘදුකාංග සඳහා විකල්ප Linux සඳහා තවමත් නැති වීම ලොකු අඩු පාඩුවක්. එහෙත් විවිධ පරිශීලක අවශ්‍යතා උදෙසා සැකසුනු නිදහස් මෘදුකාංග ලක්ෂ සංඛ්‍යාත ප්‍රමාණයක් අද ලෝකයේ තිබෙනවා.

Linux Geeksලා සඳහා පමණයිද?

මේක තමයි විවාදයට තුඩු දෙන මාතෘකාව. Linux user friendly නෑ. Software එකක් install කරන්න ගියාම එපා වෙනවා. මේව Linux වලට නැගෙන චෝදනා වලින් කීපයක්. මම දකින විදිහට ලොකුම දේ තමයි ගොඩක් අය වින්ඩෝස් පාවිච්චි කරලා Linux වලට ආවහම ඒ පරිසරයම නොලැබීම නිසා තමයි මෙහෙම කියන්නෙ. ඔව් Linux වල සමහර දේවල් ටිකක් අමාරුයි මොකද Linux වල පරිසරය වින්ඩෝස් වල වගේ abstract නෑ. ඇත්තටම වෙන්නෙ මොකද්ද කියල අපිට දකින්න පුළුවන්. ඒත් සමහර අය ඒකට අකමැතියි තමන්ට ඕන දේ කිව්වහම ඒක කරල දෙනවනම් ඒච්චරයි වෙන්න ඕන. ඒත් Linux වල වැඩකරන අය මේ OS එකක සැඟවුනු යථාර්තය දකිනවා. කොහොමද OS එකක් වැඩ කරන්නේ. කොහොමද මෘදුකාංගයක් වැඩ කරන්නේ. ඒ නිසා Linux වල වැඩ කරන කෙනෙක් ඉබේම Geek කෙනෙක් වෙනවා. ඒක නරක දෙයක් නෙමෙයිනේ?razz ඔබට වැඩි දුරටත් ඉගන ගැනීමට ආස නම් ඒ සඳහා අවස්ථාව Linux තුල තියනවා වගේම එය ලැබෙන්නෙ නොමිලේ....surprised