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.