Wednesday, October 19, 2011

Windows ရဲ ့ zip နဲ ့တူတဲ့ Linux ရဲ ့ TAR


ပထမဆုံး tar နဲ႔ tar.gz အေၾကာင္းအက်မ္းဖ်င္း ေျပာျပမယ္ဗ်ာ။
         tar ဆိုတာ Tape Archive ကို အတိုေခၚတာပါ (Tarball File )။ Windows က zip လိုပဲ ဖိုင္ေတြခ်ံဳ႕ထားတဲ့ Format လို႔ အလြယ္ေျပာႏိုင္ပါတယ္။
Tar မွာမွ ထပ္ခြဲႏိုင္တာက
         *.tar.gz သူ႕ကို Gzip နဲ႔ ခ်ဳံ႕ထားတယ္ေပါ့ဗ်ာ။ *.tar.gz အျပင္ *.tgz ဆိုလဲ အတူတူပါပဲ သုံးလို႔ရပါတယ္။
*.tar.bz2 သူက bzip2 နဲ႔သုံးထားတယ္ေပါ့။* .tbz *.tb2 လို႔ေတြ႕လဲ တူတူပဲလို႔မွတ္။

         *.tar.Z သူကလဲ *.Z နဲ႔ tar ေပါင္းသုံးတာေပါ့။ .z ကေတာ့ lzw lzc စသျဖင့္ရွိပါတယ္။ *.tarz ဆိုလဲ တူတူပဲဗ်။
         *.tar.lzma ဆိုတာ 7zip မွာသုံးတဲ့ LZMA နဲ႔ တူတာေပါ့ဗ်ာ။ ေနာက္က Level ေတြေတာ့ရွိပါတယ္။ *.tlz နဲ႔ေတြ႕နိုင္ပါတယ္။ lzma ကို Slax မွာသုံးတယ္။
         *.tar.xz ေျပာရင္ေတာ့ အေပၚကလိုပဲ txz လဲ အတူတူပဲ။
         ကဲ Extension ေတြေတာ့ သိၿပီ ဘာေၾကာင့္ သုံးလဲ ဆုိေတာ့ Linux မွာ Binary နဲ႔ Source ဆိုၿပီး Software ေတြကို ရယူႏိုင္တယ္ Binary ကေတာ့ ReadyMade Software ေတြေပါ့။ Windows မွာ EXE File ေတြလိုေပါ့။

Binary File
         Linux မွာေတာ့ Debian အတြက္ဆိုရင္ *.deb ဖိုင္ RedHat ဆိုရင္ *.rpm ဖိုင္ေတြနဲ႔လာရင္ တခါတည္း တန္းသြင္းလို႔ရတဲ့ Binary File ေတြေပါ့။
Deb ကို ဘယ္မွာသုံးလဲ
         Deb ဖိုင္ေတြကို ဘယ္မွာသုံးလဲဆိုရင္ Debian Distro ေတြမွာ သုံးတာေပါ့။
         Debian သည္ Deb ကို သုံးသည္။ dpkg (Debian Package Manager) ကို အသုံးျပဳတယ္။
         (aptitude နဲ႔ synaptic ကိုလည္း သုံးႏိုင္ပါတယ္)
         Terminal (similar of Windows CMD) ကေန Update/Install လုပ္မယ္ဆိုရင္ APT (Advanced Packaging Tool) နဲ႔ သုံးပါတယ္။ Debian Base Distro ျဖစ္တဲ့ Ubuntu ဟာလည္း *.deb ကိုပဲ သုံးတာပါပဲ။
         Ubuntu မွာ Software သြင္းဖို႔ ေရးေပးတာေတြ မွာ apt-get install လိုမ်ဳိးေတြ ခဏခဏေတြ႕ရမွာပါ။ Aptနဲ႔ သုံးတာပါ။

RPM ကို ဘယ္မွာသုံးလဲ
         RPM ဆိုတာ RedHat Package Manager ပါ။
         RedHat Base Distro ေတြမွာ သုံးပါတယ္။ ဥပမာ Fedora ေပါ့။
         Debian မွာ apt သုံးသလိုပဲ RPM မွာ YUM (Yellowdog Updater, Modified) ဆိုတာ သုံးပါတယ္။deb မွာ Package Manager ဟာ dpkg ကို အသုံးျပဳၿပီး rpm မွာေတာ့ rpm (RedHat Package Manager) ကို သုံးပါတယ္။

