ലിനക്സിൽ കോൺഫിഗറേഷൻ ഫയലുകൾ അല്ലെങ്കിൽ സ്ക്രിപ്റ്റുകൾ സാധൂകരിക്കാനുള്ള 30 വഴികൾ


ഒരു ആപ്ലിക്കേഷന്റെയോ സേവനത്തിന്റെയോ കോൺഫിഗറേഷൻ ഫയലിൽ മാറ്റങ്ങൾ വരുത്തിയതിനുശേഷമോ അപ്uഡേറ്റുകൾ പ്രവർത്തിപ്പിച്ചതിന് ശേഷവും നടത്താനുള്ള ഒരു പ്രധാന ഘട്ടമാണ് കോൺഫിഗറേഷൻ സിന്റാക്സ് പരിശോധന കൂടാതെ/അല്ലെങ്കിൽ പരിശോധന. കോൺഫിഗറേഷൻ പിശകുകൾ കാരണം സേവനം പുനരാരംഭിക്കുന്നതിൽ പരാജയപ്പെടാനുള്ള സാധ്യത കുറയ്ക്കാൻ ഇത് സഹായിക്കുന്നു.

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

ശ്രദ്ധിക്കുക: നിങ്ങൾ ഒരു സെർവറിൽ റൂട്ട് ഉപയോക്താവായി ലോഗിൻ ചെയ്തിട്ടില്ലെങ്കിൽ ഉപയോഗിക്കുക, ഒരു കമാൻഡ് അഭ്യർത്ഥിക്കുമ്പോൾ ആവശ്യമുള്ളിടത്ത് sudo കമാൻഡ് ഉപയോഗിക്കാൻ ഓർമ്മിക്കുക, കാരണം ചില സേവനങ്ങൾ റൂട്ട് പ്രത്യേകാവകാശങ്ങളോടെ പ്രവർത്തിക്കുന്നു, കൂടാതെ അവയുടെ കോൺഫിഗറേഷൻ ഫയലുകൾ പരിശോധിക്കുന്നതിന് റൂട്ട് ഉപയോക്തൃ അനുമതികൾ ആവശ്യമാണ്.

1. സുഡോ കമാൻഡ്

വിസുഡോ കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് സുഡോ കോൺഫിഗറേഷൻ ഫയൽ സിന്റാക്സ് പരിശോധിക്കാം, അത് ഒരു എഡിറ്റ് കൂടാതെ ഒരു ഫയലിനെ മാത്രം സാധൂകരിക്കുന്നതിന് ഒരു --check അല്ലെങ്കിൽ -c കമാൻഡ് ലൈൻ ഓപ്ഷൻ പിന്തുണയ്ക്കുന്നു. -f ഓപ്ഷൻ പിശക് സന്ദേശം പ്രദർശിപ്പിക്കുകയും എഡിറ്റുചെയ്യുന്നതിനായി ഫയൽ തുറക്കുകയും ചെയ്യുന്നു:

# visudo -c /etc/sudoers
OR
# visudo -c /etc/sudoers.d/my_config
OR
# visudo -f /etc/sudoers.d/my_config

2. ബാഷ് സ്ക്രിപ്റ്റ്

വാക്യഘടന പിശകുകൾക്കായി നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ ബാഷ് സ്ക്രിപ്റ്റുകൾ പരിശോധിക്കാം:

# bash -n /path/to/scriptname.sh

3. പേൾ സ്ക്രിപ്റ്റുകൾ

വാക്യഘടന പിശകുകൾക്കായി Perl സ്ക്രിപ്റ്റുകൾ പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക:

# perl -c /path/to/scriptname

4. Systemd യൂണിറ്റ് ഫയലുകൾ

\systemd-analyze verify കമാൻഡ്, systemd യൂണിറ്റ് ഫയൽ സിന്റാക്സ് പിശകുകൾക്കായി പരിശോധിക്കാൻ അനുവദിക്കുന്നു.ഇത് യൂണിറ്റ് ഫയലുകൾ ലോഡ് ചെയ്യുകയും എന്തെങ്കിലും പിശകുകൾ കണ്ടെത്തിയാൽ മുന്നറിയിപ്പുകൾ പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്നു.

