💻
ITmatic101 - MY
  • ITmatic101 - နည်းပညာဆိုင်ရာ Blog
  • ☕Linux/BSD
    • Linux distro-hopper ခရီးကြမ်း
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၁)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၂)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၃)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၄)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၅)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၆)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၇)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၈)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၉)
    • လူသုံးများ ရေပန်းစားသော GNU/Linux Distro များ အပိုင်း (၁၀)
    • Manjaro Linux အကြောင်းတစေ့တစောင်း
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၁)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၂)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၃)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၄)
    • GNU/Linux Desktop Environment များအကြောင်း အပိုင်း (၅)
    • TACACS+ နဲ့ Windows AD ကိုတွဲပြီး အသုံးပြုနည်း – အပိုင်း (၁)
    • TACACS+ နဲ့ Windows AD ကိုတွဲပြီး အသုံးပြုနည်း – အပိုင်း (၂)
    • FreeRADIUS နဲ့ PPPoE Authentication အပိုင်း (၁)
    • FreeRADIUS နဲ့ PPPoE Authentication အပိုင်း (၂)
    • Ubuntu မှာအလုပ်ဖြစ်သော tool နဲ့ application (၁၀) ခုအကြောင်း
    • Docker မိတ်ဆက် အပိုင်း(၁)
    • Docker မိတ်ဆက် အပိုင်း(၂)
    • Docker မိတ်ဆက် အပိုင်း(၃)
    • GNU/Linux ကိုဘာလို့ ပြောင်းသုံးသင့်သလဲ
    • GNU/Linux မှာသုံးတဲ့ CLI ကိုဘယ်လိုခေါ်ကြသလဲ
    • Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၁)
    • Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၂)
    • Linux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၃)
    • ပြတိုက်ထဲက SysVinit အကြောင်း
    • Open source သင်ခန်းစာများ အပိုင်း(၁)
    • Open source သင်ခန်းစာများ အပိုင်း(၂)
    • လေထုညစ်ညမ်းစပြုလာတဲ့ Linux ရဲ့ Ecosystem
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၁)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၂)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၃)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၄)
    • အသုံးဝင်သော Linux Certification များအကြောင်း အပိုင်း (၅)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၁)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၂)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၃)
    • Linux မှာသုံးတဲ့ GNU General Public License အကြောင်း အပိုင်း(၄)
    • Open Source ကောက်ကြောင်း – အပိုင်း(၁)
    • Open Source ကောက်ကြောင်း – အပိုင်း( ၂)
    • “မှားတဲ့ဘက်မှာ” – အပိုင်း (၁)
    • “မှားတဲ့ဘက်မှာ” – အပိုင်း (၂)
    • SELinux မိတ်ဆက်
    • Open Source Licenses များအကြောင်း – အပိုင်း (၁)
    • Open Source Licenses များအကြောင်း – အပိုင်း (၂)
    • Keepalived မိတ်ဆက် – အပိုင်း (၁)
    • Keepalived မိတ်ဆက် – အပိုင်း (၂)
    • Linux မှာ package manager တွေကိုဘယ်လိုအသုံးပြုသလဲ
  • 🚀Automation
    • Chef မိတ်ဆက် အပိုင်း(၁)
    • Wireguard ရဲ့ automated workflow
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) – အပိုင်း(၁)
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) – အပိုင်း(၂)
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) - အပိုင်း(၃)
    • အနားမသပ်နိုင် သေးတဲ့ Infrastructure as Code (IaC) - အပိုင်း(၄)
    • ကြုံတွေ့ရသမျှ Network Automation အနုပညာ အပိုင်း(၁)
    • ကြုံတွေ့ရသမျှ Network Automation အနုပညာ အပိုင်း(၂)
    • ကြုံတွေ့ရသမျှ Network Automation အနုပညာ အပိုင်း(၃)
    • Bash နဲ့ Network Configuration Management system တစ်ခုတည်ဆောက်ပုံ – အပိုင်း(၁)
    • Bash နဲ့ Network Configuration Management system တစ်ခုတည်ဆောက်ပုံ – အပိုင်း(၂)
    • FTP/TFTP server ပေါ်မှာ network config တွေကို auto backup လုပ်ပုံ – အပိုင်း (၁)
    • FTP/TFTP server ပေါ်မှာ network config တွေကို auto backup လုပ်ပုံ – အပိုင်း (၂)
    • Kickstart ကိုအသုံးပြုပြီး Custom ISO တွေဖန်တီးပုံ
  • ⚙️Networking
    • အဘယ့်ကြောင့် GNS3
    • ZeroTier မိတ်ဆက်
    • WireGuard အကြောင်းသိကောင်းစရာ
    • Linode VPS မှာကိုယ်ပိုင် Wireguard VPN server တစ်ခုတည်ဆောက်ပုံ
    • အဘယ်ကြောင့် MikroTik
    • VRRP ကို MikroTik မှာ setup လုပ်ပုံ
  • ☁️Virtualisation and Cloud
    • KVM မှာ virtual disk တွေကို ဘယ်လို resize လုပ်လို့ရသလဲ
    • Debian 12 ပေါ်တွင် Proxmox 8 ကိုဘယ်လို integrate လုပ်သလဲ
    • Promox ပေါ်မှာ VM template တွေကို cloud-init သုံးပြီး ဖန်တီးပုံ
    • Custom LXD container templates များကိုဘယ်လို import လုပ်သလဲ
    • Cloud ဆိုသည်မှာ
  • 🍒others
    • Git အကြောင်းသိကောင်းစရာ
    • Home Lab ရှိခြင်း အနုပညာ
    • ကိုယ့်လုံခြုံရေးအတွက် အသုံးပြုသင့်တဲ့ toolkit လေးများ
    • SSH Tunneling အကြောင်းသိကောင်းစရာ
    • အခြေခံ SSH workflow များ
    • SSH Certificate Based Authentication အကြောင်းတစေ့တစောင်း
    • နေ့စဉ်သုံး စိတ်ကြိုက် Application/Software လေးများ
    • Keyboard Size တွေအကြောင်းသိသမျှ
    • သက္ကရာဇ်၂၀၂၀ ခုနှစ်တွင်း နည်းပညာဆိုင်ရာ အမှတ်တရလေးများ
    • သက္ကရာဇ်၂၀၂၁ ခုနှစ်တွင်း နည်းပညာဆိုင်ရာ အမှတ်တရလေးများ
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၁)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၂)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၃)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၄)
    • Storage အကြောင်းတစေ့တစောင်း – အပိုင်း(၅)
    • အင်တာနက်မြန်မာစာ ယူနီကုဒ်ဇော်ဂျီ ပြဿနာ
    • CyanogenMod မိတ်ဆက် အပိုင်း(၁)
    • WikiLeaks ဆိုသည်မှာ အပိုင်း (၁)
    • WikiLeaks ဆိုသည်မှာ အပိုင်း (၂)
    • WikiLeaks ဆိုသည်မှာ အပိုင်း (၃)
  • 💀OffSec
    • ခုတ်မယ် ထစ်မယ် ပါးပါးလှီးမယ် OpenSSL
