Saturday, October 10, 2009

APT එක්ක හරඹ කරමු


ලිනක්ස් ටිකක් අතපත ගාල තියෙනම් (Ubuntu, Debian, Knoppix වගේ Debian-based ලිනක්ස් සංස්කරණ) apt-get කියන වචනෙ නුහුරු වෙන්න විදියක් නෑ. idea උබුන්ටු ටර්මිනල් එකෙන් අළුත් මෘදුකාංගයක් ස්ථාපනය කරනකොට පාවිච්චි කරන්නෙ මේ sudo apt-get install කියන විධානයනෙ. නොදන්න අයට දැනගන්නත්, දන්න අයට මතක් වෙන්නත් මේ APT ගැන පොඩ්ඩක් ලියන්න හිතුණා.


APT කියන්නෙ Advanced Packaging Tool කියන එක. ඉස්සර මෘදුකාංගයක් ස්ථාපනය කරන්න ඕන වුණාම ඒකෙ ප්‍රභව කේතය (source code) බාගෙන ඒක කොම්පයිල් කරල අවශ්‍ය අමතර පැකේජ (dependencies) තියෙනම් ඒවත් බාගෙන ලොකු ගේමක් දෙන්න වුණා (ලු lol). ඉතින් මේකට විසඳුමක් විදියට තමන්ට අවශ්‍ය පැකේජ ඉබේම හොයල දීල ඉබේම ස්ථාපනය කරල දෙන ක්‍රමයක් විදියට තමයි APT බිහිවෙලා තියෙන්නෙ. මේක වැඩ කරන්නෙ අර මුලින් කියපු වගේ Debian මත ගොඩනගපු ලිනක්ස් සංස්කරණවල විතරයි.

කතා ඇති, දැන් ටර්මිනල් එකක් එහෙම ඇරගෙන වැඩට බහිමු.
හිතමු අපිට ට්විටර් පාවිච්චි කරන්න අවශ්‍ය මෘදුකාංගයක් දාගන්න ඕන වුණා කියලා. මුලින්ම අපි apt-cache search මගින් හොයන්න ඕන ට්විටර් සම්බන්ධයෙන් දැනට තියෙන මෘදුකාංග මොනවද කියල, මෙන්න මෙහෙම:

$ apt-cache search twitter



එතකොට ට්විටර් සම්බන්ධෙයන් තියෙන මෘදුකාංග එකක් නෙමෙයි කීපයක්ම පෙන්නනවා. (තව උදාහරණයක් විදියට video conversion tool එකක් ඕන නම් apt-cache search video converter වගේ දෙයක් පාවිච්චි කරන්න පුළුවන්). දැන් මේවයින් මොකක් හරි එකක් ගැන විස්තර දැනගන්න ඕන නම් apt-cache show විධානය පාවිච්චි කරන්න, මෙන්න මේ විදියට:

$ apt-cache show gwibber


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

දැන් මේ විදියට තෝරලා තමන්ට ස්ථාපනය කරන්න අවශ්‍ය වැඩසටහන හොයාගත්තට පස්සෙ apt-get install මගින් ස්ථාපනය කරගන්න පුළුවන්. හැබැයි මෙතනදි අපිට "විධායක බලතල" ඕන වෙනවා. mrgreen ඉතින් sudo කියල පටන්ගෙන තමයි විධානය දෙන්න වෙන්නෙ, මෙන්න මෙහෙම:

$ sudo apt-get install gwibber



ඉස්සෙල්ලම අපෙන් admin password එක අහවි. ඒක දුන්නට පස්සෙ ඔය රූපෙ විදියට ඔය අනංමනං ගොඩක් පෙන්නුවට බය වෙන්න හොඳ නෑ. ඔය පෙන්නන්නෙ ස්ථාපනය කරන්න අවශ්‍ය අමතර පැකේජ, බාගත කළ යුතු ගොනුවල ප්‍රමාණය, ස්ථාපනය කරන්න හාඩ් ඩිස්ක් එකේ තියෙන්න ඕන ඉඩ වගේ දේවල්. Do you want to continue? කියල ඇහුවම Y ඔබන්න. දැන් අපි හොයල බලන්න ඕන නෑ, එයා (APT) තනියෙන් ඔක්කොම වැඩ ටික කරල දෙනවා.