ഡിഫോൾട്ടായി, കമാൻഡ് ലൈനിൽ വ്യക്തമാക്കിയ ഫയലുകൾ ഒരു ആർഗ്യുമെന്റായി ലോഡുചെയ്യുന്നു, കൂടാതെ അവ പരാമർശിക്കുന്ന മറ്റേതെങ്കിലും യൂണിറ്റുകളും:

# systemd-analyze verify /etc/systemd/system/test.service

5. OpenSSH സെർവർ

sshd കോൺഫിഗറേഷൻ ഫയലിന്റെ സാധുതയും കീകളുടെ സാനിറ്റിയും പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക. ഒരു പ്രത്യേക കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുന്നതിന്, -f ഫ്ലാഗ് ഉപയോഗിച്ച് അത് വ്യക്തമാക്കുക:

# sshd -t

6. NGINX വെബ് സെർവർ

NGINX കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുന്നതിന്, -t ഫ്ലാഗ് ഉപയോഗിച്ച് nginx കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. മറ്റൊരു കോൺഫിഗറേഷൻ ഫയൽ വ്യക്തമാക്കുന്നതിന്, -c ഫ്ലാഗ് ഉപയോഗിക്കുക:

# nginx -t
OR
# nginx -t -c /etc/nginx/conf.d/example.com.conf

7. PHP-FPM

php-fpm കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. -t ഫ്ലാഗ് (-tt) എന്ന് രണ്ടുതവണ വിളിക്കുന്നത്, പുറത്തുകടക്കുന്നതിന് മുമ്പ് കോൺഫിഗറേഷൻ ഉപേക്ഷിക്കപ്പെടുന്നതിന് കാരണമാകുമെന്നത് ശ്രദ്ധിക്കുക:

# php-fpm -t
OR
# php-fpm -tt

8. അപ്പാച്ചെ വെബ് സെർവർ

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് അപ്പാച്ചെ വെബ് സെർവർ കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കാം:

# apachectl configtest

പകരമായി, RedHat അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കാം:

# httpd -t

ഡെബിയൻ അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ, പ്രവർത്തിപ്പിക്കുക:

 
# apache2ctl -t

9. HAProxy TCP/HTTP ലോഡ് ബാലൻസർ

-f ഓപ്ഷൻ ഫയൽ വ്യക്തമാക്കുകയും -c ടെസ്റ്റ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുകയും ചെയ്യുന്ന ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് HAProxy യുടെ കോൺഫിഗറേഷൻ പരിശോധിക്കാവുന്നതാണ്:

# haproxy -f /etc/haproxy/haproxy.cfg -c

10. Lighttpd HTTP സെർവർ

Lighttpd-ന്റെ കോൺഫിഗറേഷൻ ഫയൽ സിന്റാക്സ് പരിശോധിക്കാൻ താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. -t കമാൻഡ് ലൈൻ ഓപ്ഷൻ, വാക്യഘടന പിശകുകൾക്കായി സ്ഥിരസ്ഥിതി കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിച്ച് പുറത്തുകടക്കാൻ Lighttpd-നെ പ്രാപ്തമാക്കുന്നു. ഒരു ഇഷ്uടാനുസൃത കോൺഫിഗറേഷൻ ഫയൽ വ്യക്തമാക്കുന്നതിന് -f ഫ്ലാഗ് ഉപയോഗിക്കുക:

# lighttpd -t
OR
# lighttpd -t -f /path/to/config/file

11. അപ്പാച്ചെ ടോംകാറ്റ്

ടോംകാറ്റ് വെബ് സെർവർ അടിസ്ഥാന കോൺഫിഗറേഷൻ വാക്യഘടന പരിശോധിക്കാൻ അനുവദിക്കുന്നു. ആദ്യം, നിങ്ങളുടെ ടോംകാറ്റ് ഇൻസ്റ്റലേഷൻ ഡയറക്ടറിയിലേക്ക് നീങ്ങി താഴെ പറയുന്ന കമാൻഡ് നൽകുക:

# ./bin/catalina.sh configtest
OR
# $TOMCAT_HOME/bin/catalina.sh configtest

12. പൗണ്ട് റിവേഴ്സ് പ്രോക്സി

സെർവർ ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങൾക്ക് പൗണ്ട് സെർവർ കോൺഫിഗറേഷൻ ഫയൽ പാഴ്uസ് ചെയ്യാം. ഡിഫോൾട്ട് കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കാൻ മറ്റൊരു ആർഗ്യുമെന്റും ഇല്ലാതെ -c ഫ്ലാഗ് ഉപയോഗിച്ച് പൗണ്ട് കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. -f കമാൻഡ് ലൈൻ ഓപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങൾക്ക് മറ്റൊരു കോൺഫിഗറേഷൻ ഫയൽ വ്യക്തമാക്കാൻ കഴിയും:

# pound -c
OR
# pound -f /path/to/config/file -c

13. വാർണിഷ്ഡ് HTTP ആക്സിലറേറ്റർ

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

# varnishd -C
OR
# varnishd -f /etc/varnish/default.vcl -C

14. സ്ക്വിഡ് പ്രോക്സി കാഷിംഗ് സെർവർ

സ്uക്വിഡ് പ്രോക്uസി കാഷിംഗ് സെർവറിനായുള്ള സ്uക്വിഡ് കോൺഫിഗറേഷൻ ഫയൽ കൈമാറുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക. -k ഉപകമാൻഡുകൾക്കൊപ്പം പാഴ്uസ് അല്ലെങ്കിൽ ഡീബഗ് സബ്uകമാൻഡുകൾ, കോൺഫിഗറേഷൻ ഫയൽ പാഴ്uസ് ചെയ്യാൻ സ്uക്വിഡ് ഡെമണിനോട് പറയുക അല്ലെങ്കിൽ യഥാക്രമം ഡീബഗ്ഗിംഗ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുക:

# squid -k parse
# squid -k debug

15. കാഡി വെബ് സെർവർ

Caddy വെബ് സെർവർ കോൺഫിഗറേഷനിലെ എന്തെങ്കിലും പിശകുകൾ വെളിപ്പെടുത്തുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക. ആദ്യത്തേത് ഡിഫോൾട്ട് കോൺഫിഗറേഷൻ പരിശോധിക്കുന്നു, പകരം, ഒരു കോൺഫിഗറേഷൻ ഫയൽ വ്യക്തമാക്കുന്നതിന് --config കമാൻഡ് ലൈൻ ഓപ്ഷൻ ഉപയോഗിക്കുക:

# caddy validate
OR
# caddy validate --config /path/to/config/file

16. vsftpd FTP സെർവർ

vsftpd FTP സെർവറിനായുള്ള കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# vsftpd
OR
# vsftpd -olisten=NO /path/to/vsftpd.testing.conf

17. DHCPD സെർവർ

dhcpd സെർവറിന്റെ കോൺഫിഗറേഷൻ സിന്റാക്സ് പരിശോധിക്കാൻ -t ഫ്ലാഗ് ഉപയോഗിച്ച് dhcpd കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# dhcpd -t
OR
# dhcpd -t -cf /path/to/dhcpd.conf

18. MySQL ഡാറ്റാബേസ് സെർവർ

MySQL ഡാറ്റാബേസ് സെർവർ കോൺഫിഗറേഷൻ ഫയൽ സിന്റാക്സ് പരിശോധിക്കുന്നതിന് താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക. കമാൻഡ് പ്രവർത്തിപ്പിച്ചതിന് ശേഷം, പിശകുകളൊന്നുമില്ലെങ്കിൽ, സെർവർ 0 ന്റെ എക്സിറ്റ് കോഡ് ഉപയോഗിച്ച് അവസാനിപ്പിക്കും, അല്ലാത്തപക്ഷം, അത് ഒരു ഡയഗ്നോസ്റ്റിക് സന്ദേശം പ്രദർശിപ്പിക്കുകയും 1 ന്റെ എക്സിറ്റ് കോഡ് ഉപയോഗിച്ച് അവസാനിപ്പിക്കുകയും ചെയ്യുന്നു:

