ആർuഎച്ച്uസിuഎസ്uഎ സീരീസ്: യം പാക്കേജ് മാനേജ്uമെന്റ്, ക്രോൺ, മോണിറ്ററിംഗ് സിസ്റ്റം ലോഗുകൾ ഉപയോഗിച്ച് ഓട്ടോമേറ്റിംഗ് ടാസ്uക്കുകൾ - ഭാഗം 10


ഈ ലേഖനത്തിൽ Red Hat Enterprise Linux 7-ൽ പാക്കേജുകൾ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും അപ്ഡേറ്റ് ചെയ്യാമെന്നും നീക്കം ചെയ്യാമെന്നും ഞങ്ങൾ അവലോകനം ചെയ്യും. ക്രോൺ ഉപയോഗിച്ച് ടാസ്ക്കുകൾ എങ്ങനെ ഓട്ടോമേറ്റ് ചെയ്യാം എന്നതും ഞങ്ങൾ കവർ ചെയ്യും, കൂടാതെ സിസ്റ്റം ലോഗ് ഫയലുകൾ എങ്ങനെ ഫോക്കസ് ചെയ്യാമെന്നും വ്യാഖ്യാനിക്കാമെന്നും വിശദീകരിക്കുന്ന ഈ ഗൈഡ് പൂർത്തിയാക്കും. ഇവയെല്ലാം ഓരോ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർക്കും ആവശ്യമായ കഴിവുകളാകുന്നത് എന്തുകൊണ്ടാണെന്ന് നിങ്ങളെ പഠിപ്പിക്കുന്നു.

Yum വഴി പാക്കേജുകൾ കൈകാര്യം ചെയ്യുന്നു

ഇതിനകം ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലാത്ത ഒരു പാക്കേജ് അതിന്റെ എല്ലാ ഡിപൻഡൻസികളും സഹിതം ഇൻസ്റ്റാൾ ചെയ്യാൻ, നിങ്ങൾ ഇത് ഉപയോഗിക്കും:

# yum -y install package_name(s)

പാക്കേജ്_നാമം(കൾ) കുറഞ്ഞത് ഒരു യഥാർത്ഥ പാക്കേജ് പേരെങ്കിലും പ്രതിനിധീകരിക്കുന്നു.

ഉദാഹരണത്തിന്, httpd, mlocate എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യാൻ (ആ ക്രമത്തിൽ), ടൈപ്പ് ചെയ്യുക.

# yum -y install httpd mlocate

ശ്രദ്ധിക്കുക: മുകളിലെ ഉദാഹരണത്തിലെ y എന്ന അക്ഷരം അഭ്യർത്ഥിച്ച പ്രോഗ്രാമുകളുടെ യഥാർത്ഥ ഡൗൺലോഡും ഇൻസ്റ്റാളേഷനും നടത്തുന്നതിന് മുമ്പ് yum അവതരിപ്പിക്കുന്ന സ്ഥിരീകരണ നിർദ്ദേശങ്ങളെ മറികടക്കുന്നു. നിങ്ങൾക്ക് വേണമെങ്കിൽ അത് ഉപേക്ഷിക്കാം.

ഡിഫോൾട്ടായി, പാക്കേജ് ആർക്കിടെക്ചർ അതിന്റെ പേരിൽ ചേർത്തുകൊണ്ട് അസാധുവാക്കാത്തപക്ഷം, OS ആർക്കിടെക്ചറുമായി പൊരുത്തപ്പെടുന്ന ആർക്കിടെക്ചർ ഉപയോഗിച്ച് yum പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യും.

ഉദാഹരണത്തിന്, 64 ബിറ്റ് സിസ്റ്റത്തിൽ, yum ഇൻസ്റ്റാൾ പാക്കേജ് പാക്കേജിന്റെ x86_64 പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യും, അതേസമയം yum install package.x86 (ലഭ്യമെങ്കിൽ) 32-ബിറ്റ് ഒന്ന് ഇൻസ്റ്റാൾ ചെയ്യും.

നിങ്ങൾ ഒരു പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യാൻ ആഗ്രഹിക്കുന്ന സമയങ്ങളുണ്ട്, പക്ഷേ അതിന്റെ കൃത്യമായ പേര് അറിയില്ല. എല്ലാ സെർച്ച് അല്ലെങ്കിൽ സെർച്ച് ഓപ്uഷനുകൾക്കും നിലവിൽ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുള്ള റിപ്പോസിറ്ററികൾ പാക്കേജ് നാമത്തിലും/അല്ലെങ്കിൽ അതിന്റെ വിവരണത്തിലും യഥാക്രമം ഒരു നിശ്ചിത കീവേഡിനായി തിരയാൻ കഴിയും.

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