Powered by GitBook
On this page
  • Init ဆိုတာဘာလဲ
  • SystemV သို့မဟုတ် SysVinit သို့မဟုတ် SysV သမိုင်းကြောင်း
  • POSIX အကြောင်းတစေ့တစောင်း
  • SysV ရဲ့ UnixWare မှသည် Linus Torvalds ရဲ့ Linux ဆီသို့
  • ခေတ်သစ် Systemd
  • Systemd ဆိုတာဘာလဲ?
  • SystemV နဲ့ Systemd ဘာကွာသလဲ

Was this helpful?

  1. Linux/BSD

ပြတိုက်ထဲက SysVinit အကြောင်း

PreviousLinux Kernel အကြောင်း သိကောင်းစရာ အပိုင်း (၃)NextOpen source သင်ခန်းစာများ အပိုင်း(၁)

Last updated 1 year ago

Was this helpful?

Linux Format ရဲ့ August လ ထုတ် issue မှာပါလာတဲ့ ဆောင်းပါးလေး တစ်ခုကို စာရေးသူ စိတ်ဝင်စားလို့ ကောက်ဖတ်လိုက်ရာကနေ ဒီ post ကို ရေးဖို့ကို စိတ်ကူးမိပါတော့တယ်။ ဆောင်းပါကတော့ SysV (System 5 ရယ်လို့ Linux ကမ္ဘာမှာ ခေါ်ကြပါတယ်။ Roman နံပါတ် V ကို 5 လို့ ခေါ်ဆိုလိုက်ခြင်းဖြစ်ပါတယ်။) အကြောင်းကို သမိုင်းဝင် အချက်လေးတွေနဲ့ ဖွဲ့နွဲ့ပြီးတော့ ရေးထားလိုက်တာ စဖတ်လိုက်ကတည်းက လက်ထဲကမချချင်လောက်အောင် ကောင်းတဲ့ ဆောင်းပါတစ်ခုပါ။ ဆောင်းပါး အဖွင့်မှာ Devuan ဆိုတဲ့ Debian ကနေဆင်းသက်လာတဲ့ Linux distro တစ်ခုအကြောင်းနဲ့ စပါတယ်။ အဲ့ဒီ distro ကို စာရေးသူလည်း တခါမှ မကြားဘူးတော့ ဟိုရှာဒီရှာ နဲ့ လိုက်ပြီးတော့ ရှာဖတ်ရပါတော့တယ်။ နောက်တစ်ခု စိတ်ဝင်စားဖို့ကောင်းတဲ့ အချက်က Devuan ဟာ အခုအချိန်ထိ SysV သုံးထားတယ်ဆိုတာပါပဲ။ စာရေးသူ ကိုယ်တိုင် SysV နဲ့ သိပ်ပြီးတော့ မရင်းနှီးပါဘူး။ ကိုယ်တိုင်သုံးတဲ့ distro တွေအကုန်လုံးက systemd တွေနဲ့ ဖြစ်တဲ့ အတွက် တခါမှ SysV ဆိုတာဘာလဲလို့ စိတ်ကူးထဲ မရောက်လာခဲ့ပါဘူး။ သို့သော် ကိုယ့်အရှေ့ ကLinux ဆရာကြီးတွေကတော့ SysV ကောင်းတယ်လို့ လမ်းကြုံတိုင်း တိုက်တွန်းကြလွန်းလို့ စာရေးသူ အတွက် အစိမ်းသက်သက်ကြီးတော့လည်း မဟုတ်ပါဘူး။ ကိုယ်ကသိချင်လို့ မေးလိုက်ရင်လည်း SysV ကောင်းတယ်၊ secure ပိုဖြစ်တယ်လို့ ဆိုတာလောက်ပဲ ပြောပြောသွားတော့ စိတ်ထဲမှာ အများကြီးလည်း သိပ်မကျန်ခဲ့ပါဘူး။ အကျဉ်းချုပ်အားဖြင့်တော့ SysV ကို ရှေးဟောင်း Linux distro တွေမှာ သုံးတယ်လို့ဆိုတာလောက်ပဲ သိခွင့်ရခဲ့ပါတယ်။ ဒီတခါတော့ Linux Format Magazine မှာ ဆောင်းပါးတစ်ခု အနေနဲ့ ပါလာတော့ စိတ်ဝင်စားတာနဲ့ ဖတ်စမ်းရာကနေ ဒီ post ကို ရေးဖြစ်ပါတော့တယ်။ ပထမဆုံး အနေနဲ့ init ဆိုတာဘာလဲဆိုတာလေးနဲ့ စလိုက်ချင်ပါတယ်။