# mysqld --validate-config

19. MariaDB ഡാറ്റാബേസ് സെർവർ

MariaDB ഡാറ്റാബേസ് സെർവറിനായി ഉപയോഗിക്കുന്ന അതേ കമാൻഡ് Mariadb ഡാറ്റാബേസ് സെർവർ കോൺഫിഗറേഷൻ ഫയൽ സിന്റാക്സ് പരിശോധിക്കുന്നതിനും പ്രവർത്തിക്കുന്നു:

# mysqld --validate-config

20. PostgreSQL സെർവർ

ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ട് PostgreSQL കോൺഫിഗറേഷൻ ഫയലിൽ ഒരു പിശക് കാണിക്കുന്നു.

അത്തരമൊരു പിശക് കണ്ടെത്തുന്നതിന്, പോസ്റ്റ്ഗ്രെസ് ഡാറ്റാബേസ് ഉപയോക്തൃ അക്കൗണ്ടിലേക്ക് മാറി psql ഷെൽ ആക്സസ് ചെയ്യുക. തുടർന്ന് നിങ്ങളുടെ കോൺഫിഗറേഷൻ ഫയലിലെ പിശകുകൾ തിരിച്ചറിയാൻ കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

postgres=# select sourcefile, name,sourceline,error from pg_file_settings where error is not null;

21. നാഗിയോസ് മോണിറ്ററിംഗ് ടൂൾ

നിങ്ങളുടെ Nagios കോൺഫിഗറേഷൻ പരിശോധിക്കാൻ, -v ഫ്ലാഗ് ഉപയോഗിച്ച് nagios കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# nagios -v /usr/local/nagios/etc/nagios.cfg

22. മോണിറ്റ് മോണിറ്ററിംഗ് ടൂൾ

ഡിഫോൾട്ട് മോണിറ്റ് കൺട്രോൾ ഫയലിനായി സിന്റാക്സ് പരിശോധന നടത്താൻ -t ഫ്ലാഗ് ഉപയോഗിച്ച് മോണിറ്റ് കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങൾക്ക് ഒരു പ്രത്യേക നിയന്ത്രണ ഫയൽ വ്യക്തമാക്കാൻ കഴിയും, -c ഫ്ലാഗ് ഉപയോഗിക്കുക:

# monit -t
OR
# monit -t -c path/to/control/file

23. പോസ്റ്റ്ഫിക്സ് മെയിൽ സെർവർ

വാക്യഘടന പിശകുകൾക്കായി പോസ്റ്റ്ഫിക്സിന്റെ കോൺഫിഗറേഷൻ ഫയലുകൾ പരിശോധിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് നിങ്ങളെ സഹായിക്കും.

# postfix check

ഈ രണ്ടാമത്തെ കമാൻഡ് ആദ്യത്തേതിനേക്കാൾ കൂടുതൽ വാചാലമാണ്:

# postfix -vvv

24. ഡോവ്കോട്ട് IMAP സെർവർ

doveconf കമാൻഡ് ഉപയോഗിച്ച് Dovecot IMAP സെർവർ കോൺഫിഗറേഷൻ സിന്റാക്സ് പരിശോധിക്കുക. എല്ലാം ശരിയാണെങ്കിൽ ഒരു സീറോ പിശക് കോഡിൽ ഇത് പുറത്തുകടക്കും, അല്ലാത്തപക്ഷം, ഇത് പൂജ്യമല്ലാത്ത പിശക് കോഡിൽ നിന്ന് പുറത്തുകടന്ന് പിശക് സന്ദേശം പ്രദർശിപ്പിക്കുന്നു:

