nomeado não inicia ao usar systemctl

9

Estou tendo problemas para ser nomeado para começar a usar o systemd na rotação do Fedora 18 Raspberry Pi. Começa; alguns instantes depois, ocorre um tempo limite e falha. Se eu executar os comandos no named.service manualmente, o named começará muito bem. Não sei qual é o tempo limite que o systemctl está procurando ou onde está sendo chamado. Eu li as páginas de manual do systemctlsystemd e outras e continuarei pesquisando isso, mas se alguém tiver alguma dica, isso seria ótimo.

systemctl status named.service resultado:

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  

O arquivo 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
fonte

Respostas:

8

Respondidas.

Esta foi a linha:

O arquivo PID /run/named/named.pid não pode ser lido (ainda?) Após o início.

O (ainda?) Me jogou. Eu pensei que a mensagem estava sendo lançada porque estava tentando ler o arquivo PID antes de ser gravado pelo nome e, como não vi um erro depois disso, imaginei que eventualmente o lesse com êxito. Parvo-me por ler inglês. De fato, namedescreve o pidto /var/run/named/named.pid, que não estava sendo lido por systemctl(ou systemd), nunca.

O PIDFile foi alterado named.servicee ele inicia. Alegria.

mike fratto
fonte
Ótimo, obrigado pela resposta. Me deixou perplexo.
vonbrand
1
/ var / run deve ser um link simbólico para / run ...
CameronNemo
Ah, os caprichos do Linux e uma das muitas coisas irritantes sobre a distribuição e desenvolvimento de pacotes do Linux que eu detesto. / run é redundante quando você tem / var / run, que é onde deve estar onde devem ir os itens variáveis, como arquivos pid.
Mike fratto
1
systemctl enable named 

é necessário antes

systemctl start named
Saurabh Barjatiya
fonte