# yum search log

ഇൻസ്റ്റോൾ ചെയ്ത റിപ്പോസിറ്ററികളിൽ അവയുടെ പേരുകളിലും സംഗ്രഹങ്ങളിലും ലോഗ് എന്ന വാക്ക് ഉള്ള പാക്കേജുകൾക്കായി തിരയും

# yum search all log

പാക്കേജ് വിവരണത്തിലും url ഫീൽഡുകളിലും ഒരേ കീവേഡിനായി നോക്കും.

തിരയൽ ഒരു പാക്കേജ് ലിസ്uറ്റിംഗ് തിരികെ നൽകിക്കഴിഞ്ഞാൽ, ഇൻസ്റ്റാളുചെയ്യുന്നതിന് മുമ്പ് അവയിൽ ചിലതിനെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ പ്രദർശിപ്പിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം. അപ്പോഴാണ് വിവര ഓപ്ഷൻ ഉപയോഗപ്രദമാകുന്നത്:

# yum info logwatch

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് പതിവായി അപ്uഡേറ്റുകൾ പരിശോധിക്കാം:

# yum check-update

അപ്ഡേറ്റ് ലഭ്യമായ എല്ലാ ഇൻസ്റ്റോൾ ചെയ്ത പാക്കേജുകളും മുകളിലെ കമാൻഡ് തിരികെ നൽകും. ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്ന ഉദാഹരണത്തിൽ, rhel-7-server-rpms-ന് മാത്രമേ ഒരു അപ്uഡേറ്റ് ലഭ്യമാകൂ:

തുടർന്ന് നിങ്ങൾക്ക് ആ പാക്കേജ് ഇതുപയോഗിച്ച് മാത്രം അപ്ഡേറ്റ് ചെയ്യാം,

# yum update rhel-7-server-rpms

അപ്ഡേറ്റ് ചെയ്യാൻ കഴിയുന്ന നിരവധി പാക്കേജുകൾ ഉണ്ടെങ്കിൽ, yum അപ്ഡേറ്റ് അവയെല്ലാം ഒരേസമയം അപ്ഡേറ്റ് ചെയ്യും.

ps2pdf പോലെയുള്ള ഒരു എക്uസിക്യൂട്ടബിളിന്റെ പേര് നിങ്ങൾക്ക് അറിയാമെങ്കിലും ഏത് പാക്കേജാണ് ഇത് നൽകുന്നതെന്ന് അറിയില്ലെങ്കിൽ ഇപ്പോൾ എന്ത് സംഭവിക്കും? yum എന്താണ് നൽകുന്നത് \*/[എക്സിക്യൂട്ടബിൾ]” ഉപയോഗിച്ച് നിങ്ങൾക്ക് കണ്ടെത്താനാകും:

# yum whatprovides “*/ps2pdf”

ഇപ്പോൾ, ഒരു പാക്കേജ് നീക്കം ചെയ്യുമ്പോൾ, yum നീക്കം പാക്കേജ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് അത് ചെയ്യാൻ കഴിയും. എളുപ്പം, അല്ലേ? yum പൂർണ്ണവും ശക്തവുമായ ഒരു പാക്കേജ് മാനേജരാണെന്ന് ഇത് കാണിക്കുന്നു.

# yum remove httpd

ഇതും വായിക്കുക: RHEL 7 പാക്കേജ് മാനേജ്uമെന്റ് നിയന്ത്രിക്കാൻ 20 Yum കമാൻഡുകൾ

നല്ല പഴയ പ്ലെയിൻ ആർപിഎം

RPM (അല്ലെങ്കിൽ RPM പാക്കേജ് മാനേജർ അല്ലെങ്കിൽ യഥാർത്ഥത്തിൽ RedHat പാക്കേജ് മാനേജർ) പാക്കേജുകൾ സ്റ്റാൻഡലോൺ .rpm പാക്കേജുകളുടെ രൂപത്തിൽ വരുമ്പോൾ അവ ഇൻസ്റ്റാൾ ചെയ്യാനോ അപ്ഡേറ്റ് ചെയ്യാനോ ഉപയോഗിക്കാം.

പാക്കേജ് നിലവിൽ ഇല്ലെങ്കിൽ അത് ഇൻസ്റ്റാൾ ചെയ്യണമെന്ന് സൂചിപ്പിക്കാൻ ഇത് പലപ്പോഴും -Uvh ഫ്ലാഗുകൾക്കൊപ്പം ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ അത് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ (-U) നിർമ്മിക്കുന്നു ഒരു വെർബോസ് ഔട്ട്uപുട്ട് (-v) കൂടാതെ ഹാഷ് മാർക്കുകളുള്ള ഒരു പ്രോഗ്രസ് ബാറും പ്രവർത്തനം നടക്കുമ്പോൾ (-h). ഉദാഹരണത്തിന്,