Init ဆိုတာဘာလဲ

GNU/Linux သုံးတဲ့ လူတိုင်းသိပါတယ်၊ init ဘာလဲဆိုတာကို။ Init ရဲ့အရှည်ကတော့ Initialization ပါ။ သူက Linux system ရဲ့ daemon သို့မဟုတ် process တစ်ခုဖြစ်ပြီး၊ Linux kernel စပြီးတော့ run တာနဲ့ ပထမဆုံး စတင် run ရတဲ့ parent daemon တစ်ခုဖြစ်ပါတယ်။ သူကနေမှ တဆင့် အခြားလိုအပ်တဲ့ daemon တွေကို ဆက်ပြီးတော့ run နိုင်တာဖြစ်တဲ့အတွက်၊ init မစနိုင်ရင် အခြားသော သက်ဆိုင်ရာ daemon တွေကို Linux system မှာ run လို့မရနိုင်ပါဘူး။ Linux system ကိုလုံးဝ shutdown လုပ်မှပဲ၊ init ရဲ့ လုပ်ငန်းစဉ်ကလည်း အဆုံးသတ်ပါတော့တယ်။ တခါတခါ Linux system မှာ boot မတက်နိုင်ရင် kernel panic ဆိုပြီးတော့ black screen ပေါ်မှာ error တက်လာတတ်ပါတယ်။ အဲ့ဒီ error ဟာ init ကို Linux kernel က မစနိုင်လို့ ပြတဲ့ error တစ်ခုပါ။ ပုံမှန်အားဖြင့် Linux distro တော်တော်များများမှာ kernel panic ဖြစ်ရင် kernel ကို update မလုပ်ခင်က အရှေ့ kernel release တစ်ခုကို ပြန်သွားလို့ ရအောင် snapshots တွေရှိပါတယ်။ လက်ရှိတစ်ခုရဲ့ အရှေ့တစ်ခုကို ရွေးလိုက်ပြီး boot ပြန်တက်လိုက်ရင် အဆင်ပြေသွားတက်ပါတယ်။ အနည်းဆုံးတော့ system ထဲဝင်လို့ရသွားတဲ့အတွက် ကိုယ်ရဲ့ data မဆုံးရှုံးတော့ပါဘူး။ များသောအားဖြင့် Linux မှာ system update၊ kernel release update လုပ်တဲ့အခါမှာ kernel panic ဖြစ်တတ်ပါတယ်။ Microsoft ရဲ့ Windows မှာတော့ Blue Screen of Death (BSoD) လို့ လူသိများကြပါတယ်။ မူရင်း ဆိုလိုရင်းကတော့ Linux system တစ်ခုကို run ဖို့အတွက် init ဟာ အရေးပါ အရာရောက်ပါတယ်။

