Verificarea și/sau testarea sintaxei configurației este un pas cheie de efectuat după efectuarea modificărilor în fișierul de configurare al unei aplicații sau serviciu sau chiar după rularea actualizărilor. Acest lucru ajută la reducerea șanselor ca serviciul să nu repornească din cauza erorilor de configurare.
Mai multe aplicații/programe sau demoni de servicii sunt livrate cu comenzi pentru a verifica fișierele de configurare pentru corectitudinea sintaxei. Am pregătit o listă de aplicații și servicii comune pe sistemele Linux și cum să testăm sau să le validăm fișierele de configurare.
Notă: Utilizați dacă nu sunteți conectat pe un server ca utilizator rădăcină, nu uitați să utilizați comanda sudo acolo unde este necesar, în timp ce se invocă o comandă, deoarece unele servicii rulează cu privilegii root, iar verificarea fișierelor de configurare a acestora necesită permisiuni de utilizator root.
Puteți verifica fișier de configurare sudo sintaxa folosind visudo comanda, care acceptă a
--Verifica
sau -c
opțiunea de linie de comandă pentru a valida numai un fișier fără o editare. The -f
opțiunea afișează mesajul de eroare și deschide fișierul pentru editare:
# visudo -c /etc/sudoers. SAU. # visudo -c /etc/sudoers.d/my_config. SAU. # visudo -f /etc/sudoers.d/my_config.
Puteți verifica scripturile Bash pentru erori de sintaxă, după cum urmează:
# bash -n /path/to/scriptname.sh.
Pentru a verifica scripturile Perl pentru erori de sintaxă, utilizați următoarea comandă:
# perl -c /path/to/scriptname.
„systemd-analyze verificaComanda ” permite testarea fișierului unitar systemd pentru erori de sintaxă. Încarcă fișierele unității și imprimă avertismente dacă sunt detectate erori.
În mod implicit, încarcă fișierele specificate pe linia de comandă ca argument și orice alte unități la care se face referire:
# systemd-analyze verifica /etc/systemd/system/test.service.
Pentru a verifica valabilitatea fișier de configurare sshd și corectitudinea tastelor, lansați următoarea comandă. Pentru a verifica un anumit fișier de configurare, specificați-l folosind -f
steag:
# sshd -t.
Pentru a verifica NGINX fișier de configurare, rulați nginx comanda cu -t
steag. Pentru a specifica un alt fișier de configurare, utilizați -c
steag:
# nginx -t. SAU. # nginx -t -c /etc/nginx/conf.d/example.com.conf.
Pentru a verifica php-fpm fișier de configurare, executați următoarea comandă. Rețineți că apelând la -t
steag de două ori (-tt)
face ca configurația să fie descărcată înainte de a ieși:
# php-fpm -t. SAU. # php-fpm -tt.
Puteți verifica apoi Apache fișier de configurare a serverului web utilizând următoarea comandă:
# apachectl configtest.
Alternativ, puteți utiliza următoarele comenzi Distribuții bazate pe RedHat:
# httpd -t.
Pe Distribuții bazate pe Debian, alerga:
# apache2ctl -t.
Configurația HAProxy poate fi testată folosind următoarea comandă, unde -f
opțiunea specifică fișierul și -c
activează modul de testare:
# haproxy -f /etc/haproxy/haproxy.cfg -c.
Rulați următoarea comandă pentru a testa sintaxa fișierului de configurare a lui Lighttpd. The -t
Opțiunea de linie de comandă permite Lighttpd să testeze fișierul de configurare implicit pentru erori de sintaxă și să iasă. Folosește -f
flag pentru a specifica un fișier de configurare personalizat:
# lighttpd -t. SAU. # lighttpd -t -f /path/to/config/file.
Serverul web Tomcat permite verificarea sintaxei configurației de bază. Mai întâi, treceți în directorul de instalare Tomcat și lansați următoarea comandă:
# ./bin/catalina.sh configtest. SAU. # $TOMCAT_HOME/bin/catalina.sh configtest.
Puteți analiza Livră fișierul de configurare a serverului înainte de a porni serverul. Rulați livră comanda cu -c
marcați fără niciun alt argument pentru a verifica fișierul de configurare implicit. Puteți specifica un fișier de configurare diferit folosind -f
opțiunea liniei de comandă:
# liră -c. SAU. # pound -f /path/to/config/file -c.
Pentru a verifica lacdVCL (Limbajul de configurare al lacului) pentru orice erori, utilizați următoarea comandă. Dacă totul este în regulă, lacul va elimina configurația generată, în caz contrar, va afișa un anumit număr de linie în fișier care are o eroare:
# lacd -C. SAU. # varnishd -f /etc/varnish/default.vcl -C.
Pentru a transmite fișierul de configurare squid pentru serverul de cache proxy Squid, lansați următoarea comandă. The -k
opțiunea împreună cu subcomenzile parse sau debug, spuneți demonului squid să analizeze fișierul de configurare sau să activeze modul de depanare:
# calmar -k parse. # squid -k depanare.
Pentru a expune orice erori în Server web Caddy configurație, lansați următoarea comandă. Primul verifică configurația implicită, alternativ, folosește --config
opțiunea de linie de comandă pentru a specifica un fișier de configurare:
# validare caddy. SAU. # caddy validate --config /path/to/config/file.
Rulați următoarea comandă pentru a testa fișierul de configurare pentru vsftpd Server FTP:
# vsftpd. SAU. # vsftpd -olisten=NU /path/to/vsftpd.testing.conf.
Rulați dhcpd comanda cu -t
flag pentru a verifica sintaxa de configurare a serverului dhcpd:
# dhcpd -t. SAU. # dhcpd -t -cf /path/to/dhcpd.conf.
Utilizați următoarea comandă pentru a testa MySQL sintaxa fișierului de configurare a serverului de baze de date. După rularea comenzii, dacă nu există erori, serverul se termină cu un cod de ieșire de 0, în caz contrar, afișează un mesaj de diagnosticare și se încheie cu un cod de ieșire de 1:
# mysqld --validate-config.
Aceeași comandă folosită pentru MariaDB serverul de baze de date funcționează și pentru verificarea sintaxei fișierului de configurare a serverului de baze de date Mariadb:
# mysqld --validate-config.
Următoarea captură de ecran arată o eroare în PostgreSQL Fișier de configurare.
Pentru a detecta o astfel de eroare, treceți la postgres contul de utilizator al bazei de date și accesați psql coajă. Apoi rulați comanda pentru a identifica erorile din fișierul dvs. de configurare:
postgres=# selectează fișierul sursă, numele, linia sursă, eroarea din pg_file_settings unde eroarea nu este nulă;
Pentru a vă verifica Nagios configurație, rulați nagios comanda cu -v
steag.
# nagios -v /usr/local/nagios/etc/nagios.cfg.
Rulați monit comanda cu -t
flag pentru a efectua o verificare a sintaxei pentru valoarea implicită Monitorizarea fișierului de control. Puteți specifica un anumit fișier de control, utilizați -c
steag:
# monit -t. SAU. # monit -t -c cale/la/control/fișier.
Următoarea comandă vă va ajuta să verificați fișierele de configurare Postfix pentru erori de sintaxă.
# verificare postfix.
Această a doua comandă este mai detaliată decât prima:
# postfix -vvv.
Verifică Dovecot IMAP sintaxa de configurare a serverului folosind doveconf comanda. Se va ieși cu un cod de eroare zero dacă totul este OK, în caz contrar, va ieși cu un cod de eroare diferit de zero și afișează mesajul de eroare:
# doveconf 1>/dev/null. # echo $?
Puteți verifica Samba fișier de configurare a serverului de fișiere folosind următoarea comandă:
# testparm -v.
Când invoci rsyslod comanda cu -N1
opțiunea, va activa modul de depanare și, de asemenea, verifică fișierul de configurare implicit pentru erori de sintaxă. Folosește -f
flag pentru a citi un fișier de configurare personalizat:
# rsyslogd -N1.
Puteți verifica DNS-ul numit fișier de configurare după cum urmează:
# named-checkconf /etc/named.conf.
The ntpd sintaxa de configurare poate fi testată folosind următoarea comandă, unde -d
flag activează modul de depanare verbosă, -f
specifică numele fișierului de deriva de frecvență și -n
implică nicio furcă:
# ntpd -d -f /etc/ntp.conf -n.
Rulați următoarea comandă pentru a verifica sintaxa unui fișier de configurare OpenStack-ansible:
# openstack-ansible setup-infrastructure.yml --syntax-check.
Pentru a depana a logroate (facilitate de rotație a jurnalelor), fișierul de configurare, rulați logrotate comanda cu -d
opțiunea și specificați fișierul de configurare:
# logrotate -d /etc/logrotate.d/nginx.
Asta este tot ce am avut pentru tine în acest ghid. Împărtășiți-vă gândurile cu noi sau puneți întrebări prin intermediul formularului de feedback de mai jos. De asemenea, puteți împărtăși mai multe exemple despre cum să verificați sintaxa de configurare a oricăror aplicații sau servicii care nu sunt enumerate aici. Vom adăuga cu plăcere exemplele dvs. în ghid.