30 tapaa vahvistaa määritystiedostot tai komentosarjat Linuxissa


Kokoonpanon syntaksin tarkistus ja/tai testaus on keskeinen vaihe, joka on suoritettava sen jälkeen, kun sovelluksen tai palvelun asetustiedostoon on tehty muutoksia tai jopa päivitysten suorittamisen jälkeen. Tämä auttaa vähentämään mahdollisuuksia, että palvelu ei käynnisty uudelleen määritysvirheiden vuoksi.

Useat sovellukset/ohjelmat tai palveludemonit toimittavat komentoja, joilla tarkistetaan konfiguraatiotiedostojen syntaksin oikeellisuus. Olemme koonneet luettelon Linux-järjestelmien yleisistä sovelluksista ja palveluista sekä niiden määritystiedostojen testaamisesta tai validoinnista.

Huomaa: käytä, jos et ole kirjautunut palvelimelle pääkäyttäjänä, muista käyttää sudo-komentoa tarvittaessa kutsuessasi komentoa, koska jotkin palvelut toimivat pääkäyttäjän oikeuksin ja niiden asetustiedostojen tarkistaminen vaatii pääkäyttäjän. käyttäjäoikeudet.

1. Sudo Command

Voit tarkistaa sudo-määritystiedoston syntaksin käyttämällä visudo-komentoa, joka tukee komentorivivaihtoehtoa --check tai -c vain vahvistamaan tiedosto ilman muokkausta. Valinta -f näyttää virheilmoituksen ja avaa tiedoston muokattavaksi:

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

2. Bash Script

Voit tarkistaa Bash-skriptien syntaksivirheiden varalta seuraavasti:

bash -n /path/to/scriptname.sh

3. Perl-komentosarjat

Tarkistaaksesi Perl-komentosarjat syntaksivirheiden varalta, käytä seuraavaa komentoa:

perl -c /path/to/scriptname

4. Järjestelmän yksikkötiedostot

systemd-analyze verify -komento mahdollistaa systemd-yksikkötiedoston testaamisen syntaksivirheiden varalta. Se lataa yksikkötiedostoja ja tulostaa varoituksia, jos havaitaan virheitä.

Oletuksena se lataa komentorivillä määritetyt tiedostot argumenttina ja kaikki muut niiden viittaamat yksiköt:

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

5. OpenSSH-palvelin

Voit tarkistaa sshd-määritystiedoston kelvollisuuden ja avainten järkevyyden antamalla seuraavan komennon. Voit tarkistaa tietyn määritystiedoston määrittämällä sen -f-lipulla:

sshd -t

6. NGINX-verkkopalvelin

Tarkista NGINX-määritystiedosto suorittamalla nginx-komento -t-lipulla. Jos haluat määrittää toisen asetustiedoston, käytä -c-lippua:

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

7. PHP-FPM

Tarkista php-fpm-määritystiedosto suorittamalla seuraava komento. Huomaa, että -t-lipun kutsuminen kahdesti (-tt) aiheuttaa kokoonpanon tyhjennyksen ennen poistumista:

php-fpm -t
OR
php-fpm -tt

8. Apache-verkkopalvelin

Voit sitten tarkistaa Apache-verkkopalvelimen määritystiedoston käyttämällä seuraavaa komentoa:

apachectl configtest

Vaihtoehtoisesti voit käyttää seuraavia komentoja RedHat-pohjaisissa jakeluissa:

httpd -t

Suorita Debian-pohjaisissa jakeluissa:

 
apache2ctl -t

9. HAProxy TCP/HTTP -kuormituksen tasapainotin

HAProxyn kokoonpanoa voidaan testata seuraavalla komennolla, jossa vaihtoehto -f määrittää tiedoston ja -c ottaa testitilan käyttöön:

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

10. Lighttpd HTTP-palvelin

Suorita seuraava komento testataksesi Lighttpd-määritystiedoston syntaksia. -t-komentorivivalinnan avulla Lighttpd voi testata oletusasetustiedostossa syntaksivirheitä ja poistua. Käytä lippua -f määrittääksesi mukautetun määritystiedoston:

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

11. Apache Tomcat

Tomcat-verkkopalvelin mahdollistaa peruskokoonpanon syntaksin tarkistuksen. Siirry ensin tomcatin asennushakemistoon ja anna seuraava komento:

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

12. Pound Reverse Proxy

Voit jäsentää Pound-palvelimen määritystiedoston ennen palvelimen käynnistämistä. Tarkista oletusmääritystiedosto suorittamalla pound-komento -c-lipulla ilman muita argumentteja. Voit määrittää eri asetustiedoston -f-komentorivivaihtoehdolla:

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

13. Varnishd HTTP Accelerator

Voit tarkistaa varnishd VCL (Varnish Configuration Language) -tiedoston syntaksin mahdollisten virheiden varalta käyttämällä seuraavaa komentoa. Jos kaikki on kunnossa, lakka tyhjentää luodun kokoonpanon, muuten se näyttää tiedostossa tietyn rivinumeron, jossa on virhe:

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