SystemV သို့မဟုတ် SysVinit သို့မဟုတ် SysV သမိုင်းကြောင်း

သမိုင်းကို ပြန်ကောက်ရရင် Linux မတိုင်ခင် Unix ကိုပြန်ပြီးတော့သွားရပါလိမ့်မယ်။ Unix ကိုဟိုတချိန်တခါက Unix System V ရယ်လို့ လူသိများပါတယ်။ System V လို့ခေါ်တယ်ဆိုတော့ အရှေ့မှာ System I, II, III ဆိုပြီးတော့ မရှိဘူးလားဆိုတော့ ရှိပါတယ်။ လက်ရှိမှာတော့ မသုံးတော့ပါဘူး။ AT&T ဆိုတဲ့ အမေရိကန် ကုမ္ပဏီတစ်ခုက ၁၉၈၃ နှစ်တွင်းမှာ System V ကိုစတင်မိတ်ဆက်ပေးလိုက်ပါတယ်။ နောက်ပိုင်းတော့ SysV လို့ အတိုကောက် ခေါ်ကြပါတယ်။ System V မှာမှ ပထမဆုံး release ကို System V Release 1၊ အတိုကောက် SVR1 ပြီးတော့ SVR2၊ SVR3 နဲ့ SVR4 ဆိုပြီးတော့ ဆက်တိုက်ထုတ်လာလိုက်တာ SVR6 အထိတိုင်အောင်ပါပဲ။ SVR4 ကတော့ အအောင်မြင်ဆုံး release တစ်ခုအနေနဲ့ လူသိများပါတယ်။ SysV ဟာ commercial ဘက်မှာ အောင်မြင်မှုများစွာနဲ့ အချိန်တော်တော်ကြာကြာကြီးကို ရပ်တည်နေနိုင်ခဲ့ပါတယ်။ အဲ့လို အောင်မြင်လာတာနဲ့အမျှ တဘက်မှာလည်း BSD သို့မဟုတ် Berkeley Software Distribution ဆိုတဲ့ project ကလည်း non-commercial Unix developers တွေကြားမှာ နေရာယူလာနိင်ပါတယ်။ အစမှာ AT&T ကနေ Unix ရဲ့ codebase ကို အစပျိုးခဲ့သော်လည်း နောက်ပိုင်းမှာ Unix War ဆိုပြီး commercial Unix ရဲ့ SysV နဲ့ non-commercial Unix ရဲ့ BSD project တွေကြားမှာ တော်တော်လေးကို ရှုပ်ထွေးခဲ့ရပါတယ်။ တနည်းအားဖြင့် ဥပဒေပိုင်းမှာ တိုးတက်လာတဲ့ နည်းပညာ အတွက်ပြင်ဆင်ထားတဲ့ ပြဠာန်းချက်ကောင်းကောင်း အဲ့ဒီ အချိန်က ရှိပုံမရပါဘူး။ အဲ့ဒါကြောင့်လည်း အငြင်းပွားစရာ အများကြီးနဲ့ တရွတ်တိုက် ရှင်းလို့မပြီးပဲ အန္တရယ်ကင်းတဲ့ Linux ဘက်ကို ဖြေးဖြေးချင်းစီ ကူးပြောင်းလာကြပါတယ်။