# rpm -Uvh package.rpm

rpm-ന്റെ മറ്റൊരു സാധാരണ ഉപയോഗം കോഡ്>rpm -qa ഉപയോഗിച്ച് നിലവിൽ ഇൻസ്റ്റാൾ ചെയ്ത പാക്കേജുകളുടെ ഒരു ലിസ്റ്റ് നിർമ്മിക്കുക എന്നതാണ് (എല്ലാം അന്വേഷിക്കുന്നതിനുള്ള ചുരുക്കം):

# rpm -qa

ഇതും വായിക്കുക: RHEL 7-ൽ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ 20 RPM കമാൻഡുകൾ

ക്രോൺ ഉപയോഗിച്ച് ടാസ്uക്കുകൾ ഷെഡ്യൂൾ ചെയ്യുന്നു

Linux ഉം മറ്റ് Unix പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളും ക്രോൺ എന്ന് വിളിക്കുന്ന ഒരു ടൂൾ ഉൾക്കൊള്ളുന്നു, അത് ആനുകാലിക അടിസ്ഥാനത്തിൽ പ്രവർത്തിക്കുന്നതിന് ടാസ്uക്കുകൾ (അതായത് കമാൻഡുകൾ അല്ലെങ്കിൽ ഷെൽ സ്uക്രിപ്റ്റുകൾ) ഷെഡ്യൂൾ ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു. /etc/passwd-ലെ അക്കൗണ്ടുകളുടെ പേരിലുള്ള ഫയലുകൾക്കായി ക്രോൺ ഓരോ മിനിറ്റിലും /var/spool/cron ഡയറക്ടറി പരിശോധിക്കുന്നു.

കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, ഏതെങ്കിലും ഔട്ട്പുട്ട് crontab-ന്റെ ഉടമയ്ക്ക് (അല്ലെങ്കിൽ /etc/crontab-ൽ MAILTO എൻവയോൺമെന്റ് വേരിയബിളിൽ വ്യക്തമാക്കിയിട്ടുള്ള ഉപയോക്താവിന്, അത് നിലവിലുണ്ടെങ്കിൽ) മെയിൽ ചെയ്യുന്നു.

Crontab ഫയലുകൾക്ക് (ഇവ crontab -e എന്ന് ടൈപ്പ് ചെയ്ത് എന്റർ അമർത്തി സൃഷ്ടിച്ചത്) ഇനിപ്പറയുന്ന ഫോർമാറ്റ് ഉണ്ട്:

അതിനാൽ, നമുക്ക് ലോക്കൽ ഫയൽ ഡാറ്റാബേസ് (പേരോ പാറ്റേണോ ഉപയോഗിച്ച് ഫയലുകൾ കണ്ടെത്താൻ ലൊക്കേറ്റ് ഉപയോഗിക്കുന്നു) അപ്uഡേറ്റ് ചെയ്യണമെങ്കിൽ, മാസത്തിലെ എല്ലാ രണ്ടാം ദിവസവും പുലർച്ചെ 2:15 ന്, ഞങ്ങൾ ഇനിപ്പറയുന്ന ക്രോണ്ടാബ് എൻട്രി ചേർക്കേണ്ടതുണ്ട്:

15 02 2 * * /bin/updatedb

മുകളിലെ ക്രോണ്ടാബ് എൻട്രി ഇങ്ങനെ വായിക്കുന്നു, \ആഴ്ചയിലെ ദിവസം പരിഗണിക്കാതെ, എല്ലാ മാസവും, മാസത്തിലെ രണ്ടാം ദിവസം, 2:15 am-ന് /bin/updatedb റൺ ചെയ്യുക. നിങ്ങൾ ഇതിനകം ഊഹിച്ചതായി എനിക്ക് ഉറപ്പുണ്ട് , നക്ഷത്ര ചിഹ്നം ഒരു വൈൽഡ്കാർഡ് പ്രതീകമായി ഉപയോഗിക്കുന്നു.

ഒരു ക്രോൺ ജോബ് ചേർത്തതിന് ശേഷം, ഞങ്ങൾ നേരത്തെ സൂചിപ്പിച്ചതുപോലെ /var/spool/cron ഉള്ളിൽ റൂട്ട് എന്ന പേരിൽ ഒരു ഫയൽ ചേർത്തതായി നിങ്ങൾക്ക് കാണാം. ക്രോണ്ട് ഡെമൺ പ്രവർത്തിപ്പിക്കേണ്ട എല്ലാ ജോലികളും ആ ഫയൽ പട്ടികപ്പെടുത്തുന്നു:

# ls -l /var/spool/cron

മുകളിലെ ചിത്രത്തിൽ, cat /var/spool/cron/root അല്ലെങ്കിൽ, ഉപയോഗിച്ച് നിലവിലെ ഉപയോക്താവിന്റെ crontab പ്രദർശിപ്പിക്കാൻ കഴിയും

# crontab -l

നിങ്ങൾക്ക് ഒരു ടാസ്uക് കൂടുതൽ സൂക്ഷ്മമായി പ്രവർത്തിപ്പിക്കണമെങ്കിൽ (ഉദാഹരണത്തിന്, ദിവസത്തിൽ രണ്ടുതവണ അല്ലെങ്കിൽ ഓരോ മാസവും മൂന്ന് തവണ), അത് ചെയ്യാൻ ക്രോണിനും നിങ്ങളെ സഹായിക്കാനാകും.

ഉദാഹരണത്തിന്, ഓരോ മാസവും 1, 15 തീയതികളിൽ /my/script പ്രവർത്തിപ്പിക്കുന്നതിനും /dev/null-ലേക്ക് ഏതെങ്കിലും ഔട്ട്പുട്ട് അയക്കുന്നതിനും, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ രണ്ട് ക്രോണ്ടാബ് എൻട്രികൾ ചേർക്കാവുന്നതാണ്:

01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1

എന്നാൽ ചുമതല പരിപാലിക്കുന്നത് എളുപ്പമാക്കുന്നതിന്, നിങ്ങൾക്ക് രണ്ട് എൻട്രികളും ഒന്നായി സംയോജിപ്പിക്കാം:

01 00 1,15 * *  /my/script > /dev/null 2>&1

മുമ്പത്തെ ഉദാഹരണം പിന്തുടർന്ന്, ഓരോ മൂന്ന് മാസത്തിലും മാസത്തിന്റെ ആദ്യ ദിവസം പുലർച്ചെ 1:30 ന് നമുക്ക് /my/other/script പ്രവർത്തിപ്പിക്കാം:

30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1

എന്നാൽ ഓരോ \x മിനിറ്റിലും മണിക്കൂറിലും ദിവസങ്ങളിലും മാസങ്ങളിലും ഒരു നിശ്ചിത ടാസ്ക് ആവർത്തിക്കേണ്ടിവരുമ്പോൾ, നിങ്ങൾക്ക് ആവശ്യമുള്ള ആവൃത്തി ഉപയോഗിച്ച് ശരിയായ സ്ഥാനം വിഭജിക്കാം. ഇനിപ്പറയുന്ന ക്രോണ്ടാബ് എൻട്രിക്ക് മുമ്പത്തേതിന് സമാനമായ അർത്ഥമുണ്ട്:

30 01 1 */3 * /my/other/script > /dev/null 2>&1

അല്ലെങ്കിൽ ഒരു നിശ്ചിത ആവൃത്തിയിൽ അല്ലെങ്കിൽ സിസ്റ്റം ബൂട്ട് ചെയ്തതിന് ശേഷം നിങ്ങൾ ഒരു നിശ്ചിത ജോലി പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്. നിങ്ങളുടെ ജോലി എപ്പോൾ പ്രവർത്തിക്കണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്ന കൃത്യമായ സമയം സൂചിപ്പിക്കാൻ അഞ്ച് ഫീൽഡുകൾക്ക് പകരം ഇനിപ്പറയുന്ന സ്ട്രിംഗിൽ ഒന്ന് ഉപയോഗിക്കാം:

@reboot    	Run when the system boots.
@yearly    	Run once a year, same as 00 00 1 1 *.
@monthly   	Run once a month, same as 00 00 1 * *.
@weekly    	Run once a week, same as 00 00 * * 0.
@daily     	Run once a day, same as 00 00 * * *.
@hourly    	Run once an hour, same as 00 * * * *.

ഇതും വായിക്കുക: RHEL 7-ൽ ക്രോൺ ജോലികൾ ഷെഡ്യൂൾ ചെയ്യുന്നതിനുള്ള 11 കമാൻഡുകൾ

ലോഗുകൾ കണ്ടെത്തുകയും പരിശോധിക്കുകയും ചെയ്യുന്നു

