named startet bei Verwendung von systemctl nicht

9

Ich habe Probleme, benannt zu werden, um systemd auf dem Fedora 18 Raspberry Pi-Spin zu verwenden. Es beginnt, dann gibt es einige Momente später eine Zeitüberschreitung und es schlägt fehl. Wenn ich die Befehle in named.service von Hand ausführe, startet named einwandfrei. Ich weiß nicht, nach welchem ​​Timeout systemctl sucht oder wo es aufgerufen wird. Ich habe die Manpages für systemctl, systemd und andere gelesen und werde dies weiter untersuchen, aber wenn jemand irgendwelche Hinweise hat, wäre das großartig.

systemctl status named.service Ausgabe:

named.service - Berkeley Internet Name Domain (DNS)
          Loaded: loaded (/usr/lib/systemd/system/named.service; disabled)
          Active: failed (Result: timeout) since Tue 2013-01-29 14:36:41 EST; 35min ago
         Process: 4189 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS)
         Process: 4186 ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf (code=exited, status=0/SUCCESS)
         Process: 4183 ExecStartPre=/usr/libexec/generate-rndc-key.sh (code=exited, status=0/SUCCESS)

Jan 29 14:35:12 raspi.example.com named[4191]: all zones loaded
Jan 29 14:35:12 raspi.example.com systemd[1]: PID file /run/named/named.pid not readable (yet?) after start.
Jan 29 14:35:12 raspi.example.com named[4191]: running
Jan 29 14:36:41 raspi.example.com systemd[1]: named.service operation timed out. Terminating.
Jan 29 14:36:41 raspi.example.com named[4191]: shutting down
Jan 29 14:36:41 raspi.example.com named[4191]: stopping command channel on 127.0.0.1#953
Jan 29 14:36:41 raspi.example.com named[4191]: no longer listening on 127.0.0.1#53
Jan 29 14:36:41 raspi.example.com named[4191]: exiting
Jan 29 14:36:41 raspi.example.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
Jan 29 14:36:41 raspi.example.com systemd[1]: Unit named.service entered failed state  

Die Datei named.service

[Unit]
Description=Berkeley Internet Name Domain (DNS)
Wants=nss-lookup.target
Before=nss-lookup.target
After=network.target

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/named
Environment=KRB5_KTNAME=/etc/named.keytab
PIDFile=/run/named/named.pid
ExecStartPre=/usr/libexec/generate-rndc-key.sh
ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf
ExecStart=/usr/sbin/named -u named $OPTIONS
ExecReload=/bin/sh -c '/usr/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID'
ExecStop=/bin/sh -c '/usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'
PrivateTmp=true
[Install]
WantedBy=multi-user.target
mike fratto
quelle

Antworten:

8

Antwortete.

Dies war die Linie:

PID-Datei /run/named/named.pid nach dem Start (noch?) Nicht lesbar.

Der (noch?) Warf mich. Ich dachte, die Nachricht würde ausgelöst, weil versucht wurde, die PID-Datei zu lesen, bevor sie von named ausgeschrieben wurde. Da ich danach keinen Fehler mehr sah, stellte ich fest, dass sie schließlich erfolgreich gelesen wurde. Blöd mich, weil ich Englisch gelesen habe. In der Tat namedschreibt das pidto /var/run/named/named.pid, das nie von systemctl(oder systemd) gelesen wurde , jemals.

Die PID-Datei wurde geändert named.serviceund es wird gestartet . Freude.

mike fratto
quelle
Super, danke für die Antwort. Hatte mich verblüfft.
vonbrand
1
/ var / run sollte ein Symlink zu / run sein ...
CameronNemo
Oh, Linux-Launen und eines der vielen nervigen Dinge an der Linux-Distribution und -Paketentwicklung, die ich verabscheue. / run ist redundant, wenn Sie / var / run haben. Dort sollten sich variable Dinge wie PID-Dateien befinden.
Mike Fratto
1
systemctl enable named 

ist vorher erforderlich

systemctl start named
Saurabh Barjatiya
quelle