LFCS: സിസ്റ്റം സ്റ്റാർട്ടപ്പ് പ്രോസസും സേവനങ്ങളും നിയന്ത്രിക്കുന്നു (SysVinit, Systemd, Upstart) - ഭാഗം 7


കുറച്ച് മാസങ്ങൾക്ക് മുമ്പ്, ലിനക്സ് ഫൗണ്ടേഷൻ LFCS (ലിനക്സ് ഫൗണ്ടേഷൻ സർട്ടിഫൈഡ് സിസാഡ്മിൻ) സർട്ടിഫിക്കേഷൻ പ്രഖ്യാപിച്ചു, ലിനക്സ് സിസ്റ്റങ്ങളിൽ അടിസ്ഥാനവും ഇന്റർമീഡിയറ്റ് സിസ്റ്റം അഡ്മിനിസ്ട്രേഷൻ ടാസ്ക്കുകളും നിർവഹിക്കുന്നതിന് ലോകത്തിന്റെ വിവിധ ഭാഗങ്ങളിൽ നിന്നുള്ള വ്യക്തികളെ അനുവദിക്കുന്ന ഒരു ആവേശകരമായ പുതിയ പ്രോഗ്രാമാണിത്. ഇതിനകം പ്രവർത്തിക്കുന്ന സിസ്റ്റങ്ങളെയും സേവനങ്ങളെയും പിന്തുണയ്uക്കുന്നതും പ്രശ്uനങ്ങൾ കണ്ടെത്തുന്നതിനും വിശകലനം ചെയ്യുന്നതിനും ഒപ്പം എഞ്ചിനീയറിംഗ് ടീമുകൾക്ക് എപ്പോൾ പ്രശ്uനങ്ങൾ ഉന്നയിക്കണമെന്ന് തീരുമാനിക്കാനുള്ള കഴിവും ഇതിൽ ഉൾപ്പെടുന്നു.

ഇനിപ്പറയുന്ന വീഡിയോ ലിനക്സ് ഫൗണ്ടേഷൻ സർട്ടിഫിക്കേഷൻ പ്രോഗ്രാമിന്റെ ഒരു ഹ്രസ്വ ആമുഖം വിവരിക്കുന്നു.

ഈ പോസ്റ്റ് ഒരു 10-ട്യൂട്ടോറിയൽ സീരീസിന്റെ ഭാഗം 7 ആണ്, ഇവിടെ ഈ ഭാഗത്ത്, LFCS സർട്ടിഫിക്കേഷൻ പരീക്ഷയ്ക്ക് ആവശ്യമായ Linux സിസ്റ്റം സ്റ്റാർട്ടപ്പ് പ്രോസസ്സും സേവനങ്ങളും എങ്ങനെ കൈകാര്യം ചെയ്യാമെന്ന് ഞങ്ങൾ വിശദീകരിക്കും.

Linux സ്റ്റാർട്ടപ്പ് പ്രക്രിയ കൈകാര്യം ചെയ്യുന്നു

ഒരു ലിനക്സ് സിസ്റ്റത്തിന്റെ ബൂട്ട് പ്രക്രിയയിൽ നിരവധി ഘട്ടങ്ങൾ അടങ്ങിയിരിക്കുന്നു, ഓരോന്നിനും വ്യത്യസ്ത ഘടകങ്ങൾ പ്രതിനിധീകരിക്കുന്നു. ഇനിപ്പറയുന്ന ഡയഗ്രം ബൂട്ട് പ്രക്രിയയെ സംഗ്രഹിക്കുകയും ഉൾപ്പെട്ടിരിക്കുന്ന എല്ലാ പ്രധാന ഘടകങ്ങളും കാണിക്കുകയും ചെയ്യുന്നു.

നിങ്ങളുടെ മെഷീനിലെ പവർ ബട്ടൺ അമർത്തുമ്പോൾ, മദർബോർഡിലെ EEPROM ചിപ്പിൽ സംഭരിച്ചിരിക്കുന്ന ഫേംവെയർ POST () ആരംഭിക്കുന്നു. പവർ-ഓൺ സെൽഫ് ടെസ്റ്റ്) സിസ്റ്റത്തിന്റെ ഹാർഡ്uവെയർ ഉറവിടങ്ങളുടെ അവസ്ഥ പരിശോധിക്കാൻ. POST പൂർത്തിയാകുമ്പോൾ, ഫേംവെയർ MBR അല്ലെങ്കിൽ EFI-ൽ സ്ഥിതി ചെയ്യുന്ന ഒന്നാം ഘട്ടം ബൂട്ട് ലോഡർ തിരയുകയും ലോഡ് ചെയ്യുകയും ചെയ്യുന്നു. ലഭ്യമായ ആദ്യത്തെ ഡിസ്കിന്റെ പാർട്ടീഷൻ, അതിന് നിയന്ത്രണം നൽകുന്നു.

