#01 Linux History And Basic Knowledges
- အားလုံးပဲ မင်္ဂလာပါဗျာ ကျွန်တော် ဒီ post လေးမှာတော့ introduction အနေနဲ့ Linux ကို စတင် လေ့လာတဲ့အခါမှာ သိထားသင့်တဲ့ အကြောင်းအရာလေးတွေကို ပြောပြပေးသွားပါမယ်။
What is Open Source?
-
Open Source ကို အလွယ် ပြောရမယ်ဆိုရင် Software တစ်ခုသည် Publicly လူတိုင်း အခမဲ့ အသုံးပြုနိုင်အောင် ဖြန့်ဝေပေးထားတဲ့အပြင်၊ ထို Software ရဲ့ Source Code တွေကိုလည်း လူတိုင်း ကြည့်နိုင်တယ်၊ ပိုမို ကောင်းမွန်အောင် ပြုပြင်နိုင်တယ်၊ နောက်ပြီး ကိုယ် ပြုပြင်လိုက်တဲ့ Source Code ကို လည်း အခမဲ့ စိတ်ကြိုက် ပြန်လည် ဖြန့်ဝေ နိုင်တာ ဖြစ်ပါတယ်။
-
Open Source Project တစ်ခုသည် အခမဲ့ ရတဲ့အပြင် ထို Project ရဲ့ Source Code တွေကိုလဲ လူတိုင်း လွတ်လွတ်လပ်လပ် ကူးယူ၊ ပြန်လည် ဖြန့်ဝေ အသုံးပြုခွင့်ပေးထား ဖြစ်ပါတယ်။
-
ဒါကြောင့်လည်း Community အတွက် အကျိုးရှိတဲ့ လူတိုင်း အခမဲ့ အသုံးပြုနိုင်တဲ့ Open Source Project တစ်ခုဖြစ်တဲ့ Linux Kernel ကို ပိုမို ကောင်းမွန်အောင် Linus Torvalds အပါအဝင် ကမ္ဘာတစ်ဝန်းမှာရှိတဲ့ Developers များက ဝိုင်းဝန်း Contribute ပြုလုပ်နေကြတာ ဖြစ်ပါတယ်။
-
Linux Repository ဒါကတော့ Linus Trovalds ရဲ့ Linux Project Repository ဖြစ်ပါတယ်။
What is Linux?
-
Linux ကို 1990 အစောပိုင်း ကာလတွေမှာ Finnish-American Software Enginner တစ်ယောက် ဖြစ်တဲ့ Linus Torvalds ကနေ စတင် Develop ပြုလုပ်ခဲ့တဲ့ Operating System (
Kernel
) တစ်ခုဖြစ်ပါတယ်။ -
Linus Torvalds သည် 1990 ခုနှစ်တွင်၊ ဖင်လန်နိုင်ငံ၊ Helsinki တွင် ကျောင်းတက်နေဆဲ ကာလတွေမှာ
UNIX
Operating System နဲ့ ဆင်တူတဲ့ ကိုယ်ပိုင် opertating System တစ်ခု တစ်နည်းအားဖြင့်Kernel
Project တစ်ခုကို စတင်ပြီး ရေးသားခဲ့တာ ဖြစ်ပါတယ်။ -
အဲ့ဒီ အချိန်တွေတုန်းက Computer တွေမှာ အသုံးပြုနေတဲ့
UNIX OS
သည် အခမဲ့ မဟုတ်တဲ့ အတွက် ကြောင့် လူတိုင်း အခမဲ့ အသုံးပြုနိုင်တဲ့ Operating System တစ်ခုကို တည်ဆောက်ခြင်ခဲ့တာ ဖြစ်ပါတယ်။ -
အဲ့ဒီအချိန်တုန်း Linus Torvalds စတင်တည်ဆောက်ခဲ့တာသည် Operating System တစ်ခု လည်ပက်ဖို့ရန်အတွက်လိုအပ်တဲ့ Core Components တွေ အဓီက ပါဝင်တဲ့
Kernel
ကိုပဲ တည်ဆောက်ခဲ့တာ ဖြစ်ပါတယ်။ -
နောက်ပြီး သူ့ရဲ့
Kernel
နဲ့ ပေါင်းစပ် အသုံးပြုနိုင်ဖို့ရန်အတွက် Operating System တစ်ခုရဲ့ တစ်ခြားလိုအပ်တဲ့ အစိတ် အပိုင်းတွေ ဖြစ်တဲ့ ဥပမာ Daemon (Background Process), Graphical Server , Desktop Environment , Applications, Libraries,Software Packges, စတာ တွေပါဝင်လာ နိုင်ဖို့ရန်အတွက် တခြား Developers တွေကိုပါ သူ့ရဲ့ Kernel project မှာ ပါဝင် Contribute လုပ်ဖို့ရန်အတွက် ဖိတ် ခေါ်ခဲ့တာ ဖြစ်ပါတယ်။ -
Linus Torvalds သည် သူ့ရဲ့
Linux Kernel
Version 0.02 ကို Open Source Project တစ်ခုအဖြစ် 1991 ခုနှစ်မှာ စတင်ပြီး public ကို release ပြုလုပ်ခဲ့တာဖြစ်ပါတယ်။ Version 1.0 ကို တော့ 1994 ခုမှာ release ပြုလုပ်ခဲ့ပါတယ်။
Linux သည် Open Source Kernel Project တစ်ခု ဖြစ်ပါတယ်။
## ##
What is kernel?
- Kernel ဆိုတာ ဘာလဲ လေ့ လာ ကြည့်ရအောင်။
- Kernel ဆိုတာက Operating System တစ်ခုရဲ့ အရေးကြီး တဲ့ အစိတ် အပိုင်းတစ်ခုပဲ ဖြစ်ပါတယ်။
- User အသုံးပြုနေတဲ့ Shell Environment နဲ့ Hardware အစိတ် အပိုင်း နှစ်ခုကြားမှာ အပြန်အလှန် interacting လုပ်ပေးနေတဲ့ Layer တစ်ခုပဲ ဖြစ်ပါတယ်။
- Kernel ထဲမှာ Computer တစ်လုံးရဲ့ Hard Disk Drives, Network Cards, RAMs, etc.. အစရှိတဲ့ Hardware Devices တွေကိုအသုံးပြုနိုင်ဖို့ မဖြစ်မနေ လိုအပ်တဲ့ Basic Drivers Modules တွေအပြင် လိုအပ်တဲ့ Service တွေ၊ application တွေသည်လည်း Kernel ထဲ မှာ preinstalled လုပ် ထားတာ ဖြစ်ပါတယ်။
What is GNU Project?
-
Linux ကို စတင်လေ့လာတဲ့အခါမှာ GNU Project အကြောင်းကလည်း သိထားသင့်ပါတယ်။
-
American Software Developer တစ်ယောက် ဖြစ်တဲ့ Richard Stallman နဲ့ The Free Software Foundation (FSF) ကလည်း
GNU
( GNU’s Not Unix ) လို့ခေါ်တဲ့ UNIX နဲ့ ဆင်တူတဲ့ open-source operating system ကို 1984 January လောက်ကတည်းကGNU Project
အဖြစ် စတင်ခဲ့တာ ဖြစ်ပါတယ်။ -
GNU Project
မှာလည်း 1990 ကတည်းကGNU Hurd
လို့ခေါ်တဲ့ ကိုယ်ပိုင်Kernel
တစ်ခု ရှိခဲ့ပါတယ်။ Linux Kernel မစတင်မှီ ကတည်းက ဖြစ်ပါတယ်။ -
Linux Kernel
ထွက် ပေါ်လာ ပြီး နောက်ပိုင်းမှGNU Hurd
Kernel Development က လူ စိတ်ဝင်စား မှု လျော့နည်းသွားခဲ့တာ ဖြစ်ပါတယ်။ -
GNU Hurd
သည် Unix OS ကို based ယူပြီး တည်ဆောက် ထားတဲ့ Open Source OS တစ်ခုဖြစ်ပြီး operating system အတွက်လိုအပ်တဲ့ utilities, software packages, applications, libraries, development tools, games စတာတွေ တစ်ခါတည်း ပါဝင်တာ ဖြစ်ပါတယ်။ တနည်းအားဖြင့်GNU Packages
တွေလို့လည်း ခေါ်ပါသေးတယ်။ -
GNU
သည် အစပိုင်းမှာတော့ FSF ရဲ့အစိတ်အပိုင်း တစ်ခုဖြစ်ပြီးGNU
ရဲ့ရည်ရွယ်ချက်သည် သူရဲ့GNU Packages
တွေကို Unix Operating System Platform တွေ နဲ့ ပေါင်းစပ်ပြီး Unix OS တွေကို အသုံးပြုရတာ ပိုမို ကောင်းမွန်လာ အောင် ပြုလုပ်ဖို့ရန်အတွက် ဖြစ်ပါတယ်။ -
နောက် ပြီး
GNU Project
သည် သူ့ရဲ့ OS အပြင် Software Packages , Utilities , Libraries စတာ တွေကိုလည်းGNU Packages
ဖြစ် အခမဲ့ လွတ်လပ်စွာ အသုံးပြုနိုင်စေရန်အတွက် ဖြန့်ဝေ ထားတာ ဖြစ်ပါတယ်။ -
ဒါကြောင့် Linus Torvalds သည် လည်း
GNU Packages
တွေကို သူရဲ့Linux Kernel
နဲ့ ပေါင်းစပ် ကာ Complete SystemOS
တစ်ခု အဖြစ်GNU/Linux
OS ဆိုပြီး develop ပြုလုပ်ခဲ့တာဖြစ်ပါတယ်။
ဒါကြောင့်
Linux
ကို အတိအကျ အားဖြင့်GNU/Linux
လို့ ခေါ် တာ ဖြစ်ပါတယ်။
## ##
What is GPL License?
- ကျွန်တော်တို့
GNU General Public License
အကြောင်းကို ထပ်ပြီး လေ့လာ ကြည့်ရအောင်။ - GPL သည် General Public License ဖြစ်ပါတယ်။ တစ်နည်းအားဖြင့် GNU General Public License လို့လည်း ခေါ်ပါသေးတယ်။ ဒါကြောင့် GPL ကို GNU GPL လို့ လည်း အတို ခေါ်ကြပါသေးတယ်။
-
1992 မှာ Linus Torvalds သည်
GNU/Linux
OS ကိုGNU Project
ရဲ့ General Public License (GPL) အောက်မှာ Re-Licensed ပြုလုပ်ခဲ့ ပြီး Open Source Linux OS တစ်ခု အဖြစ် Public ကို ဖြန်ဝေ ခဲ့တာ ဖြစ်ပါတယ်။ - Software အဖြစ်ထွက်ပေါ်လာတဲ့ Linus Trovalds ရဲ့ Linux OS အတွက် License ကို Linus Trovalds သည် အခြား Company တွေရဲ့ မူပိုင်ခွင့် ကူးချခြင်းမှကာကွယ်ရန်အတွက် GPL ရဲ့လက်အောက်မှာ Licensing ပြု လုပ်ခဲ့ တာ ဖြစ်ပါတယ်။
- ဒါဆိုရင်
GPL License
ဆိုတာ ဘာလဲ? GPL License
သည်GNU Project
ရဲ့ Public License ဖြစ်ပါတယ်။GPL License
အောက်မှာ Licensing ပြုလုပ်ထားတဲ့ Project တိုင်း Software တိုင်းကို- လူတိုင်း လူတိုင်း ရည်ရွက်ချက် အမျိုးမျိုးနဲ့ လွတ်လွတ်လပ်လပ် အသုံးပြုနိုင်ပါတယ်။
- လူတိုင်း လူတိုင်း ကိုယ့်ရဲ့ လိုအပ်ချက်ပေါ်မူတည်ပြီး လိုအပ်သလို ပြန်လည် ပြုပြင်နိုင်ပါတယ်။
- လူတိုင်း လူတိုင်း ကိုယ့်ပြုပြင်လိုက်တဲ့ Changes ကိုလည်း ဘယ်သူ့ကို မဆို လွတ်လပ်စွာ ပြန်လည် ဖြန့်ဝေနိုင် တာ ဖြစ်ပါတယ်။
-
ကိုယ် ပြုပြင် ပြောင်းလဲ လိုက်တဲ့ Changes သည်လည်း GPL License အောက်မှာဘဲ ပြန်လည် Release ပြုလုပ်ရမှာ ဖြစ်ပါတယ်။
- ဒါကြောင့် Open Source Project or Softwares တွေကို နည်းနည်းလေးပဲပြုပြင်ပြီး ဈေးကြီးကြီးနဲ့ ပြန်လည် ရောင်းချလို့မရအောင် Companies တွေကို
GPL License
ကို အသုံးပြုပြီး ပိတ်ပင်လိုက်တာ ဖြစ်ပါတယ်။ -
အခုလက်ရှိ နောက်ဆုံး
GNU General Public License (GPLv3)
ကို June 29, 2007 မှာ Published ပြုလုပ်ခဲ့တာ ဖြစ်ပါတယ်။ GPLv3 License
အကြောင်းကိုတော့ ဒီ Link မှာ အသေးစိတ် သွားရောက် ဖတ်နိုင်ပါတယ်။
# #
The First Distributions
- အစောပိုင်း ကာလတွေတုန်းမှာဆိုရင် User တွေသည် Linux ကို တင်ပြီး အသုံးပြုတော့မယ်ဆိုရင် အရင်ဆုံး Linux Kernel Source Code ကို Download အရင် ပြုလုပ်ရပါတယ်။
- နောက်ပြီးမှ Linux Kernel နဲ့ တွဲပြီးတော့ အသုံးပြုမဲ့ အခမဲ့ရတဲ့ GPL Software Packages တွေ ထပ်မံ Download ပြုလုပ်ရပါတယ်။
- ထို Download ပြုလုပ်လို့ရလာတဲ့ Software Packages တွေကို ကိုယ့်အသုံးပြုမဲ့ Linux Kernel နဲ့ တွဲဖက်အသုံးပြုနိုင်ဖို့ရန်အတွက် User ကိုယ်တိုင် Build tools ကို အသုံးပြုပြီး Compile ပြုလုပ်ရပါတယ်။
- Compilation Process ပြီးပြီဆိုမှ ကိုယ့်စိတ်ကြိုက် Package တွေပါဝင်တဲ့ Linux OS iso image file တစ်ခုကို ရလာပြီး အသုံးပြုရတာ ဖြစ်ပါတယ်။
- User ကိုယ်တိုင် Linux OS iso image file တစ်ခုကို create ပြုလုပ်ပြီးမှ အသုံးပြုလို့ ရတယ်လို့ နားလည်လို့ရပါတယ်။
- ထိုကဲ့သို့ Compilation Process သည် Linux OS ကို အသုံးပြုမည့် Normal User တိုင်း ပြုလုပ်နိုင်ဖို့ မလွယ်ကူပါဘူး။
- ဒါကြောင့် ပုံမှန် User တွေအတွက် အလွယ်တကူ အသုံးပြုနိုင်တဲ့ လိုအပ်တဲ့ Software Packages, Development Tools, Drivers , Libraries, Desktop Environment, Tools အစရှိတာ တွေ တစ်ခါတည်း Precompiled ပြုလုပ်ပြီးသား Ready To Use ပါဝင် Linux OS Image တွေကို Build လုပ်လာကြတာ ဖြစ်ပါတယ်။
- ထိုကဲ့သို့ မတူညီတဲ့ Softwares , Tools, Drivers,Libraries, Desktop Environment အစရှိတာတွေ အမျိုးမျိုး ပါဝင်လာတဲ့ Linux OS Image တွေကို
Linux Distro
တွေ အဖြစ် နာမည် အမျိုးမျိုး တပ်ကာ Build လုပ် လာ ကြတာ ဖြစ်ပါတယ်။ - ဒါကြောင့်မို့လို့ ကျွန်တော်တို့ အခုလက်ရှိအချိန်မှာ ကိုယ်အသုံးပြုမဲ့ Purpose အပေါ်မူတည်ပြီး
Linux Distro
တွေကို ရွေးချယ် အသုံးပြုလာကြတာ ဖြစ်ပါတယ်။ - ပထမဦးဆုံး Linux Distribution ကိုစတင်ခဲ့တဲ့ Patrick Volkerding သည် 1993 မှာ Slackware Distribution ကိုစတင်ခဲ့တယ်။
- Volkerding ရဲ့ Slackware Linux သည် တစ်ကမ္ဘာလုံးမှာ အသုံးပြုနေတဲ့ Servers တွေအများစုမှာ Linux OS ကို စတင်ပြီး တွင်တွင်ကျယ်ကျယ် အသုံးပြုလာစေခဲ့တာ ဖြစ်ပါတယ်။
Linux Turning Mainstream
- ဘာကြောင့် Linux က အသုံးပြုမှု များပြီး အောင်မြင်လာရသလဲ?
- 1993 ကနေ 1998 အတွင်း Market မှာ Linux Operating System တွေသည် နေရာအရမ်းရယူလာပါတယ်။
- ထိုကဲ့သို့ Linux အားအသုံးပြုလာရခြင်းသည် ထိုအချိန်မတိုင်မှီက အသုံးပြုခဲ့တဲ့ Unix Operating Systems တွေသည် အလွန် ဈေးကြီးပေးပြီး သုံးရတာ ဖြစ်တဲ့အတွက် ကြောင့် သူနဲ့ တူတဲ့ Linux OS သည် Free ရတဲ့အပြင် Unix OS မှာတွဲသုံးခဲ့တဲ့ Software တွေသည်လည်း Linux မှာပါအလွယ်တကူ အသုံးပြုရနိုင်လာလို့ ဖြစ်တယ်။
- Linux Operating System အောင်မြင်လာရခြင်းကြောင့် ကမ္ဘာပေါ်မှာ Linux Distributions တွေသည် ထောင်နဲ့ချီ ပြီး ပေါ်ပေါက်လာစေခဲ့တာ ဖြစ်ပါတယ်။