POSIX အကြောင်းတစေ့တစောင်း

Linux မတိုင်ခင် တခုပြောစရာကျန်တာက POSIX ပါ။ သူ့ရဲ့ အရှည်ကတော့ Portable Operating System Interface (POSIX) ဖြစ်ပါတယ်။ POSIX ဆိုတာကတော့ စံစနစ် အစုတစ်ခုဖြစ်ပြီးတော့၊ IEEE ရဲ့ professional society တစ်ခုဖြစ်တဲ့ Computer Society (CS) ကနေပြီးချမှတ်ပေးထားတဲ့ စံစနစ် အစုတစ်ခုဖြစ်ပါတယ်။ မူလရည်ရွယ်ချက်ကတော့ မတူတဲ့ operating systems တစ်ခုနဲ့ တစ်ခု ကြားမှာ compatibility ရှိစေဖို့ကို စောင့်ကြည့် ထိန်းသိမ်းထား နိုင်ရန်ဖြစ်ပါတယ်။ POSIX ဟာ cross-platforms တွေမှာသုံးတဲ့ API (Application Programming Interface) အပြင်၊ သူနဲ့ တွဲပါလာမယ် CLI shells တွေနဲ့ utility interfaces မှာ software compatibility ဖို့ကို စံစနစ်တွေသတ်မှတ် ပေးထားပါတယ်။ နောက်တစ်ခု စိတ်ဝင်စားစရာကောင်းတဲ့ အချက်ကတော့ POSIX ဆိုတဲ့ နာမည်ဖြစ်လာပုံပါပဲ။ အစပိုင်းမှာ IEEE ရဲ့ ထုံးစံအတိုင်း သူ့ရဲ့ standardization process မှာသုံးတဲ့ naming convention ဖြစ်တဲ့ IEEE prefix နဲ့ သက်ဆိုင်ရာ စံနံပတ် သို့မဟုတ် suffix တွေကိုထည့်လေ့ရှိပါတယ်။ POSIX ရဲ့ မူရင်းနာမည်ကတော့ IEEE 1003 ဖြစ်ပြီးတော့၊ international standard name အတွက်တော့ ISO/IEC 9945 ကို သတ်မှတ်ပေးခဲ့တာဖြစ်ပါတယ်။ တဖန် IEEE 1003 ဟာ အဲ့ဒီ အချိန်က Unix ကနေဆင်းသက်လာတဲ့ variants တွေပေါင်းများစွာရဲ့ မတူတာတွေတူအောင် ညှီနှိုင်းပေးနိုင်ဖို့ အဓိက ရည်ရွယ်တာဖြစ်တဲ့အတွက် IEEE-IX ဆိုပြီးတော့ လွယ်အောင်မှတ်ခဲ့ကြပါတယ်။ IX ဆိုတာဟာတော့ UNIX အနောက်ကနေယူထားတာ ဖြစ်ပါတယ်။ နောက်တခါ IEEE-IX ဟာ ခေါ်ရတာ ထောက်တယ်ဆိုပြီးတော့မှ၊ Richard Matthew Stallman (RMS) က POSIX လို့ခေါ်ဆိုရန် အဆိုတင်သွင်းရာကနေမှ POSIX ဆိုတာကို IEEE ကလည်း လက်ခံလိုက်ပြီးတော့ အခုချိန်ထိလည်း POSIX ရယ်လို့ပဲ လူသိများလာခဲ့ပါတယ်။ အဲ့ဒီ အချိန်က Richard Stallman (RMS) တစ်ယောက် နည်းပညာအသိုင်းအဝိုင်းမှာ ဘယ်လောက်တောင် တန်ခိုးထွားခဲ့ သလဲဆိုတာကို ဒီအချက်တစ်ခုက သက်သေထူနေပြန်ပါတယ်။ နောက်ပြီးတော့ IEEE ဟာ UNIX ကို standards တွေသတ်မှတ်ဖို့ရာ ဘာလို့ရွေးချယ်ခဲ့သလဲဆိုတော့ Unix ဟာ ဘယ် platform မှာဖြစ်ဖြစ် အလုပ်လုပ်တဲ့ manufacture-agnostic OS တစ်ခုဖြစ်နေလို့ပါပဲ။