MBR BIOS ക്രമീകരണങ്ങളിൽ ബൂട്ട് ചെയ്യാവുന്നതായി അടയാളപ്പെടുത്തിയിരിക്കുന്ന ഡിസ്കിന്റെ ആദ്യ സെക്ടറിലാണ് സ്ഥിതിചെയ്യുന്നത്, അത് 512 ബൈറ്റുകളുടെ വലുപ്പമാണ്.

  1. ആദ്യത്തെ 446 ബൈറ്റുകൾ: ബൂട്ട്ലോഡറിൽ എക്സിക്യൂട്ടബിൾ കോഡും പിശക് സന്ദേശ വാചകവും അടങ്ങിയിരിക്കുന്നു.
  2. അടുത്ത 64 ബൈറ്റുകൾ: പാർട്ടീഷൻ ടേബിളിൽ ഓരോ നാല് പാർട്ടീഷനുകളുടെയും (പ്രാഥമികമോ വിപുലീകൃതമോ) ഒരു റെക്കോർഡ് അടങ്ങിയിരിക്കുന്നു. മറ്റ് കാര്യങ്ങൾക്കൊപ്പം, ഓരോ റെക്കോർഡും ഓരോ പാർട്ടീഷന്റെയും സ്റ്റാറ്റസ് (സജീവമായ/സജീവമല്ല), വലുപ്പം, ആരംഭ/അവസാന സെക്ടറുകൾ എന്നിവ സൂചിപ്പിക്കുന്നു.
  3. അവസാന 2 ബൈറ്റുകൾ: മാജിക് നമ്പർ MBR-ന്റെ മൂല്യനിർണ്ണയ പരിശോധനയായി വർത്തിക്കുന്നു.

ഇനിപ്പറയുന്ന കമാൻഡ് MBR ന്റെ ഒരു ബാക്കപ്പ് ചെയ്യുന്നു (ഈ ഉദാഹരണത്തിൽ, /dev/sda ആണ് ആദ്യത്തെ ഹാർഡ് ഡിസ്ക്). പാർട്ടീഷൻ ടേബിൾ കേടായാൽ തത്ഫലമായുണ്ടാകുന്ന ഫയൽ, mbr.bkp ഉപയോഗപ്രദമാകും, ഉദാഹരണത്തിന്, സിസ്റ്റം അൺബൂട്ട് ചെയ്യുന്നു.

തീർച്ചയായും, ആവശ്യമുണ്ടെങ്കിൽ അത് പിന്നീട് ഉപയോഗിക്കുന്നതിന്, ഞങ്ങൾ അത് സംരക്ഷിച്ച് മറ്റെവിടെയെങ്കിലും സൂക്ഷിക്കേണ്ടതുണ്ട് (ഉദാഹരണത്തിന്, ഒരു USB ഡ്രൈവ് പോലെ). ആ ഫയൽ MBR പുനഃസ്ഥാപിക്കാൻ ഞങ്ങളെ സഹായിക്കും, അതിനിടയിൽ ഞങ്ങൾ ഹാർഡ് ഡ്രൈവ് ലേഔട്ട് മാറ്റിയില്ലെങ്കിൽ മാത്രം ഞങ്ങളെ വീണ്ടും മുന്നോട്ട് കൊണ്ടുപോകും.

# dd if=/dev/sda of=mbr.bkp bs=512 count=1
# dd if=mbr.bkp of=/dev/sda bs=512 count=1

EFI/UEFI രീതി ഉപയോഗിക്കുന്ന സിസ്റ്റങ്ങൾക്ക്, ഏത് UEFI ആപ്ലിക്കേഷനാണ് ലോഞ്ച് ചെയ്യേണ്ടതെന്നും എവിടെ നിന്നാണ് (അതായത്, ഏത് ഡിസ്കിലും പാർട്ടീഷനിലും) എന്ന് നിർണ്ണയിക്കാൻ UEFI ഫേംവെയർ അതിന്റെ ക്രമീകരണങ്ങൾ വായിക്കുന്നു. EFI പാർട്ടീഷൻ സ്ഥിതിചെയ്യുന്നു).

അടുത്തതായി, രണ്ടാം ഘട്ടം ബൂട്ട് ലോഡർ (അതായത് ബൂട്ട് മാനേജർ) ലോഡ് ചെയ്തു പ്രവർത്തിക്കുന്നു. GRUB [GRand Unified Boot] ആണ് Linux-ൽ ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന ബൂട്ട് മാനേജർ. ഇന്ന് ഉപയോഗിക്കുന്ന മിക്ക സിസ്റ്റങ്ങളിലും രണ്ട് വ്യത്യസ്ത പതിപ്പുകളിൽ ഒന്ന് കാണാം.

  1. GRUB ലെഗസി കോൺഫിഗറേഷൻ ഫയൽ: /boot/grub/menu.lst (പഴയ വിതരണങ്ങൾ, EFI/UEFI ഫേംവെയറുകൾ പിന്തുണയ്ക്കുന്നില്ല).
  2. GRUB2 കോൺഫിഗറേഷൻ ഫയൽ: മിക്കവാറും, /etc/default/grub.

