Fedora 18 Raspberry Pi 스핀에서 systemd 사용을 시작할 수 없습니다. 시작된 후 몇 분 후에 시간이 초과되어 실패합니다. 명명된.service에서 명령을 수동으로 실행하면 명명된 명령이 정상적으로 시작됩니다. systemctl이 무엇을 찾고 있는지, 어디에서 호출되는지 알 수 없습니다. 저는 systemd 및 기타 매뉴얼 페이지를 읽었 systemctl
으며 이에 대해 계속 연구할 것입니다. 그러나 누구든지 조언이 있다면 좋을 것입니다.
systemctl status named.service
산출:
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
명명된 .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
답변1
대답했다.
다음 줄은 다음과 같습니다.
시작 후 PID 파일 /run/named/named.pid를 읽을 수 없습니다(아직?).
(아직?) 나를 버렸어요. Named로 쓰기 전에 PID 파일을 읽으려고 했기 때문에 메시지가 던져진 것 같은데, 그 이후에는 오류가 보이지 않기 때문에 결국 성공적으로 읽혀진 것 같습니다. 나는 영어를 읽는 데 너무 바보입니다. 실제로 에 named
쓰면 결코 읽혀 지지 않습니다 (또는 systemd에 의해).pid
/var/run/named/named.pid
systemctl
PIDFile을 변경 named.service
하고 시작했습니다. 기쁨.
답변2
systemctl enable named
이전에 필요함
systemctl start named
답변3
저도 같은 문제가 있었습니다. 시작 파일의 유일한 오류는 다음과 같습니다.
systemd: Can't open PID file /run/named/named.pid (yet?) after start: No such file or directory
내 /var/run 심볼릭 링크가 /run인지 확인하고 /usr/lib/systemd/system/named.service 및 /var/run/named/named.pid가 설정되어 있는지 확인했습니다.
/var/named/named.conf의 "pid-file" 지시문을 무시하고 "/var/named/named.pid"로 설정했습니다. "/var/run/named/named.pid"로 변경했는데 이제 정상적으로 부팅됩니다.
답변4
나중에 참조할 수 있도록 여기에 남겨두면 Named에도 비슷한 문제가 있었지만 제게는 사용 가능한 메모리가 너무 적기 때문에 문제가 발생했습니다.
watch: watch "systemctl restart name"을 사용하여 이 문제를 해결하고 잠시 후 메모리 사용량이 허용된 최대 메모리까지 급증한 다음 서비스가 종료되는 것을 확인합니다.
이것이 미래에 누군가에게 도움이 되기를 바랍니다.