Alien ဆိုတာ
         deb နဲ႔ rpm ဟာ မတူညီတဲ့ Distro (ဥပမာ Ubuntu နဲ႔ Fedora)ေတြေပၚမွာ RUN ေနၾကေပမယ့္တူညီတဲ့ (Linux OS) ျဖစ္ေနျပန္ပါတယ္။ ဒီေတာ့ တစ္ခါတေလ RPM ကို Debian ေတြေပၚမွာ သုံးဖို႔လိုတာမ်ဳိး deb ကို Redhat တို႔ Fedora တို႔မွာ အသုံးျပဳဖို႔လုိလာရင္ Package ေတြ လိုက္ရွာ ရတာ အလုပ္႐ႈပ္ပါတယ္။ အဲႏွစ္ခုကို အျပန္အလွန္ ေျပာင္းလဲေပးႏိုင္တာကေတာ့ Alien ပါပဲ။

RPM နဲ႔ Deb ေတြက Binary
         အေပၚမွာ ျပထားတဲ့ deb ေတြ rpm ေတြဟာ Binary ဖိုင္ေတြဆိုတာ ကြ်န္ေတာ္တို႔ သိရၿပီ။ Binary ဆိုတာေတာ့ သိတဲ့အတိုင္းပဲ အလုပ္ရႈပ္သက္သာေအာင္ ပုံေသလုပ္ေပးလိုက္တာ။ RPM ဆိုရင္လဲ Version ေတြေပၚ မူတည္ၿပီး အကုန္လုံးသုံးဖို႔ မျဖစ္နုိင္ဘူး။ ဥပမာ Fedora Core 10 အတြက္ ထားတဲ့ဟာက Core 5 မွာ သုံးလို႔မရႏိုင္ ဘူး။ Deb မွာလဲ Ubuntu 8.10 အတြက္ေရးထားရင္ Ubuntu 9.10 နဲ႔အျခား Debian ေတြအတြက္ ရခ်င္မွ ရလိမ့္မယ္။ အဆင္မေျပတဲ့ Error တစ္ခုခုေတြ႕ရင္လဲ အေၾကာင္းျပန္ၾကားၿပီး ကိုယ္နဲ႔ကိုက္ညီတဲ့ binary ထြက္ တာ ေစာင့္မလား။ ကိုယ့္ဘာသာကိုယ္ Setting ေတြ လိုက္ခ်ိန္း၊ လိုတာေတြ လိုက္ျပင္လုပ္ခ်င္လဲလုပ္ေပါ့။ Deb/RPM ေတြက သြင္းတုန္းမွာ Customize လုပ္ခြင့္ နည္းပါ တယ္။ ဥပမာ Software ကို bin ေအာက္မွာ ထားမလား home ေအာက္မွာထားမလား ေရြးခ်ယ္ခြင့္ ပါ၀င္မႈမ်ဳိး အလြန္နည္းပါးပါတယ္။ Windows Software ေတြလိုပါပဲ။ စိတ္တိုင္းက်ျပင္ဆင္ခြင့္ သိပ္မရႏိုင္ပါဘူး။