LFCS പരീക്ഷയുടെ ലക്ഷ്യങ്ങൾ GRUB ഇന്റേണലുകളെക്കുറിച്ചുള്ള അറിവ് വ്യക്തമായി അഭ്യർത്ഥിക്കുന്നില്ലെങ്കിലും, നിങ്ങൾക്ക് ധൈര്യമുണ്ടെങ്കിൽ നിങ്ങളുടെ സിസ്റ്റത്തെ കുഴപ്പത്തിലാക്കാൻ കഴിയുമെങ്കിൽ (നിങ്ങൾ ഇത് പരീക്ഷിച്ചുനോക്കാവുന്നതാണ്. ആദ്യം ഒരു വെർച്വൽ മെഷീനിൽ, നിങ്ങൾ പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്.

# update-grub

മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിനായി GRUB-ന്റെ കോൺഫിഗറേഷൻ പരിഷ്കരിച്ചതിന് ശേഷം റൂട്ട് ആയി.

അടിസ്ഥാനപരമായി, GRUB സ്വതവേയുള്ള കേർണലും initrd അല്ലെങ്കിൽ initramfs ഇമേജും ലോഡ് ചെയ്യുന്നു. ചുരുക്കത്തിൽ, initrd അല്ലെങ്കിൽ initramfs ഹാർഡ്uവെയർ കണ്ടെത്തൽ, കേർണൽ മൊഡ്യൂൾ ലോഡിംഗ്, യഥാർത്ഥ റൂട്ട് ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യുന്നതിന് ആവശ്യമായ ഉപകരണം കണ്ടെത്തൽ എന്നിവ നടത്താൻ സഹായിക്കുന്നു.

യഥാർത്ഥ റൂട്ട് ഫയൽസിസ്റ്റം പൂർത്തിയായിക്കഴിഞ്ഞാൽ, സാധാരണ ഉപയോക്താവിനെ ആരംഭിക്കുന്നതിനായി കേർണൽ സിസ്റ്റവും സേവന മാനേജറും (init അല്ലെങ്കിൽ systemd, അതിന്റെ പ്രോസസ്സ് ഐഡന്റിഫിക്കേഷൻ അല്ലെങ്കിൽ PID എപ്പോഴും 1 ആണ്) എക്സിക്യൂട്ട് ചെയ്യുന്നു- ഒരു ഉപയോക്തൃ ഇന്റർഫേസ് അവതരിപ്പിക്കുന്നതിനായി സ്പേസ് ബൂട്ട് പ്രക്രിയ.

init, systemd എന്നിവ രണ്ടും മറ്റ് ഡെമണുകളെ നിയന്ത്രിക്കുന്ന ഡെമണുകളാണ് (പശ്ചാത്തല പ്രക്രിയകൾ), ആരംഭിക്കുന്ന ആദ്യ സേവനവും (ബൂട്ട് സമയത്ത്) അവസാനിക്കുന്ന അവസാന സേവനവും (ഷട്ട്ഡൗൺ സമയത്ത്).

സേവനങ്ങൾ ആരംഭിക്കുന്നു (SysVinit)

ലിനക്സിലെ റൺലവലുകൾ എന്ന ആശയം, ഏത് സേവനങ്ങളാണ് പ്രവർത്തിക്കുന്നത് എന്ന് നിയന്ത്രിച്ച് ഒരു സിസ്റ്റം ഉപയോഗിക്കുന്നതിനുള്ള വ്യത്യസ്ത വഴികൾ വ്യക്തമാക്കുന്നു. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, നിലവിലെ എക്സിക്യൂഷൻ അവസ്ഥ = റൺലവലിൽ (ഏത് പ്രവർത്തിക്കാൻ കഴിയില്ല) ഏതൊക്കെ ജോലികൾ നിർവഹിക്കാൻ കഴിയുമെന്ന് ഒരു റൺലവൽ നിയന്ത്രിക്കുന്നു.

പരമ്പരാഗതമായി, ഈ സ്റ്റാർട്ടപ്പ് പ്രക്രിയ നടപ്പിലാക്കുന്നത് സിസ്റ്റം V UNIX-ൽ നിന്ന് ഉത്ഭവിച്ച കൺവെൻഷനുകളെ അടിസ്ഥാനമാക്കിയാണ്, മെഷീൻ ഒരു പ്രത്യേക റൺലവലിലേക്ക് പ്രവേശിക്കുമ്പോൾ (മറ്റൊരു രീതിയിൽ പറഞ്ഞാൽ, അത് സേവനങ്ങൾ ആരംഭിക്കുകയും നിർത്തുകയും ചെയ്യുന്ന സ്ക്രിപ്റ്റുകളുടെ ശേഖരം എക്സിക്യൂട്ട് ചെയ്തുകൊണ്ട് സിസ്റ്റം കടന്നുപോകുന്നു. , സിസ്റ്റം പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള വ്യത്യസ്ത രീതിയാണ്).

ഓരോ റൺലെവലിലും, വ്യക്തിഗത സേവനങ്ങൾ റൺ ചെയ്യുന്നതിനോ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ ഷട്ട് ഡൗൺ ചെയ്യുന്നതിനോ സജ്ജമാക്കാൻ കഴിയും. ചില പ്രധാന വിതരണങ്ങളുടെ ഏറ്റവും പുതിയ പതിപ്പുകൾ, സിസ്റ്റം വി നിലവാരത്തിൽ നിന്ന് മാറി, പകരം ഒരു പുതിയ സേവനത്തിനും സിസ്റ്റം മാനേജറിനും അനുകൂലമായി systemd (ഇത് സിസ്റ്റം ഡെമണിനെ സൂചിപ്പിക്കുന്നു), എന്നാൽ സാധാരണയായി അനുയോജ്യത ആവശ്യങ്ങൾക്കായി sysv കമാൻഡുകൾ പിന്തുണയ്ക്കുക. ഇതിനർത്ഥം, നിങ്ങൾക്ക് അറിയപ്പെടുന്ന മിക്ക sysv init ടൂളുകളും systemd-അധിഷ്ഠിത വിതരണത്തിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയും എന്നാണ്.

ഇതും വായിക്കുക: എന്തുകൊണ്ട് ലിനക്സിൽ 'init'-നെ 'systemd' മാറ്റിസ്ഥാപിക്കുന്നു

സിസ്റ്റം പ്രോസസ്സ് ആരംഭിക്കുന്നതിനു പുറമേ, ഏത് റൺലവൽ നൽകണമെന്ന് തീരുമാനിക്കുന്നതിന് init /etc/inittab ഫയലിലേക്ക് നോക്കുന്നു.

റൺലവലുകൾക്കിടയിൽ മാറുന്നതിന്, init കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് ഒരു റൺലവൽ മാറ്റം നൽകാം: init N (ഇവിടെ N എന്നത് മുകളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന റൺലവലുകളിൽ ഒന്നാണ്). നിലവിലുള്ള ലോഗിൻ ചെയ്ത ഉപയോക്താക്കൾക്ക് ഇത് ഒരു മുന്നറിയിപ്പും നൽകുന്നില്ല എന്നതിനാൽ റണ്ണിംഗ് സിസ്റ്റത്തെ മറ്റൊരു റൺലവലിലേക്ക് കൊണ്ടുപോകുന്നതിനുള്ള ശുപാർശ ചെയ്യപ്പെടുന്ന മാർഗ്ഗമല്ല ഇത് എന്നത് ശ്രദ്ധിക്കുക (അങ്ങനെ അവർക്ക് ജോലി നഷ്ടപ്പെടുകയും പ്രക്രിയകൾ അസാധാരണമായി അവസാനിപ്പിക്കുകയും ചെയ്യും).

പകരം, സിസ്റ്റം പുനരാരംഭിക്കുന്നതിന് ഷട്ട്ഡൗൺ കമാൻഡ് ഉപയോഗിക്കണം (ഇത് ആദ്യം ലോഗിൻ ചെയ്uതിരിക്കുന്ന എല്ലാ ഉപയോക്താക്കൾക്കും ഒരു മുന്നറിയിപ്പ് സന്ദേശം അയയ്uക്കുകയും തുടർ ലോഗിനുകളെ തടയുകയും ചെയ്യുന്നു; ഇത് റൺലവലുകൾ മാറുന്നതിന് init-നെ സിഗ്നൽ നൽകുന്നു); എന്നിരുന്നാലും, ഡിഫോൾട്ട് റൺലവൽ (സിസ്റ്റം ബൂട്ട് ചെയ്യുന്ന ഒന്ന്) ആദ്യം /etc/inittab ഫയലിൽ എഡിറ്റ് ചെയ്യണം.

ഇക്കാരണത്താൽ, റൺലവലുകൾക്കിടയിൽ ശരിയായി മാറുന്നതിന് ഈ ഘട്ടങ്ങൾ പാലിക്കുക, റൂട്ട് ആയി, /etc/inittab-ൽ ഇനിപ്പറയുന്ന വരി നോക്കുക.

id:2:initdefault:

കൂടാതെ വിം പോലെയുള്ള നിങ്ങളുടെ ഇഷ്ടപ്പെട്ട ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് ആവശ്യമുള്ള റൺലവലിനായി 2 നമ്പർ മാറ്റുക (ലിനക്സിൽ vi/vim എഡിറ്റർ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് വിവരിച്ചിരിക്കുന്നു - ഈ സീരീസിന്റെ ഭാഗം 2).

അടുത്തതായി, റൂട്ട് ആയി പ്രവർത്തിപ്പിക്കുക.

# shutdown -r now

അവസാന കമാൻഡ് സിസ്റ്റം പുനരാരംഭിക്കും, ഇത് അടുത്ത ബൂട്ട് സമയത്ത് നിർദ്ദിഷ്ട റൺലവലിൽ ആരംഭിക്കുന്നതിന് കാരണമാകുകയും /etc/rc[runlevel].d ഏതൊക്കെ സേവനങ്ങൾ ആരംഭിക്കണം, ഏതൊക്കെ തുടങ്ങരുത് എന്ന് തീരുമാനിക്കുന്നതിനുള്ള ഡയറക്ടറി. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന സിസ്റ്റത്തിലെ റൺലവൽ 2-ന്.

ബൂട്ടിൽ സിസ്റ്റം സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിനോ പ്രവർത്തനരഹിതമാക്കുന്നതിനോ, CentOS/openSUSE-ൽ chkconfig കമാൻഡും ഡെബിയനിലും ഡെറിവേറ്റീവുകളിലും sysv-rc-conf ഉപയോഗിക്കും. ഒരു പ്രത്യേക റൺലവലിനായി ഒരു സേവനത്തിന്റെ പ്രീ-കോൺഫിഗർ ചെയ്ത അവസ്ഥ എന്താണെന്നും ഈ ടൂളിന് കാണിക്കാനാകും.

ഇതും വായിക്കുക: Linux-ൽ ആവശ്യമില്ലാത്ത സേവനങ്ങൾ എങ്ങനെ നിർത്താം, പ്രവർത്തനരഹിതമാക്കാം

ഒരു സേവനത്തിനായുള്ള റൺലവൽ കോൺഫിഗറേഷൻ ലിസ്റ്റ് ചെയ്യുന്നു.

# chkconfig --list [service name]
# chkconfig --list postfix
# chkconfig --list mysqld

മുകളിൽ പറഞ്ഞ ചിത്രത്തിൽ, സിസ്റ്റം 2 മുതൽ 5 വരെയുള്ള റൺലവലുകളിലേക്ക് പ്രവേശിക്കുമ്പോൾ postfix ആരംഭിക്കാൻ സജ്ജമാക്കിയിരിക്കുന്നത് കാണാം, അതേസമയം mysqld 2 മുതൽ 4 വരെയുള്ള റൺലവലുകൾക്കായി b> സ്ഥിരസ്ഥിതിയായി പ്രവർത്തിക്കും. ഇപ്പോൾ ഇത് പ്രതീക്ഷിച്ച പെരുമാറ്റമല്ലെന്ന് കരുതുക.

ഉദാഹരണത്തിന്, റൺലെവൽ 5-നും ഞങ്ങൾ mysqld ഓണാക്കേണ്ടതുണ്ട്, കൂടാതെ റൺലവൽ 4, 5 എന്നിവയ്uക്കായി പോസ്റ്റ്ഫിക്uസ് ഓഫാക്കേണ്ടതുണ്ട്. ഓരോ സാഹചര്യത്തിലും നമ്മൾ ചെയ്യേണ്ടത് ഇതാ (റൺ ചെയ്യുക ഇനിപ്പറയുന്ന കമാൻഡുകൾ റൂട്ടായി).

# chkconfig --level [level(s)] service on
# chkconfig --level 5 mysqld on
# chkconfig --level [level(s)] service off
# chkconfig --level 45 postfix off

sysv-rc-conf ഉപയോഗിച്ച് ഞങ്ങൾ ഇപ്പോൾ ഒരു ഡെബിയൻ അധിഷ്uഠിത സിസ്റ്റത്തിൽ സമാനമായ ജോലികൾ ചെയ്യും.

ഒരു നിർദ്ദിഷ്uട റൺലവലിൽ സ്വയമേവ ആരംഭിക്കുന്നതിനായി ഒരു സേവനം കോൺഫിഗർ ചെയ്യുന്നു, അത് മറ്റെല്ലാത്തിലും ആരംഭിക്കുന്നത് തടയുന്നു.

1. ആരംഭിക്കുന്നതിനായി mdadm ക്രമീകരിച്ചിരിക്കുന്ന റൺലവലുകൾ ഏതൊക്കെയാണെന്ന് കാണാൻ താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിക്കാം.

# ls -l /etc/rc[0-6].d | grep -E 'rc[0-6]|mdadm'

2. 2 ഒഴികെയുള്ള എല്ലാ റൺലവലുകളിലും mdadm ആരംഭിക്കുന്നത് തടയാൻ ഞങ്ങൾ sysv-rc-conf ഉപയോഗിക്കും. (സ്uപേസ് ബാർ ഉപയോഗിച്ച്) ചെക്ക് ചെയ്യുക അല്ലെങ്കിൽ അൺചെക്ക് ചെയ്യുക (അമ്പടയാള കീകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് മുകളിലേക്കും താഴേക്കും ഇടത്തോട്ടും വലത്തോട്ടും നീങ്ങാം).

# sysv-rc-conf

തുടർന്ന് പുറത്തുകടക്കാൻ q അമർത്തുക.

3. ഞങ്ങൾ സിസ്റ്റം പുനരാരംഭിക്കുകയും STEP 1 ൽ നിന്നുള്ള കമാൻഡ് വീണ്ടും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യും.

# ls -l /etc/rc[0-6].d | grep -E 'rc[0-6]|mdadm'

മുകളിലെ ചിത്രത്തിൽ mdadm റൺലവൽ 2-ൽ മാത്രം ആരംഭിക്കുന്നതിനായി ക്രമീകരിച്ചിരിക്കുന്നത് കാണാം.

systemd-യെ കുറിച്ച്?

നിരവധി പ്രധാന ലിനക്സ് വിതരണങ്ങൾ സ്വീകരിക്കുന്ന മറ്റൊരു സേവനവും സിസ്റ്റം മാനേജറുമാണ് systemd. സിസ്റ്റം സ്റ്റാർട്ടപ്പ് സമയത്ത് സമാന്തരമായി കൂടുതൽ പ്രോസസ്സിംഗ് നടത്താൻ ഇത് ലക്ഷ്യമിടുന്നു (sysvinit പോലെയല്ല, ഇത് എല്ലായ്uപ്പോഴും മന്ദഗതിയിലായിരിക്കും, കാരണം ഇത് ഒരു സമയം പ്രോസസ്സുകൾ ആരംഭിക്കുകയും ഒന്ന് മറ്റൊന്നിനെ ആശ്രയിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുകയും കാത്തിരിക്കുകയും ചെയ്യുന്നു. ഡെമൺസ് സമാരംഭിക്കുന്നതിന് കൂടുതൽ സേവനങ്ങൾ ആരംഭിക്കാൻ കഴിയും), കൂടാതെ ഒരു റണ്ണിംഗ് സിസ്റ്റത്തിലേക്ക് ഒരു ഡൈനാമിക് റിസോഴ്സ് മാനേജ്മെന്റായി പ്രവർത്തിക്കുക.

അങ്ങനെ, ബൂട്ട് സമയത്ത് ശക്തമായ കാരണമില്ലാതെ സമാരംഭിക്കുന്നതിനുപകരം ആവശ്യമുള്ളപ്പോൾ (സിസ്റ്റം ഉറവിടങ്ങൾ ഉപയോഗിക്കുന്നത് ഒഴിവാക്കാൻ) സേവനങ്ങൾ ആരംഭിക്കുന്നു.

systemd നേറ്റീവ്, SysV എന്നീ സേവനങ്ങൾ നിങ്ങളുടെ സിസ്റ്റത്തിൽ പ്രവർത്തിക്കുന്ന എല്ലാ പ്രക്രിയകളുടെയും നില കാണുമ്പോൾ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# systemctl

LOAD കോളം, യൂണിറ്റ് നിർവചനം (UNIT നിര കാണുക, അത് സേവനമോ systemd പരിപാലിക്കുന്ന മറ്റെന്തെങ്കിലുമോ കാണിക്കുന്നു) ശരിയായി ലോഡ് ചെയ്തിട്ടുണ്ടോ എന്ന് കാണിക്കുന്നു, അതേസമയം Active, SUB നിരകൾ അത്തരം യൂണിറ്റിന്റെ നിലവിലെ നില കാണിക്കുന്നു.

ഒരു യൂണിറ്റിന്റെ നില സജീവമല്ലെന്ന് Active കോളം സൂചിപ്പിക്കുമ്പോൾ, എന്താണ് സംഭവിച്ചതെന്ന് നമുക്ക് പരിശോധിക്കാം.

# systemctl status [unit]

ഉദാഹരണത്തിന്, മുകളിലുള്ള ചിത്രത്തിൽ, media-samba.mount പരാജയപ്പെട്ട അവസ്ഥയിലാണ്. ഓടാം.

# systemctl status media-samba.mount

ഹോസ്റ്റ് dev1-ലെ മൗണ്ട് പ്രോസസ്സിന് //192.168.0.10/gacanepa< എന്നതിൽ നെറ്റ്uവർക്ക് പങ്കിടൽ കണ്ടെത്താൻ കഴിയാത്തതിനാൽ media-samba.mount പരാജയപ്പെട്ടതായി നമുക്ക് കാണാൻ കഴിയും..

സേവനങ്ങൾ ആരംഭിക്കുകയോ നിർത്തുകയോ ചെയ്യുക

നെറ്റ്uവർക്ക് ഷെയർ //192.168.0.10/gacanepa ലഭ്യമായിക്കഴിഞ്ഞാൽ, നമുക്ക് ആരംഭിക്കാൻ ശ്രമിക്കാം, തുടർന്ന് നിർത്താം, ഒടുവിൽ യൂണിറ്റ് media-samba.mount പുനരാരംഭിക്കാം. ഓരോ പ്രവൃത്തിയും ചെയ്ത ശേഷം, അതിന്റെ സ്റ്റാറ്റസ് പരിശോധിക്കാൻ systemctl status media-samba.mount പ്രവർത്തിപ്പിക്കാം.

# systemctl start media-samba.mount
# systemctl status media-samba.mount
# systemctl stop media-samba.mount
# systemctl restart media-samba.mount
# systemctl status media-samba.mount

systemd എന്നതിന് കീഴിൽ നിങ്ങൾക്ക് ഒരു സേവനം ബൂട്ട് ചെയ്യുമ്പോൾ അത് പ്രവർത്തനക്ഷമമാക്കാനോ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയും.

# systemctl enable [service] 		# enable a service 
# systemctl disable [service] 		# prevent a service from starting at boot

ബൂട്ടിൽ യാന്ത്രികമായി ആരംഭിക്കുന്നതിന് ഒരു സേവനം പ്രവർത്തനക്ഷമമാക്കുകയോ പ്രവർത്തനരഹിതമാക്കുകയോ ചെയ്യുന്ന പ്രക്രിയ, /etc/systemd/system/multi-user.target.wants ഡയറക്uടറിയിൽ പ്രതീകാത്മക ലിങ്കുകൾ ചേർക്കുന്നതും നീക്കംചെയ്യുന്നതും ഉൾക്കൊള്ളുന്നു.

പകരമായി, കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു സേവനത്തിന്റെ നിലവിലെ നില (പ്രാപ്തമാക്കിയതോ പ്രവർത്തനരഹിതമാക്കിയതോ) കണ്ടെത്താനാകും.

# systemctl is-enabled [service]

ഉദാഹരണത്തിന്,

# systemctl is-enabled postfix.service

കൂടാതെ, നിങ്ങൾക്ക് സിസ്റ്റം റീബൂട്ട് ചെയ്യാനോ ഷട്ട്ഡൗൺ ചെയ്യാനോ കഴിയും.

# systemctl reboot
# systemctl shutdown

അപ്സ്റ്റാർട്ട്

Upstart എന്നത് /sbin/init ഡെമണിന്റെ ഇവന്റ് അധിഷ്uഠിത പകരക്കാരനാണ്, മാത്രമല്ല സേവനങ്ങൾ ആവശ്യമുള്ളപ്പോൾ മാത്രം ആരംഭിക്കേണ്ടതിന്റെ ആവശ്യകതയിൽ നിന്നാണ് (അവർ അവരുടെ മേൽനോട്ടം വഹിക്കുകയും ചെയ്യുന്നു. പ്രവർത്തിക്കുന്നു), ഇവന്റുകൾ സംഭവിക്കുമ്പോൾ അവ കൈകാര്യം ചെയ്യുന്നു, അങ്ങനെ ക്ലാസിക്, ഡിപൻഡൻസി അടിസ്ഥാനമാക്കിയുള്ള സിസ്uവിനിറ്റ് സിസ്റ്റത്തെ മറികടക്കുന്നു.

ഇത് യഥാർത്ഥത്തിൽ ഉബുണ്ടു വിതരണത്തിനായി വികസിപ്പിച്ചെടുത്തതാണ്, പക്ഷേ ഇത് Red Hat Enterprise Linux 6.0-ൽ ഉപയോഗിക്കുന്നു. sysvinit ന് പകരമായി എല്ലാ Linux വിതരണങ്ങളിലും വിന്യസിക്കുന്നതിന് അനുയോജ്യമാക്കാനാണ് ഇത് ഉദ്ദേശിച്ചിരുന്നതെങ്കിലും, കാലക്രമേണ അത് systemd നിഴലിച്ചു. 2014 ഫെബ്രുവരി 14-ന്, മാർക്ക് ഷട്ടിൽവർത്ത് (കനോനിക്കൽ ലിമിറ്റഡിന്റെ സ്ഥാപകൻ) ഉബുണ്ടുവിന്റെ ഭാവി പതിപ്പുകളിൽ systemd ഡിഫോൾട്ട് init ഡെമൺ ആയി ഉപയോഗിക്കുമെന്ന് പ്രഖ്യാപിച്ചു.

സിസ്റ്റത്തിനായുള്ള SysV സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റ് വളരെക്കാലമായി വളരെ സാധാരണമായതിനാൽ, ധാരാളം സോഫ്റ്റ്വെയർ പാക്കേജുകളിൽ SysV സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റുകൾ ഉൾപ്പെടുന്നു. അത്തരം പാക്കേജുകൾ ഉൾക്കൊള്ളാൻ, Upstart ഒരു അനുയോജ്യത മോഡ് നൽകുന്നു: ഇത് സാധാരണ ലൊക്കേഷനുകളിൽ (/etc/rc.d/rc?.d, /etc/init.d/ SysV സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു. rc?.d, /etc/rc?.d, അല്ലെങ്കിൽ സമാനമായ ഒരു സ്ഥലം). അതിനാൽ, അപ്uസ്റ്റാർട്ട് കോൺഫിഗറേഷൻ സ്uക്രിപ്റ്റ് ഉൾപ്പെടുത്താത്ത ഒരു പാക്കേജ് ഞങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്താൽ, അത് സാധാരണ രീതിയിൽ തന്നെ ലോഞ്ച് ചെയ്യണം.

കൂടാതെ, chkconfig പോലുള്ള യൂട്ടിലിറ്റികൾ ഞങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, ഞങ്ങൾ sysvinit അധിഷ്uഠിത സിസ്റ്റങ്ങളിൽ ചെയ്യുന്നതുപോലെ നിങ്ങളുടെ SysV-അധിഷ്uഠിത സേവനങ്ങൾ നിയന്ത്രിക്കുന്നതിന് നിങ്ങൾക്ക് അവ ഉപയോഗിക്കാനാകും.

SysV സ്റ്റാർട്ടപ്പ് സ്uക്രിപ്റ്റുകളേക്കാൾ വൈവിധ്യമാർന്ന പ്രവർത്തനങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള സേവനങ്ങൾ ആരംഭിക്കുന്നതിനോ നിർത്തുന്നതിനോ അപ്uസ്റ്റാർട്ട് സ്uക്രിപ്റ്റുകൾ പിന്തുണയ്ക്കുന്നു; ഉദാഹരണത്തിന്, ഒരു പ്രത്യേക ഹാർഡ്uവെയർ ഉപകരണം അറ്റാച്ചുചെയ്യുമ്പോഴെല്ലാം Upstart-ന് ഒരു സേവനം ആരംഭിക്കാൻ കഴിയും.

Upstart ഉം അതിന്റെ നേറ്റീവ് സ്ക്രിപ്റ്റുകളും ഉപയോഗിക്കുന്ന ഒരു സിസ്റ്റം /etc/inittab ഫയലും റൺലെവൽ-നിർദ്ദിഷ്ട SysV സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റ് ഡയറക്ടറികളും .conf ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. /etc/init ഡയറക്ടറിയിലെ സ്ക്രിപ്റ്റുകൾ.

*.conf സ്ക്രിപ്റ്റുകൾ (ജോലി നിർവചനങ്ങൾ എന്നും അറിയപ്പെടുന്നു) സാധാരണയായി ഇനിപ്പറയുന്നവ ഉൾക്കൊള്ളുന്നു:

    1. പ്രക്രിയയുടെ വിവരണം.
    2. പ്രോസസ് റൺ ലെവലുകൾ അല്ലെങ്കിൽ അത് ട്രിഗർ ചെയ്യേണ്ട ഇവന്റുകൾ.
    3. പ്രക്രിയ നിർത്തേണ്ട റൺലെവലുകൾ അല്ലെങ്കിൽ അത് നിർത്തേണ്ട ഇവന്റുകൾ.
    4. ഓപ്ഷനുകൾ.
    5. പ്രോസസ്സ് സമാരംഭിക്കാനുള്ള കമാൻഡ്.

    ഉദാഹരണത്തിന്,

    # My test service - Upstart script demo description "Here goes the description of 'My test service'" author "Dave Null <[email >"
    # Stanzas
    
    #
    # Stanzas define when and how a process is started and stopped
    # See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn
    # When to start the service
    start on runlevel [2345]
    # When to stop the service
    stop on runlevel [016]
    # Automatically restart process in case of crash
    respawn
    # Specify working directory
    chdir /home/dave/myfiles
    # Specify the process/command (add arguments if needed) to run
    exec bash backup.sh arg1 arg2
    

    മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന്, അതിന്റെ കോൺഫിഗറേഷൻ റീലോഡ് ചെയ്യാൻ നിങ്ങൾ upstart-നോട് പറയേണ്ടതുണ്ട്.

    # initctl reload-configuration
    

    തുടർന്ന് താഴെ പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്തുകൊണ്ട് നിങ്ങളുടെ ജോലി ആരംഭിക്കുക.

    $ sudo start yourjobname
    

    yourjobname.conf സ്ക്രിപ്റ്റിനൊപ്പം മുമ്പ് ചേർത്ത ജോലിയുടെ പേരാണ് yourjobname.

    Upstart-നുള്ള കൂടുതൽ പൂർണ്ണവും വിശദവുമായ ഒരു റഫറൻസ് ഗൈഡ് പ്രൊജക്റ്റിന്റെ വെബ്uസൈറ്റിൽ \കുക്ക്ബുക്ക് മെനുവിന് കീഴിൽ ലഭ്യമാണ്.

    സംഗ്രഹം

    ട്രബിൾഷൂട്ടിംഗ് ടാസ്ക്കുകൾക്കും കമ്പ്യൂട്ടറിന്റെ പ്രകടനവും നിങ്ങളുടെ ആവശ്യങ്ങൾക്ക് അനുസൃതമായി സേവനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതും നിങ്ങളെ സഹായിക്കുന്നതിന് Linux ബൂട്ട് പ്രക്രിയയെക്കുറിച്ചുള്ള അറിവ് ആവശ്യമാണ്.

    മെഷീൻ ഓണാക്കാൻ നിങ്ങൾ പവർ സ്വിച്ച് അമർത്തുന്നത് മുതൽ നിങ്ങൾക്ക് പൂർണ്ണമായി പ്രവർത്തനക്ഷമമായ ഒരു ഉപയോക്തൃ ഇന്റർഫേസ് ലഭിക്കുന്നതുവരെ എന്താണ് സംഭവിക്കുന്നതെന്ന് ഈ ലേഖനത്തിൽ ഞങ്ങൾ വിശകലനം ചെയ്തിട്ടുണ്ട്. ഇത് ഒരുമിച്ച് ചേർക്കുമ്പോൾ ഞാൻ പഠിച്ചതുപോലെ നിങ്ങൾ ഇത് വായിക്കാൻ പഠിച്ചിട്ടുണ്ടെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. നിങ്ങളുടെ അഭിപ്രായങ്ങളോ ചോദ്യങ്ങളോ ചുവടെ ഇടാൻ മടിക്കേണ്ടതില്ല. ഞങ്ങളുടെ വായനക്കാരിൽ നിന്ന് കേൾക്കാൻ ഞങ്ങൾ എപ്പോഴും കാത്തിരിക്കുന്നു!