SysV ရဲ့ UnixWare မှသည် Linus Torvalds ရဲ့ Linux ဆီသို့

၁၉၉၂ခုနှစ်မှာ AT&T Unix System Laboratories (USL) နဲ့ Novell တို့ ပေါင်းပြီးတော့ Unix System V ရဲ့ release 4.2 သို့မဟုတ် SVR4.2 ထုတ်ပါတယ်။ UnixWare ဆိုပြီးတော့ အသိများတဲ့ release တစ်ခုပါ။ နောက်ပိုင်းမှာတော့ Novell က UnixWare ကို ဆက်ပြီးတော့ commercial platform မှာ ဆက်ပြီးတော့ သူ့ရဲ့ product အနေနဲ့ ဆက်ပြီးတော့ ထုတ်ပါတယ်။ Novell ဟာလည်း နောက်ပိုင်းမှာ ပြဿနာပေါင်းများစွာနဲ့ ပျောက်ချင်းမလှ ပျောက်သွားပါတော့တယ်။ တချိန်က Unix နဲ့ Linux ရဲ့ Sysadmin veterans တွေကတော့ အခုချိန်ထိ UnixWare နဲ့ Novell အကြောင်းကို တဖွဖွ တမ်းတ အတောမသက်နိုင်အောင် ပြောဆိုနေတတ်တုန်းပါ။ အခုတော့လည်း Red Hat လို၊ Canonical လို ကုမ္ပဏီတွေပဲ Linux ကမ္ဘာမှာ ကျန်ခဲ့ပါတော့တယ်။

၂၀၀၁ ခုနှစ်ကနေစလို့ Unix ရဲ့ variants တွေဖြစ်တဲ့ SCO ရဲ့ UniWare, Compaq ရဲ့ Tru64 Unix နဲ့ SGI IRIX တို့ဟာ လူသုံးနည်းလာပြီး၊ တဘက်မှာလည်း Linux ရဲ့ Distro တော်တော်များများနဲ့ Microsoft ရဲ့ Windows တို့ဟာလည်း နေရာဝင်လာပါတော့တယ်။ ၂၀၀၆ ခုနှစ်မှာတော့ Linux ရဲ့ Red Hat နဲ့ Debian တို့လို အောင်မြင်တဲ့ distro တွေဟာ Unix OS တွေကို နေရာ အတော်လေးယူပြီးသလောက်ရှိလာပါတော့တယ်။ Unix ရဲ့ SystemV သို့မဟုတ် SysV ကိုတော့ ဆက်ပြီးတော့ Linux ကမ္ဘာမှာ မွေးစားထားခဲ့ပါတယ်။ Linux ရဲ့ distro တွေအားလုံးဟာ System V ကို သုံးပြီးတော့ပဲ Init ရဲ့ Run Level တွေကို ထိန်းချုပ်ခဲ့ကြပါတယ်။ System V ဟာ အစကောင်းလို့ သက်တမ်းအားဖြင့် တော်တော်လေး ခံခဲ့တာ ၂၀၁၀ ခုနှစ်တိုင်အောင်ပါပဲ။ ဘာဖြစ်လို့လဲဆိုတော့ ၂၀၁၀ ခုနှစ် အစပိုင်းမှာ Red Hat က systemd ကို စတင်မိတ်ဆက်ပေးလိုက်လို့ပဲ ဖြစ်ပါတယ်။

ခေတ်သစ် Systemd

