30 Mga Paagi sa Pag-validate sa Configuration Files o Scripts sa Linux


Ang pagsusi sa syntax sa pag-configure ug/o pagsulay usa ka hinungdanon nga lakang nga himuon pagkahuman sa paghimo og mga pagbag-o sa file sa pag-configure sa aplikasyon o serbisyo o bisan pagkahuman sa pagpadagan sa mga update. Kini makatabang sa pagpakunhod sa kahigayonan sa serbisyo nga mapakyas sa pagsugod pag-usab tungod sa mga sayop sa pag-configure.

Daghang mga aplikasyon/programa o mga daemon sa serbisyo ang gipadala nga adunay mga mando aron susihon ang mga file sa pag-configure alang sa katukma sa syntax. Nagbutang kami og usa ka lista sa kasagaran nga mga aplikasyon ug serbisyo sa mga sistema sa Linux ug kung giunsa pagsulay o pag-validate ang ilang mga file sa pag-configure.

Mubo nga sulat: Gamita kung wala ka naka-log sa usa ka server isip root user, hinumdomi nga gamiton ang sudo command kung gikinahanglan samtang nag-awhag og command tungod kay ang ubang mga serbisyo nagdagan nga adunay mga pribilehiyo sa ugat, ug ang pagsusi sa ilang mga file sa pag-configure nanginahanglan mga pagtugot sa root user.

1. Sudo Command

Mahimo nimong susihon ang sudo configuration file syntax gamit ang visudo command, nga nagsuporta sa usa ka --check o -c command line nga opsyon para lang ma-validate ang file nga walay edit. Ang -f nga opsyon nagpakita sa mensahe sa sayop ug nagbukas sa file para sa pag-edit:

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

2. Bash Script

Mahimo nimong susihon ang mga script sa Bash alang sa mga sayup sa syntax sama sa mosunod:

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

3. Perl Scripts

Aron masusi ang mga script sa Perl alang sa mga sayup sa syntax, gamita ang mosunod nga sugo:

# perl -c /path/to/scriptname

4. Systemd Unit Files

Ang \systemd-analyze verify nga sugo nagtugot sa pagsulay sa systemd unit file alang sa syntax errors. Kini nagkarga sa mga file sa unit ug nag-imprenta sa mga pasidaan kung adunay mga sayup nga makita.

Sa kasagaran, kini nag-load sa mga file nga gitakda sa command line isip argumento, ug bisan unsang ubang mga yunit nga gi-reference niini:

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

5. OpenSSH Server

Aron masusi ang kabalido sa sshd configuration file ug ang katin-awan sa mga yawe, i-isyu ang mosunod nga sugo. Aron masusi ang usa ka partikular nga configuration file, ipiho kini gamit ang -f flag:

# sshd -t

6. NGINX Web Server

Aron masusi ang NGINX configuration file, padagana ang nginx command gamit ang -t flag. Aron matino ang lain nga configuration file, gamita ang -c nga bandila:

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

7. PHP-FPM

Aron masusi ang php-fpm configuration file, padagana ang mosunod nga sugo. Timan-i nga ang pagtawag sa -t bandera sa makaduha nga (-tt) maoy hinungdan nga ang configuration ilabay sa dili pa mogawas:

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

8. Apache Web Server

Mahimo nimong susihon ang Apache web server configuration file gamit ang mosunod nga sugo:

# apachectl configtest

Sa laing bahin, mahimo nimong gamiton ang mosunod nga mga sugo sa RedHat-based distributions:

# httpd -t

Sa mga distribusyon nga nakabase sa Debian, pagdagan:

 
# apache2ctl -t

9. HAProxy TCP/HTTP Load Balancer

Ang configuration sa HAProxy mahimong masulayan gamit ang mosunod nga command diin ang -f nga opsyon nagtino sa file ug -c makahimo sa pagsulay mode:

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

10. Lighttpd HTTP Server

Pagdalagan ang mosunod nga sugo aron sulayan ang syntax sa configuration file sa Lighttpd. Ang -t command line nga opsyon makapahimo sa Lighttpd sa pagsulay sa default configuration file alang sa syntax errors ug exit. Gamita ang -f nga bandera aron itakda ang custom nga configuration file:

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

11. Apache Tomcat

Gitugotan sa Tomcat web server ang sukaranan nga pagsusi sa syntax sa pagsumpo. Una, balhin sa imong direktoryo sa pag-install sa tomcat ug i-isyu ang mosunud nga mando:

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

12. Pound Reverse Proxy

Mahimo nimong ma-parse ang Pound server configuration file sa dili pa magsugod ang server. Pagdalagan ang pound command gamit ang -c flag nga walay laing argumento aron masusi ang default configuration file. Mahimo nimong itakda ang usa ka lahi nga file sa pag-configure gamit ang kapilian nga -f command line:

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

13. Varnishd HTTP Accelerator