14. Squid Proxy -välimuistipalvelin

Jos haluat välittää Squid-välityspalvelimen välimuistipalvelimen squid-määritystiedoston, anna seuraava komento. Vaihtoehto -k yhdessä jäsennys- tai debug-alikomentojen kanssa käskee squid-demonia jäsentämään asetustiedoston tai ottamaan käyttöön virheenkorjaustilan:

squid -k parse
squid -k debug

15. Caddy-verkkopalvelin

Jos haluat paljastaa Caddy-verkkopalvelimen kokoonpanon virheet, anna seuraava komento. Ensimmäinen tarkistaa oletuskokoonpanon, vaihtoehtoisesti voit määrittää määritystiedoston --config-komentorivin avulla:

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

16. vsftpd FTP-palvelin

Suorita seuraava komento testataksesi vsftpd FTP-palvelimen määritystiedostoa:

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

17. DHCPD-palvelin

Suorita dhcpd-komento -t-lipulla tarkistaaksesi dhcpd-palvelimen kokoonpanosyntaksi:

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

18. MySQL-tietokantapalvelin

Käytä seuraavaa komentoa testataksesi MySQL-tietokantapalvelimen määritystiedoston syntaksia. Jos virheitä ei ole komennon suorittamisen jälkeen, palvelin lopettaa poistumiskoodin 0, muussa tapauksessa se näyttää diagnostiikkaviestin ja lopettaa poistumiskoodin 1. :

mysqld --validate-config

19. MariaDB-tietokantapalvelin

Sama komento, jota käytetään MariaDB-tietokantapalvelimelle, toimii myös Mariadb-tietokantapalvelimen määritystiedoston syntaksin tarkistamiseen:

mysqld --validate-config

20. PostgreSQL-palvelin

Seuraava kuvakaappaus näyttää virheen PostgreSQL-määritystiedostossa.

Voit havaita tällaisen virheen siirtymällä postgres-tietokannan käyttäjätiliin ja käyttämällä psql-kuorta. Suorita sitten komento tunnistaaksesi virheet määritystiedostossasi:

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

21. Nagios-valvontatyökalu

Vahvista Nagios-määritykset suorittamalla nagios-komento -v-lipulla.

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

22. Monitor Monitoring Tool

Suorita oletusmonit-ohjaustiedoston syntaksin tarkistus suorittamalla monit-komento -t-lipulla. Voit määrittää tietyn ohjaustiedoston käyttämällä -c-lippua:

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

23. Postfix-postipalvelin

Seuraava komento auttaa sinua tarkistamaan Postfixin määritystiedostot syntaksivirheiden varalta.

postfix check

Tämä toinen komento on monisanaisempi kuin ensimmäinen:

postfix -vvv

24. Dovecot IMAP -palvelin

Tarkista Dovecot IMAP -palvelimen määrityssyntaksi doveconf-komennolla. Se poistuu nollavirhekoodilla, jos kaikki on kunnossa, muuten se poistuu nollasta poikkeavalla virhekoodilla ja näyttää virheilmoituksen:

doveconf 1>/dev/null
echo $?

25. Samba-tiedostopalvelin

Voit tarkistaa Samba-tiedostopalvelimen määritystiedoston käyttämällä seuraavaa komentoa:

testparm -v

26. Syslogd/Rsyslogd

Kun käynnistät rsyslod-komennon -N1-vaihtoehdolla, se ottaa virheenkorjaustilan käyttöön ja tarkistaa myös oletusmääritystiedoston syntaksivirheiden varalta. Käytä -f-lippua mukautetun määritystiedoston lukemiseen:

rsyslogd -N1

27. DNS (BIND) -palvelin

Voit tarkistaa DNS named -määritystiedoston seuraavasti:

named-checkconf /etc/named.conf

28. NTP – Network Time Protocol

ntpd-määrityssyntaksia voidaan testata seuraavalla komennolla, jossa -d-lippu mahdollistaa monisanaisen virheenkorjaustilan, -f määrittää taajuusmuutostiedostonimen. , ja -n ei tarkoita haarukkaa:

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

29. OpenStack-Ansible

Suorita seuraava komento tarkistaaksesi OpenStack-ansible-määritystiedoston syntaksi:

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

30. Logrotate

Virheenkorjaus logroate (lokin kiertotoiminto) -määritystiedostossa suorita logrotate-komento -d-vaihtoehdolla ja määritä asetustiedosto:

logrotate -d /etc/logrotate.d/nginx

Siinä kaikki, mitä meillä oli sinulle tässä oppaassa. Jaa ajatuksesi kanssamme tai esitä kysymyksiä alla olevan palautelomakkeen kautta. Voit myös jakaa lisää esimerkkejä siitä, miten voit tarkistaa kaikkien sovellusten tai palveluiden kokoonpanosyntaksin, joita ei ole lueteltu tässä. Lisäämme mielellämme esimerkkejäsi oppaaseen.