Deaktivieren von syslogd in FreeBSD

2431
Lily Hahn

Ich verwende FreeBSD in einer sehr kleinen VM mit etwa 1,5 GB Speicherplatz. Ich möchte deaktivieren syslogd, um Speicherplatz zu sparen, aber es gibt keinen Eintrag in /etc/rc.conf. service -ezeigt, dass syslogddas tatsächlich läuft. Wie kann ich es deaktivieren / deinstallieren?

3

3 Antworten auf die Frage

2
Igor Hatarist

Stoppen Sie den Daemon:

/etc/rc.d/syslogd stop 

Hängen Sie eine Zeile an /etc/rc.conf:

syslogd_enable="NO" 
2
EhevuTov

Hängen Sie eine Zeile an /etc/rc.conf:

syslogd_enable = "NEIN"

Stoppen Sie den Daemon:

/etc/rc.d/syslogd stop

Ich würde jedoch nicht empfehlen, syslogd zu stoppen. Ich empfehle stattdessen, die Größe und Häufigkeit der Protokollrotation durch Bearbeiten der /etc/newsyslog.confKonfigurationsdatei zu bearbeiten . Es ist sehr modifizierbar. Sie können die Dienste, die Sie nicht verfolgen möchten, mit einem #Zeichen am Anfang der Zeile auskommentieren oder die folgenden Optionen ändern:

  • count für die maximale Anzahl von Dateiarchiven
  • size für die Größe jedes Archivs
  • when wenn Sie drehen möchten

Es gibt eine Reihe von Optionen, von denen ich denke, dass sie zu Ihrer Situation passen könnten. Wenn Sie zum Beispiel nur eine maximale kb-Größe für Ihre Protokolle beibehalten möchten, können Sie dies tun. Sicherlich könnten Sie ein paar KB für Protokolle einsparen :-P Lesen Sie, man newsyslog.confum mehr über die gewünschte Größe des Protokollsystems zu erfahren .

2
Matt Simerson

Die Antwort von Igor ist gut, aber ich möchte sie für aktuelle und zukünftige Suchmaschinengäste erweitern. Um syslogd vollständig zu deaktivieren, ist etwas mehr notwendig:

Deaktivieren Sie syslogd vollständig

Stoppen Sie syslogd

service syslogd onestop

  • Verwendet den serviceBefehl, der seit FreeBSD 7.3 (2012) bei uns war. Es funktioniert für Dienste in /etc/rc.d sowie /usr/local/etc/rc.d und ist fingerfreundlicher.
  • Wenn Sie onestopanstelle von verwenden, stopwird syslogd gestoppt, auch wenn diese Befehle außer Betrieb sind.

Deaktivieren Sie syslogd

sysrc syslogd_enable=NO

Dieser Befehl macht genau das, was Igor anweist und fügt eine Zeile an /etc/rc.conf an, wodurch verhindert wird, dass syslogd in der Zukunft gestartet wird. Sysrc erschien in FreeBSD 9.2 (2015). Bisher wurde dasselbe normalerweise mit erledigt echo syslogd_enable=NO >> /etc/rc.conf.

Deaktiviere newsyslog beim booten

sysrc newsyslog_enable=NO

Dieser Befehl verhindert newsyslog, dass er beim Booten ausgeführt wird.

Deaktiviere newsyslog zur Laufzeit

sed -i .bak -e '/^0.*newsyslog/ s/^0/#0/' /etc/crontab

Dieser sed-Befehl sucht nach der Zeile, die mit einer 0 beginnt und das Wort newsyslog enthält. Dann fügt er ein # vor der Null ein und deaktiviert die Newsyslog-Cron-Task. Jetzt bekommen Sie keine nervigen E-Mails von cron, die sich darüber beschweren:

newsyslog: PID-Datei existiert nicht: /var/run/syslog.pid


Ist die Deaktivierung von syslogd eine gute Idee?

EhevuTov weist sehr gut darauf hin, dass die Deaktivierung von syslogd zum Speichern von Speicherplatz wahrscheinlich nicht der beste Grund ist. Es gibt jedoch einige sehr gute Gründe, warum Sie syslogd deaktivieren möchten.

  1. Ausführen von FreeBSD in einem Gefängnis mit einem Prozess, der seine eigene Protokollierung (Squid, Nginx usw.) übernimmt. Wenn nichts im Gefängnis syslogd verwendet, hat es keinen Vorteil, wenn es ausgeführt wird.
  2. Wenn Sie Tausende von Jails auf einem FreeBSD-Host ausführen, wird möglicherweise eine andere syslog-Architektur vernünftiger (log-Sockets in jedes Jail fallen lassen (siehe syslogd -l)).
  3. Nr. 2 gilt auch für Handvoll Jails, wenn eine zentrale Protokollierung gewünscht wird. Es vermeidet, dass jedes mit @hostSyntax konfigurierte Gefängnis für die Weiterleitung benötigt wird.
  4. Die Nummern 2 und 3 sind besonders wichtig, wenn Sie alle Protokolle für Indizierung und Archivierung an externe Systeme weiterleiten. Syslog-Weiterleitung macht diese Anwendungsfälle komplizierter.
  5. Verwendung eines anderen Syslog-Daemons Wenn Sie einen alternativen Syslog-Daemon verwenden, besteht eine gute Chance, dass Sie das sBSLog von FreeBSD und alle seine Annahmen und Erwartungen vollständig deaktivieren.