Systemd ဖြစ်လာဖို့အတွက် တာဝန်ရှိတဲ့ ပုဂ္ဂိုလ်တွေကတော့ software engineers နှစ်ယောက်ဖြစ်တဲ့ Lennart Poettering နဲ့ Kay Sievers ပါ။ နှစ်ယောက်လုံးက Red Hat အတွက် systemd ကို ၂၀၁၀ ခုနှစ်မှာ project တစ်ခုအနေနဲ့ စတင်ခဲ့ပြီးတော့၊ အခုအချိန်ထိလည်း နှစ်ယောက်လုံးဟာ Red Hat အတွက် အလုပ်လုပ်နေတုန်းပါ။ Linux နဲ့ Open Source community မှာတော့ နှစ်ယောက်လုံးဟာ project ပေါင်းများစွာ အတွက် contribute လုပ်ထားပြီးတော့၊ systemd components တော်တော်များများ အတွက်လည်း တာဝန်ယူထားတာ အများကြီးပဲရှိပါတယ်။ တပိုင်းတည်းမှာဆိုသလို Unix နဲ့ Linux သမားတွေထဲမှာ သူတို့နှစ်ယောက်လုံးကို ကြိုက်တဲ့သူရှိသလို၊ မကြိုက်တဲ့သူတွေလည်း အများကြီးရှိပါတယ်။ ဥပမာ Lennart Poettering ဆိုရင် systemd ကိုစတင် မိတ်ဆက်စဥ် တုန်းက အခက်အခဲ ကြီးတစ်ခုကို ရင်ဆိုင်ရပါတယ်။ အဲ့ဒါ ကတော့ Linux ကမ္ဘာက ရှေးရိုးစွဲ ပုဂ္ဂိုလ်ကြီးများ ထိပ်တိုက်ရင်ဆိုင်ရပါတယ်။ SysV ကို အစားထိုးမယ့် systemd ကို ၁၉၈၀၊ ၁၉၉၀ က Linux ပညာရှင်များက လုံးဝကို မနှစ်မျို့ကြပါဘူး။ တချို့ဆို Lennart ကိုသတ်ဖြတ်မယ် ဆိုတဲ့ ခြိမ်းခြောက်စာတွေတောင် အပို့ခံရပါတယ်။ အလားတူ Kay Sievers ကိုလည်း Linux kernel developing ကနေပြီးတော့ ban ခံရပါတယ်။ Linus Torvolds ကိုယ်တိုင်က Kay ဟာ Linux kernel အတွက် ပြဿနာတွေသယ်သယ် လာပြီး၊ အဲ့ဒီပြဿနာတွေကို ဖြေရှင်းချက်မပေးနိုင်ဘူး ဆိုပြီးတော့ ban ခဲ့တာပါတဲ့။ ဆိုတော့ကာ… systemd ရဲ့ ခရီးအစက မဖြောင့်ဖြူး ခဲ့ပါဘူး။ သို့သော် အခုချိန်မှာတော့ Linux ရဲ့ distro တော်တော်များဟာ systemd နောက်ကို အကုန်လုံးနီးပါး လိုက်လာခဲ့ကြပါပြီ။

Systemd ဆိုတာဘာလဲ?

Systemd ဆိုတာ Linux operating system စတင်ဖို့လိုအပ်တဲ့ အဓိကအကျဆုံး အစိတ်အပိုင်းတွေကို အချိုးကျကျ စတင်ပေးဖို့အတွက် system and service manager တစ်ခုပါ။ မူလရည်ရွယ်ချက်ကတော့ Linux distribution တွေအားလုံးမှာ bootstrap loader ကနေ configurations နဲ့ service behaviors တွေကို တညီတည်းဖြစ်အောင်လို့ပါ။ Systemd က d ဆိုတာကတော့ daemons ကိုကိုယ်စားပြုပါတယ်။ Systemd ဟာ SysV ကို အစားထိုးဖို့လည်းဖြစ်တဲ့ အတွက် လုပ်ဆောင်ချက် အများစုဟာ ခပ်ဆင်ဆင်တူသော်လည်း၊ ကွာခြားချက်တွေဟာလည်း အများကြီးရှိပါတယ်။ Systemd project ကိုစတင်ခဲ့တဲ့ Lennart ကတော့ systemd ဟာ Linux မှာလိုအပ်နေတဲ့ အစိတ်အပိုင်းနဲ့ လုပ်ဆောင်ချက်တွေကို systemd က ဖြည့်ဆည်းပေးထားတယ်။ ခေတ်သစ် operating system တစ်ခုမှာရှိသင့်တဲ့ အင်္ဂါရပ်တွေ Linux မှာမရှိသေးတဲ့အတွက် systemd ကိုစတင်ဖို့ဖြစ်လာရတယ်လို့လည်းဆိုပါတယ်။ နောက်ပြီးတော့ systemd ဟာ SysV နဲ့ယှဥ်လိုက်ရင် အများကြီးကျစ်လျစ်မူရှိတယ်၊ dependencies နည်းတယ်လို့လည်း သူကဆိုပါတယ်။ Systemd အကြောင်းသီးသန့်ပြောမယ်ဆိုရင်တောင် သူ့အကြောင်းအရာနဲ့ အစိတ်အပိုင်းတွေကို အသေးစိတ်ပြောရမှာမို့ ပြီးမှာမဟုတ်ပါဘူး။ နောက်မှပဲ systemd အကြောင်းကို သပ်သပ်ထပ်ရေးပါတော့မယ်။ ဒီမှာတော့ အသေးစိတ်မသွားလိုတော့ပါဘူး။