Aron masusi ang varnishd VCL (Varnish Configuration Language) file syntax alang sa bisan unsang mga sayup, gamita ang mosunod nga sugo. Kung OK ra ang tanan, ang barnis magtangtang sa namugna nga pag-configure, kung dili, magpakita kini usa ka piho nga numero sa linya sa file nga adunay sayup:

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

14. Squid Proxy Caching Server

Aron mapasa ang squid configuration file para sa Squid proxy caching server, i-issue ang mosunod nga command. Ang -k nga opsyon uban sa parse o debug subcommands, sultihi ang squid daemon nga i-parse ang configuration file o i-enable ang debugging mode matag usa:

# squid -k parse
# squid -k debug

15. Caddy Web Server

Aron ibutyag ang bisan unsang mga kasaypanan sa configuration sa Caddy web server, i-isyu ang mosunod nga sugo. Ang una nagsusi sa default nga configuration, sa laing paagi, gamita ang --config command line nga opsyon aron itakda ang configuration file:

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

16. vsftpd FTP Server

Pagdalagan ang mosunod nga sugo aron sulayan ang configuration file alang sa vsftpd FTP server:

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

17. DHCPD Server

Pagdalagan ang dhcpd command gamit ang -t flag aron masusi ang configuration syntax sa dhcpd server:

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

18. MySQL Database Server

Gamita ang mosunod nga sugo aron sulayan ang MySQL database server configuration file syntax. Pagkahuman sa pagpadagan sa mando, kung wala’y mga sayup, ang server natapos sa usa ka exit code nga 0, kung dili, kini nagpakita sa usa ka mensahe sa diagnostic ug natapos sa usa ka exit code nga 1:

# mysqld --validate-config

19. MariaDB Database Server

Ang parehas nga sugo nga gigamit alang sa MariaDB database server nagtrabaho usab alang sa pagsusi sa Mariadb database server configuration file syntax:

# mysqld --validate-config

20. PostgreSQL Server

Ang mosunod nga screenshot nagpakita sa usa ka sayop sa PostgreSQL configuration file.

Aron mahibal-an ang ingon nga sayup, ibalhin sa postgres database user account ug i-access ang psql shell. Dayon padagana ang command aron mahibal-an ang mga sayup sa imong configuration file:

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

21. Nagios Monitoring Tool

Para ma-verify ang imong configuration sa Nagios, padagana ang nagios command gamit ang -v flag.

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

22. Monit Monitoring Tool

Pagdalagan ang monit command gamit ang -t flag para maghimo ug syntax check para sa default nga Monit control file. Mahimo nimong itakda ang usa ka partikular nga control file, gamita ang -c nga bandila:

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

23. Postfix Mail Server

Ang mosunud nga mando makatabang kanimo sa pagsusi sa mga file sa pagsumpo sa Postfix alang sa mga sayup sa syntax.

# postfix check

Kini nga ikaduha nga sugo mas verbose kay sa una:

# postfix -vvv

24. Dovecot IMAP Server

Susiha ang Dovecot IMAP server configuration syntax gamit ang doveconf command. Mogawas kini nga adunay zero error code kung OK ra ang tanan, kung dili, mogawas kini nga adunay non-zero error code ug ipakita ang mensahe sa sayup:

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

25. Samba File Server

Mahimo nimong susihon ang Samba file server configuration file gamit ang mosunod nga sugo:

# testparm -v

26. Syslogd/Rsyslogd

Kung imong gamiton ang rsyslod command gamit ang -N1 nga opsyon, kini makapahimo sa debug mode ug usab magsusi sa default configuration file alang sa syntax errors. Gamita ang -f nga bandera aron mabasa ang custom nga configuration file:

# rsyslogd -N1

27. DNS (BIND) Server

Mahimo nimong susihon ang DNS nga ginganlag configuration file sama sa mosunod:

# named-checkconf /etc/named.conf

28. NTP – Network Time Protocol

Ang ntpd configuration syntax mahimong masulayan gamit ang mosunod nga sugo, diin ang -d nga bandila makahimo sa verbose debug mode, -f nagtino sa frequency drift filename, ug -n nagpasabot nga walay tinidor:

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

29. OpenStack-Ansible

Pagdalagan ang mosunod nga sugo aron masusi ang syntax sa usa ka OpenStack-ansible nga configuration file:

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

30. Logrotate

Aron ma-debug ang usa ka logroate (log rotation facility) configuration file, padagana ang logrotate command gamit ang -d nga opsyon ug itakda ang configuration file:

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

Mao ra kana ang among naa alang kanimo sa kini nga giya. Ipaambit kanamo ang imong mga hunahuna o pangutana pinaagi sa porma sa feedback sa ubos. Mahimo usab nimo nga ipaambit ang daghang mga pananglitan kung giunsa pagsusi ang syntax sa pag-configure sa bisan unsang mga aplikasyon o serbisyo nga wala nalista dinhi. Malipayon namon nga idugang ang imong mga panig-ingnan sa giya.