apt-get වලින් මෘදුකාංග දාන්න වගේම අයින් කරන්නත් පුළුවන්. ඒකට පාවිච්චි කරන්නෙ apt-get remove විධානය. gwibber අයින් කරන්න ඕන නම් මෙහෙම ගහන්න:

$ sudo apt-get remove gwibber


හැබැයි මේකෙන් ස්ථාපනය වෙච්ච ඔක්කොම ගොනු අයින් කරන්නෙ නැහැ. උදාහරණයක් විදියට වැඩසටහනේ වින්‍යාස දත්ත තිබුණු ගොනු ඉතුරු කරනව. ඒ ඔක්කොමත් එක්ක අයින් කරන්න ඕන නම් sudo apt-get remove --purge gwibber විදියට දෙන්න ඕන.

apt-get upgrade වලින් දැනට ස්ථාපනය කරල තියෙන ඔක්කොම මෘදුකාංග එකවර අප්ග්‍රේඩ් කරන්න පුළුවන්.

යන්න කලින් තව දෙයක් කියන්න ඕන. උබුන්ටුවල මේ වැඩ ටික Synaptic Manager කියන මෘදුකාංගය භාවිතා කරලත් කරගන්න පුළුවනි. මේකෙදි කරල තියෙන්නෙ apt විධානවලට රූපමය අතුරුමුහුණතක් දීපු එක. (Applications මෙනුවෙ Add/Remove... කියල තියෙන්නෙ මේකට තමා smile) මීට අමතරව dpkg, tasksel, aptitude වගේ ක්‍රමත් තියෙනවා. පොඩ්ඩක් ගූගල් එකේ ගහල බැලුවොත් විස්තර හොයා ගන්න පුළුවන්. APT ගැනත් අර කියපු ක්‍රම ගැනත් හොඳ විස්තරයක් මෙතන තියෙනවා.

ප.ලි.
මෙන්න මේක නෙට් එකේ තිබිල හොයාගත්තෙ. පේන්නෙ නැත්නම් රූපෙ උඩ ක්ලික් කරන්න. හිනා යන්නෙ නැත්නම් කිති කවා ගෙන හරි හිනා වෙන්න lol

මෙම ලිපියට ප්‍රතිචාර 17 කි:

GNS said...

උබුන්ටු වල මට අල්ලල ගිය එකක් තමයි APT.. :)

බලාගෙන යද්‍දි තව වැඩ පුළුවන් නෙ.. :D

Siribiris said...

sudo (switch user DO) සහ $,# prompt ගෑන වෙනම පොඩි විස්තරයක් කලානම් තමයි වඩා හොද.
ඔහොම යං.බොහොම් වටින වෑඩක්.

Shabith Ishan Thennakone said...

මෙක දැක්කම මටනම් ලින්ක්ස් ඉගෙන ගන්න ඇත්නම් කියල හිතෙනවා.

Anonymous said...

තෑන්ක්ස්. අලුත් ‍දේවල් කීපයක් ඉගෙනගත්තා.

budhajeewa said...

මම දැනං හිටියෙ apt-get ගැන විතරයි. අනික්වා 100%ක් අලුත්. ගොඩක් ස්තූති වේවා!

Siribiris said...

දීලා තියන ලින්ක් එක නම් බෑලුවා. කිව්වාට අමනාප වෙන්න එපා. මාගලක් වගේ දිග අකුරු විතරක් තියන හෑල්ල බෑලුවාම සංසාරෙත් එපාවෙනවා. පුලුපුලුවන් වෙලාව මෙහෙම Linux වල නවකයන්ට ප්‍රයොජනවත් වෙන ලිපි ටිකක් සිංහලෙන් දිගටම කලොත් ලොකු උදව්වක්.

Thameera said...

@ගයන්ත
ඔව් මේ apt උබුන්ටු සහ ඩේබියන් ජනප්‍රිය වෙන්න හේතුවක්

@LazyOwl
ඔව් පුළුපුළුවන් විදියට ලියන්න ඕන
ඇත්ත තමයි, ලිනක්ස් වල තියෙන ලොකුම අඩුපාඩුවක් තමයි කියවන්න ආස හිතෙන විදියට හදපු documentation එකක් නැති කම. හරියට මොනව හරි කරන විදියක් හොයා ගන්න වෙන්නෙ ඔය බ්ලොග්වල ලියපු දේවල්වලින් තමයි