സിസ്റ്റം ലോഗുകൾ /var/log ഡയറക്uടറിക്കുള്ളിൽ സ്ഥിതിചെയ്യുന്നു (തിരിക്കുന്നതും). ലിനക്സ് ഫയൽസിസ്റ്റം ഹൈരാർക്കി സ്റ്റാൻഡേർഡ് അനുസരിച്ച്, ഈ ഡയറക്uടറിയിൽ വിവിധ ലോഗ് ഫയലുകൾ അടങ്ങിയിരിക്കുന്നു, അവ സിസ്റ്റം ഓപ്പറേഷൻ സമയത്ത് അനുബന്ധ ഡെമണുകളാൽ അതിലേക്ക് എഴുതിയതോ ഉചിതമായ ഉപഡയറക്uടറിയോ (ചുവടെയുള്ള ചിത്രത്തിലെ ഓഡിറ്റ്, httpd, അല്ലെങ്കിൽ സാംബ പോലുള്ളവ) ഉണ്ട്:

# ls /var/log

dmesg (കേർണൽ റിംഗ് ബഫറിൽ നിന്നുള്ള എല്ലാ സന്ദേശങ്ങളും അടങ്ങിയിരിക്കുന്നു), സുരക്ഷിതം (ഉപയോക്തൃ ആധികാരികത ആവശ്യമുള്ള ലോഗ് കണക്ഷൻ ശ്രമങ്ങൾ), സന്ദേശങ്ങൾ (സിസ്റ്റം-വൈഡ് സന്ദേശങ്ങൾ), wtmp (എല്ലാ ഉപയോക്തൃ ലോഗിനുകളുടെയും ലോഗ്ഔട്ടുകളുടെയും രേഖകൾ) എന്നിവയാണ് മറ്റ് രസകരമായ ലോഗുകൾ.

നിങ്ങളുടെ സിസ്റ്റത്തിൽ എല്ലായ്uപ്പോഴും എന്താണ് നടക്കുന്നതെന്നും മുൻകാലങ്ങളിൽ എന്താണ് സംഭവിച്ചതെന്നും അറിയാൻ നിങ്ങളെ അനുവദിക്കുന്നതിനാൽ ലോഗുകൾ വളരെ പ്രധാനമാണ്. ഒരു ലിനക്സ് സെർവറിന്റെ ട്രബിൾഷൂട്ട് ചെയ്യുന്നതിനും നിരീക്ഷിക്കുന്നതിനുമുള്ള ഒരു വിലമതിക്കാനാകാത്ത ടൂളാണ് അവ പ്രതിനിധീകരിക്കുന്നത്, അതിനാൽ ഇവന്റുകൾ സംഭവിക്കുമ്പോൾ, ഒരു ലോഗിൽ റെക്കോർഡ് ചെയ്യപ്പെടുമ്പോൾ, തത്സമയം പ്രദർശിപ്പിക്കുന്നതിന്, tail -f കമാൻഡ് ഉപയോഗിച്ച് പലപ്പോഴും ഉപയോഗിക്കുന്നു.

ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് കേർണലുമായി ബന്ധപ്പെട്ട ഇവന്റുകൾ പ്രദർശിപ്പിക്കണമെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക:

# tail -f /var/log/dmesg

നിങ്ങളുടെ വെബ് സെർവറിലേക്കുള്ള ആക്uസസ് കാണണമെങ്കിൽ ഇതുതന്നെ:

# tail -f /var/log/httpd/access.log

സംഗ്രഹം

പാക്കേജുകൾ എങ്ങനെ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യാമെന്നും ടാസ്uക്കുകൾ ഷെഡ്യൂൾ ചെയ്യാമെന്നും നിങ്ങളുടെ സിസ്റ്റത്തിന്റെ നിലവിലുള്ളതും മുൻകാലവുമായ പ്രവർത്തനങ്ങളെ കുറിച്ചുള്ള വിവരങ്ങൾ എവിടെയാണ് തിരയേണ്ടതെന്നും നിങ്ങൾക്കറിയാമെങ്കിൽ, നിങ്ങൾ പലപ്പോഴും ആശ്ചര്യപ്പെടുകയില്ലെന്ന് നിങ്ങൾക്ക് ഉറപ്പിക്കാം. ഈ അടിസ്ഥാന കഴിവുകളെക്കുറിച്ചുള്ള നിങ്ങളുടെ അറിവ് പഠിക്കാനോ പുതുക്കാനോ ഈ ലേഖനം നിങ്ങളെ സഹായിച്ചിട്ടുണ്ടെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു.

നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ ചുവടെയുള്ള കോൺടാക്റ്റ് ഫോം ഉപയോഗിച്ച് ഞങ്ങൾക്ക് ഒരു ലൈൻ ഡ്രോപ്പ് ചെയ്യാൻ മടിക്കരുത്.