Tar ကိုဘယ္ Distro ေတြမွာ သုံးလဲ
         Tar ကို ဘယ္ Distro ေတြသုံးလဲမေျပာခင္ tar ဖိုင္ ထဲမွာ ဘာေတြပါလဲ ၾကည့္ရေအာင္။ tar ကို Data Compressing လုပ္ခ်င္ရင္သုံးတဲ့အတြက္ tar ဖိုင္မွာ Data ေတြ ထည့္ႏိုင္တယ္။ tar ေအာက္မွာ Source ေတြပါ ပါတယ္။ အဲဒီ source ေတြက compiler နဲ႔ျပန္ျပီး Install လုပ္နိုင္တယ္။ ဘာေတြအတြက္ Install လုပ္နိုင္လဲဆိုရင္ OSS Source ေတြနဲ႔ Debian, RedHat, Unix,(Not sure) Mac ေတြအတြက္ Install လုပ္ႏိုင္တယ္။ (အထဲမွာက Programming Language ကဘယ္ C, C++, GCC, Python, PHP စသျဖင့္ မည္သည့္ Language မဆို ျဖစ္ႏိုင္ တယ္) အထဲမွာပါတဲ့ Source ေတြကိုလည္း ၾကည့္႐ႈ ျပင္ဆင္ႏိုင္တယ္။ စက္နဲ႔ကိုက္ညီေအာင္ ျပင္ဆင္ၿပီးမွ Install လုပ္လုပ္ Binary ထုတ္ထုတ္ရတယ္။ အဲေတာ့ OSS ဆိုတဲ့ အရသာကို ေသေသခ်ာခ်ာသိႏိုင္မွာ ... သို႔ေသာ္ Binary ေတြ သြင္းရတာထက္ေတာ့ လက္ေပါက္ကပ္လိမ့္ မယ္။ သုံးရတာၾကာရင္ေတာ့ Linux သုံးရတာ ၾကာတဲ့လူ Windows ထက္ Linux ကို ခင္တြယ္လာသလိုပဲ Binary ေတြထက္ Source ေတြကို ပိုျမတ္ႏိုးလာႏိုင္တယ္။ ၾကား ကာလမွာေတာ့ ငိုမလိုရီမလိုေတာင္ ျဖစ္သြားႏိုင္တယ္။
         ဒီေလာက္ဆိုရင္ tar ကို ဘယ္ Distro ေတြသုံးလဲ ဘာေၾကာင့္သုံးလဲ သိႏိုင္ပါၿပီ။

tar (source)
                  |
                 /|\
            |     |      |
         RPM   |     DEB
           |     /\     |
    RedHat          Debian
 
         ဖိုင္တစ္ဖိုင္ကို tar လုပ္မယ္ ဆိုပါေတာ့ tar -cvf tarfilename.tar target.txt အေပၚက -cvf ရဲ႕ အဓိပၸာယ္ ကို ရွင္းျပပါမယ္။
-c       Create
-v       Verbose
-f       File
         ေနာက္ဆုံး target.txt ဆိုတဲ့ဖိုင္ကို tarfilename. tar ဆိုတဲ့နာမည္နဲ႔ tar လုပ္မယ္ လို႔ ဆိုလိုတာပါ။ အကယ္၍ သုံးေလးဖိုင္ဆို ေနာက္မွာ Space ခုန္ၿပီး ႐ိုက္သြား႐ံုပါပဲ။ သုံးဖုိင္႐ုိက္ရင္ သုံးဖိုင္၊ ေလးဖိုင္႐ိုက္ရင္ ေလးဖိုင္ အကုန္ ေပါင္းၿပီး tar လုပ္ေပးပါလိမ့္မယ္။
         အကယ္၍ တစ္ဖိုင္ ႏွစ္ဖိုင္တည္း မဟုတ္ဘူး txt နဲ႔ ဆုံးတဲ့ ဖိုင္ေတြ အကုန္လုံးဆိုပါဆို႔။
         tar -cvf alltxtfile.tar *.txt ဆိုရင္ရပါၿပီဗ်ာ။ tar ဖိုင္ထဲမွာ txt ဖိုင္ေတြ အကုန္လုံးပါတာ ေတြ႕ရပါလိမ့္မယ္။
file ေတြ tar လုပ္ခ်င္တာမဟုတ္ဘူးဗ်။ Folder ေတြကို tar အေနနဲ႔ Backup လုပ္ခ်င္တာ။ ရတာေပါ့ဗ်ာ tar -cvf home.tar home/
         ကဲ Home ေအာက္က ဖိုင္ေတြ Folder ေတြ အကုန္ ပါတဲ့ tar ဖိုင္ရၿပီေပါ့။
         လုပ္တာေတာ့ဟုတ္ပါၿပီ ျပန္ေျဖတာလည္း သိဦးမွ Gui မသုံးခ်င္ပါဘူးဆိုရင္ tar -xvf myfile.tar
-x extract ဆိုရင္ ေျဖတာေလးပါၾကည့္ရမွာေပါ့ဗ်ာ x ေလးပဲ ကြာတာေနာ္ ဘာမွ မခက္ပါဘူး။
         တျခား swith ေတြသိခ်င္ရင္ေတာ့ Online မွာ  တက္ရွာရေတာ့မွာေပါ့။ အဲလိုမဟုတ္ဘူးဗ်။ Offline မွာတင္ ဒီလိုေလး ၾကည့္လို႔ရပါတယ္။
         tar --help
         tar --usage
         info tar
         စသျဖင့္ ၾကည့္ႏိုင္ပါတယ္ခင္ဗ်ာ။