# doveconf 1>/dev/null
# echo $?

25. സാംബ ഫയൽ സെർവർ

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് സാംബ ഫയൽ സെർവർ കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കാം:

# testparm -v

26. Syslogd/Rsyslogd

നിങ്ങൾ -N1 ഓപ്ഷൻ ഉപയോഗിച്ച് rsyslod കമാൻഡ് അഭ്യർത്ഥിക്കുമ്പോൾ, അത് ഡീബഗ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുകയും സിന്റാക്സ് പിശകുകൾക്കായി സ്ഥിരസ്ഥിതി കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുകയും ചെയ്യും. ഒരു ഇഷ്uടാനുസൃത കോൺഫിഗറേഷൻ ഫയൽ വായിക്കാൻ -f ഫ്ലാഗ് ഉപയോഗിക്കുക:

# rsyslogd -N1

27. DNS (BIND) സെർവർ

നിങ്ങൾക്ക് DNS എന്ന് പേരുള്ള കോൺഫിഗറേഷൻ ഫയൽ ഇനിപ്പറയുന്ന രീതിയിൽ പരിശോധിക്കാം:

# named-checkconf /etc/named.conf

28. NTP - നെറ്റ്uവർക്ക് ടൈം പ്രോട്ടോക്കോൾ

താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ntpd കോൺഫിഗറേഷൻ സിന്റാക്സ് പരീക്ഷിക്കാവുന്നതാണ്, ഇവിടെ -d ഫ്ലാഗ് വെർബോസ് ഡീബഗ് മോഡ് പ്രവർത്തനക്ഷമമാക്കുന്നു, -f ഫ്രീക്വൻസി ഡ്രിഫ്റ്റ് ഫയലിന്റെ പേര് വ്യക്തമാക്കുന്നു, കൂടാതെ -n ഫോർക്ക് ഇല്ല എന്ന് സൂചിപ്പിക്കുന്നു:

# ntpd -d -f /etc/ntp.conf -n

29. ഓപ്പൺസ്റ്റാക്ക്-അൻസിബിൾ

ഒരു OpenStack-ansible കോൺഫിഗറേഷൻ ഫയലിന്റെ വാക്യഘടന പരിശോധിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# openstack-ansible setup-infrastructure.yml --syntax-check

30. ലോഗ്രോട്ടേറ്റ് ചെയ്യുക

ഒരു ലോഗ്രോട്ട് (ലോഗ് റൊട്ടേഷൻ സൗകര്യം) കോൺഫിഗറേഷൻ ഫയൽ ഡീബഗ് ചെയ്യുന്നതിന്, -d ഓപ്ഷൻ ഉപയോഗിച്ച് logrotate കമാൻഡ് പ്രവർത്തിപ്പിച്ച് കോൺഫിഗറേഷൻ ഫയൽ വ്യക്തമാക്കുക:

# logrotate -d /etc/logrotate.d/nginx

ഈ ഗൈഡിൽ ഞങ്ങൾക്ക് നിങ്ങൾക്കായി ഉണ്ടായിരുന്നത് ഇത്രമാത്രം. നിങ്ങളുടെ ചിന്തകൾ ഞങ്ങളുമായി പങ്കിടുക അല്ലെങ്കിൽ ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി ചോദ്യങ്ങൾ ചോദിക്കുക. ഇവിടെ ലിസ്uറ്റ് ചെയ്uതിട്ടില്ലാത്ത ഏതെങ്കിലും ആപ്ലിക്കേഷനുകളുടെയും സേവനങ്ങളുടെയും കോൺഫിഗറേഷൻ സിന്റാക്uസ് എങ്ങനെ പരിശോധിക്കാം എന്നതിന്റെ കൂടുതൽ ഉദാഹരണങ്ങൾ നിങ്ങൾക്ക് പങ്കിടാം. നിങ്ങളുടെ ഉദാഹരണങ്ങൾ ഞങ്ങൾ ഗൈഡിലേക്ക് സന്തോഷത്തോടെ ചേർക്കും.