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 එකක් එක්ක වැඩ කරන්න නිදහස් මෘදුකාංග ලෝඩ් එකක් හොයාගන්න පුළුවන් මෙතනට ගියොත්. :)

11 comments:

  1. පොඩි බැච් එකට 1 වෙනිදා ෆ්‍රෙෂස් දීලා අද තමා යන්තම් පරිගණක විද්‍යාගාරයට ආවේ.විවෘත කේත මෙහෙයුම් පද්ධති වලට මෘදුකාංග පිහි‍ටුවන එක තමා මටත් ටියෙන ප්‍රශ්නය.ඒක ගැන ශාකුන්තල සහෝදරය ලියපු එක හොඳයි. 7ත් වෙනිදාට අපට දෙවෙනි වසරේ දෙවැනි CAT(Continued Assesment Test ) එක . විෂයයන් 8 ක් තියෙන නිසා වැඩ වැඩියි.අදට නවතිනවා.ජයම වේවා...!

    ReplyDelete
  2. ගොඩක් පැහැදිලි විදියට ලියල තියනව. මමත් ලිනක්ස් වලට ගොඩක් අලුත් නිසා, ලිනක්ස් වලදි මෘදුකාන්ග ස්ථාපනය පිලිබඳව සෑහෙන්න ගැටලු තිබනා. නමුත් අපේ කස්ටියගෙ බ්ලොග් වල ලිපි වල පිහිටෙන් දැන් ගොඩක් ගැටලු නිරාකරනය කරමින් යනවා. අද ඒ දැනුමට තවත් දෙයක් එකතුවුනා.
    පොඩි දෙයක් තියනව අහන්න, මේ විදියට ස්ථාපනය කරපු මෘදුකාන්ගයක් , තවත් ලිනක්ස් බාවිත කරන පරිගණකයකට root ඩිරෙක්ටරියෙ තියන මෘදුකාන්ගයට අදාල ෆයිල්ස් ඔක්කොම කොපි කෙරුවොත් අපිට කම්පයිල් කිරීමකින් තොරව ඒ මෘදුකාන්ගය run කරන්න පුලුවන්ද?

    ReplyDelete
  3. ප්‍රමුඛම මෘදුකාංග

    1. GNU C Compiler (gcc)
    2. GNU Make (make)
    +
    3. GNU Autoconf


    ----------------
    ටර්මිනලය තුළම කියවන්න නම්,

    $ less INSTALL

    Simple plan than cats, dogs & more pipes
    $ cat INSTALL | more -d

    -------------------------
    මම නං nmap පාවිච්චි කරන්නෙ අනුන්ගෙ ජාල audit කරන්න

    Naughty

    ReplyDelete
  4. ලිනක්ස් මත වැඩකරන නවකයින්ට ඉතා අගනා ලිපියක්. එත් එක්කම පොඩි අදහසකුත්..
    මේකේ Ubuntu/Debian පද්ධති මත වින්‍යාසගත කිරීම (configuration) කේත සම්පාදනය (compilation) වගේ දේවල් ඔක්කොම කරගන්න අවශ්‍ය මෘදුකාංග ටික ස්ථාපනය කරගන්න
    apt-get install gcc make
    කරනවට වඩා මෘදුකාංග ටිකයි library ටිකයි ඔක්කොම එක පාරෙන්ම ස්ථාපනය කරගන්න පුළුවන් build-essential කියන මෘදුකාංග (package) එක විතරක් ස්ථාපනය කරල
    sudo apt-get install build-essential

    ReplyDelete
  5. ස්තුතියි. වැඩේ හරියටම සෙන්ටර් වෙන්න විවේක තියන වෙලාවක අත්හදාබලන්නම ඕන.

    සබැඳියට ස්තුතියි!

    ReplyDelete
  6. අපූරුයි...

    nmap ගැන, බලන්න මේක පාවිච්වි කරල තියනවද කියලා.

    ReplyDelete
  7. "සම්පාදනය කළ මෘදුකාංගයක් නැවත මූල කේතය බවට පෙරලන්න හැකියාවක් නැහැ. හැකියාවක් තිබුණත් එය පහසු වැඩක් නෙවෙයි."

    අපිට operating systems විෂය කරන චමත් සර් නම් කියන්නෙ. තමන් ළඟ මෘදුකාංගය තියනව කියන්නෙ තමන් ළඟ source code එක තියනව කියන එකලු. මෘදුකාංගයක් assembly වලට ලේසියෙන්ම නැවත හරවන්න පුළුවන් tools තියනව කියලයි ඔහු කිව්වෙ. C වලට වගේ ගන්න පුළුවන් දියුණු toolsනුත් තියනවලු. ඔහු කියන්නෙ ඒ නිසා windows licence එකේ decompile කරන්න තහනම් කියල තිබුනත් වයිරස් ලියන අය windows වල ආරක්ෂාවෙ පතරංග සිදුරු තියන තැන් හොයා ගන්නෙ ඒ විදිහට නැවත source code එක ගැනීමෙන්ලු. අපිට පහුගිය දවස් වල සර් assignment එකක් තිබ්බා.(එකක් කිව්වෙ හැම සතියකම තියන assignment පෝලිමෙන් එකක්) ඒකෙ සර් අපිට සර් ලියපු code එකක කොටසක් දීල නොලියූ එක කොටසක් අපිට ලියන්න කිව්ව(user level thread package එකක්) මේ code එක object file විදිහට අපිට run කරල බලන්න වත් සර් අපිට දුන්නෙ නෑ. එහෙම අපිට නොදුන්නෙ අපි decompile කරල source code එක බලයි කියල. :D

    වැදගත් ලිපියක් එළ!....

    ReplyDelete
  8. මුලින්ම ඔබ කරන සමාජ මෙහෙවර අගය කරනවා.
    මම නම් තාම ලිනක්ස් පාවිච්චිකරල නෑ. දන්නැති හින්ද අහන්නේ..
    වින්ඩෝස් වගේ Command Prompt එකක සහයක් නැතුව සියලු වැඩකටයුතු කරගන්න පුලුවන් තත්වයකට ලිනක්ස් තාම දියුනු වෙලා නැද්ද?

    ReplyDelete
  9. @Duminda,
    ස්තුතියි මචෝ.. :)

    @රොකියා,
    ඔය අහන්නෙ clone කරන එක වගෙ දෙයක් ගැන නේද? Machine Architecture එක, processor සමාන නම් නැවත කම්පයිල් කිරීමක් අවශ්‍ය වෙන එකක් නෑ. කම්පයිල් කරලා එක ක්ලික් එකෙන් Install වෙන පැකේජ හදලා තියෙන ඒවයෙත් x86 / amd64 ආදී විධියට වෙන වෙනම architecture සඳහා වෙන වෙනම නිකුතු තියෙන බව දැකල ඇති. මේ එක architecture එකක් මත නිවැරදිව ක්‍රියාත්මක වෙන මෘදුකාංගයක් සමහරවිට වෙන architecture එකක් මත නිවැරදි ක්‍රියාකාරීත්වය නොදක්වන්න පුළුවන්.

    @Chanaka Aruna Munasinghe, ප්‍රබෝධ ශ්‍රීමාල්,
    ඌණපූරණ කළාට ස්තුතියි. :)

    @බුධාජීව,
    එළස්! :)

    @änthräX,
    ස්තුතියි ඔත්තුවට. මේක nmap වලට වෙබ් frontend එකක් වගෙ. අදහසත් නරකම නෑ.. ;)

    @සුසිත,
    ස්තුතියි පැහැදිලි කිරීමට. C වලට හරවන්න පුළුවන් දියුණු tools පවා තියෙන බව මම දැනගෙන හිටියෙ නෑ.

    @Anonymous,
    ඇත්තෙන්ම දියුණුයි. නවීන ඩෙස්ක්ටොප් ලිනක්ස් පද්ධති බොහොමයක එදිනෙදා වැඩ කටයුතු විධාන අතුරුමුහුණතේ සහයක් නැතුව කරගන්න පුළුවන්. දැනට එදිනෙදා පාවිච්චි වෙන මෘදුකාංග බොහොමයක් installer පැකේජ ලෙස සකස් කර තිබෙනවා. කලාතුරකින් හමු වන මෘදුකාංගයක්/ driver එකක් තමයි මේ විධියට මූල කේත විධියට බෙදා හරින්නේ.
    මෘදුකාංග බෙදාහැරීම පැත්තෙන් කිව්වොත්, ‍මේ මෘදුකාංග වාණිජ මෘදුකාංග නෙමෙයි. බොහෝ වි‍ට ලාභ අපේක්ෂාවෙන් තොරයි. ඉතින් ආර්ථිකය පැත්තෙන් ලොකු තල්ලුවකුත් නැතුව ලස්සනට පැක් කරලා Installer විධියට මේ මෘදුකාංග ලබා දීම අපේක්ෂා කරන එක කොයි තරම් දුරට සාධාරණද කියලා ගැටළුවකුත් මතු වෙනවා.
    ප්‍රතිචාරයට ස්තුතියි. :)

    ReplyDelete
  10. බොහොම වැදගත් ලිපියක්. ගොඩක් දේවල් ඉගෙනගත්තා. ස්තුතියි!

    ReplyDelete
  11. @තමීර,
    ස්තුතියි කමෙන්ට් එකට. :)

    ReplyDelete

Facebook ප්‍රතිචාර