SystemV နဲ့ Systemd ဘာကွာသလဲ

SystemV မှာတုန်းက scripts တွေကို နံပတ်စဥ်အလိုက် daemons တွေကို စတင်ဖို့နဲ့ အဆုံးသတ်ဖို့ သတ်မှတ်ပေးပြီးတော့၊ အဲ့ဒီ အစဥ်လိုက်တိုင်း တစ်ခုပြီးမှ တစ်ခု daemons တွေကို စရ ဆုံးရပါတယ်။ အဲ့ဒီ scripts နံပတ်စဥ် အစုအစည်းကို startup sequences လို့ခေါ်ပါတယ်။ တခါတရံမှာ scripts တွေကိုလို သလို ပြင်ဆင်ရတာမျိုးရှိပါတယ်။ Dependencies တွေအများကြီး ရှိတဲ့အတွက် ဘယ် daemon အရင်ဆုံးစရမလဲ၊ ပြီးတော့မှ ဘယ် daemons တွေကို တစ်ခုချင်း စလို့ရသလဲဆိုတာတွေကို နားလည်ထားဖို့ အများကြီးလိုအပ်ပါတယ်။ နောက်တစ်ခုက Linux distro တစ်ခုနဲ့ တစ်ခု SysV အလုပ်လုပ်ပုံ မတူပါဘူး၊ unification နဲ့ standardization မရှိပါဘူး။ အဲ့ဒါကြောင့် ကိုယ်က SysV နဲ့လာတဲ့ distro တစ်ခု ကျွမ်းကျင်စွာ နားလည်ထားသော်လည်း၊ နောက် distro တစ်ခုကို ပြောင်းသွားရင် နောက်တစ်မျိုး ဖြစ်သွားပြန်ပါတယ်။

Systemd မှာတော့ scripts တွေကို SysV မှာလိုမျိုး တစ်ခုပြီးမှ တစ်ခုမသွားတော့ပဲနဲ့ တပြိုင်နက်တည်း လိုအပ်သလို daemons တွေကို စတင်ခြင်း အဆုံးသတ်ခြင်းကို လုပ်ပါတယ်။ Boot process မှာ SysV ထက် အများကြီး သာပါတယ်။ နောက်တစ်ခုက systemd ဟာ init daemon တစ်ခုတည်းအတွက်မဟုတ်ပဲ system တစ်ခုလုံးကို ထိန်းချုပ်တဲ့ တခြား daemons တွေပါ စီမံကွပ်ကဲတဲ့ software bundle တစ်ခုပါ။ အခုအချိန်ထိလည်း systemd ဟာ ဆက်လက် development process အောက်မှာဆက်လက် ကြီးထွားနေဆဲပါ။

နိဂုန်းချုပ်ရရင်တော့ systemd ဟာ Linux operating system အတွက် မရှိမဖြစ်လိုအပ်တဲ့ စမ်းသစ်တီထွင်မူ တစ်ခုပါ။ SysV ကို တွယ်ကပ်နေတုန်းရှိတဲ့ Gentoo တို့ Slackware တို့လည်း Linux ကမ္ဘာထဲကနေ မကြာခင် တိပ်တခိုးထွက်ခွာသွားရတော့မှာပါ။ Systemd ကို လိုက်တဲ့ RHEL, CentOS, Fedora, OpenSUSE, Debian နဲ့ Ubuntu တို့ဟာလည်း Data Center တွေထဲမှာဆက်လက်နေရာ ယူလာဆဲပါ။ တချိန်က ခါးခါးသီးသီး ငြင်းဆန်ခဲ့တဲ့ SysV အုပ်စုလည်း ငြိမ်ချက်သားကောင်းနေပါပြီ။ Systemd သည်လည်း Linux distro တွေ တော်တော်များများ အတွက်လည်း အသုံးတော်ခံ အဓိက ဇာတ်ကောင် အနေနဲ့ ဆက်လက်တည်ရှိနေအုံးမှာပါ။Advertisements

☕