@Shabith
අනිවා ඉගෙන ගන්න. මොකෝ සල්ලි වියදම් වෙන වැඩක් නෙවෙයිනෙ :)

@පහන් @සුපුන් බුධාජීව
එළ, මාත් මේ ළඟදි තමයි මේ ටික හොයාගත්තෙ

Anonymous said...

නියමයි ලිපිය...
apt සහ අනිත් package mgt ගැන මම ලියපු ලිපි කිහිපයක් මේ.

http://www.techbuzz.chamiladealwis.com/2009/03/package-management-and-offline-installation-in-ubuntu-81/

http://www.techbuzz.chamiladealwis.com/2009/03/keryx-%e0%b7%84%e0%b6%bb%e0%b7%84%e0%b7%8f-%e0%b6%85%e0%b6%b1%e0%b7%8a%e0%b6%ad%e0%b6%bb%e0%b7%8a%e0%b6%a2%e0%b7%8f%e0%b6%bd%e0%b6%ba-%e0%b6%b1%e0%b7%9c%e0%b6%b8%e0%b7%90%e0%b6%ad%e0%b7%92%e0%b7%80/

Thameera said...

@chamila_dealwis
ෂහ්, packages වර්ග ගැන නියම ලිපියක්නෙ, දැනුයි දැක්කෙ!
http://www.techbuzz.chamiladealwis.com/2009/03/package-management-and-offline-installation-in-ubuntu-81/

Siribiris said...

@chamila

Thanks,mate. A nice post.

Rasika Nanayakkara said...

නියමයි. අලුත් දේවල් කීපයක් ඉගෙන ගත්තා. අපි සරලයි කියලා හිතනපොඩි වැඩ කරන සමහර ටූල් වලින් කොච්චර ලොකු වැඩක් කරන්න පුලුවන්ද කියලා මේක කියෙව්වාම හිතුනා.
පුංචි එකතු කිරීමක් කරන්නම්.
මේක අදාල වෙන්නේ sudo ටයිප් කරලා රහස් පදය දෙන 1ට.
අපි සාමාන්ය යූසර් කෙනෙක් විදියට ඉන්න කොට ඇඩ්මින් බලතල ගන්න තමා sudo ටයිප් කරලා අපේ සාමාන්ය යූසර් රහස් පදය දෙන්නේ. sudo එක්ක ඇඩ්මින් රහස්පදයම දෙන්න ඕනේ නෑ. නෝමල් රහස් පදය දුන්නම රූට් විදියට වැඩ කරන්න පුලුවන්. (මේක ඔයා දන්නවා ඇති. පෝස්ට් 1 සදහන් වෙලා නොතිබුන නිසයි ලිව්වේ.)

ජය වේවා...

Unknown said...

මරු ළිපියක්..එල

Thameera said...

@රනා
ඔය සිද්ධිය දැනගෙන හිටියෙ නැහැ. (යූසර්ල එකකට වඩා ඉන්න උබුන්ටු මැෂිමක් පාවිච්චිකරල නැහැනෙ :) )ස්තුතියි පෙන්නල දුන්නට!

@änthräX
තැන්කූ!

Yohan Kanishka | යොහාන් කණිෂ්ක said...

තමීර අයියේ ගොඩක් ස්තූතී ලිපියට.. ලිනක්ස් වලට නවකයන්ට මේ වගේ ලිපි ටිකක් ලිවුවනම් මරැ.. ඒකෙන් අපිට ගොඩක් දේවල් ඉගන ගන්න පුළුවන් වේවි.

Kanishka said...

මෙලෝ දෙයක් නොතේරුනාට ලිපිය හොද බව පේනව :D
ඔ‍හොම යන්.......

Thameera said...

@KaniRockz
එල එල, මාත් ඉතින් ඔය ලොකුවට ලිව්වට තාම නවකයෙක් තමයි :)

@කණියා
එහෙම හරි පෙනිච්ච එක ලොකු දෙයක් :P

Unknown said...

නියමයි වැදගත් ලිපියක් ස්තූතියි....

අදහස් ලියලම යන්න