ชื่อไม่เริ่มทำงานเมื่อใช้ systemctl


9

ฉันมีปัญหาในการตั้งชื่อให้เริ่มใช้ systemd กับสปินของ Fedora 18 Raspberry Pi มันเริ่มจากนั้นไม่กี่นาทีต่อมาก็มีการหมดเวลาและมันก็ล้มเหลว ถ้าฉันเรียกใช้คำสั่งใน named.service ด้วยมือชื่อจะเริ่มต้นได้ดี ฉันไม่ทราบว่าหมดเวลาที่ systemctl กำลังมองหาหรือที่มันถูกเรียก ฉันได้อ่าน man pages สำหรับsystemctlsystemd และอื่น ๆ แล้วและฉันจะทำการค้นคว้าต่อไป แต่ถ้าใครมีพอยน์เตอร์ใด ๆ

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  

ไฟล์ 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

คำตอบ:


8

ตอบ

นี่คือบรรทัด:

ไฟล์ PID /run/named/named.pid ไม่สามารถอ่านได้ (ยัง?) หลังจากเริ่มต้น

(ยัง) โยนฉัน ฉันคิดว่าข้อความถูกส่งออกไปเนื่องจากพยายามอ่านไฟล์ PID ก่อนที่จะเขียนโดยใช้ชื่อและเนื่องจากฉันไม่เห็นข้อผิดพลาดหลังจากนั้นฉันจึงคิดว่าในที่สุดก็อ่านได้สำเร็จ ฉันโง่ที่อ่านภาษาอังกฤษ ในความเป็นจริงnamedเขียนpidถึง/var/run/named/named.pidซึ่งไม่ได้ถูกอ่านโดยsystemctl(หรือ systemd) เคย

เปลี่ยน PIDFile ในnamed.serviceและมันเริ่มต้นขึ้น ความปิติยินดี


เยี่ยมมากขอบคุณสำหรับคำตอบ มีฉันนิ่งงัน
vonbrand

1
/ var / run ควรเป็น symlink เพื่อ / run ...
CameronNemo

โอ้, คนจรจัดลินุกซ์และหนึ่งในหลาย ๆ สิ่งที่น่ารำคาญเกี่ยวกับลินุกซ์ distro และการพัฒนาบรรจุภัณฑ์ที่ฉันเกลียด / run นั้นซ้ำซ้อนเมื่อคุณมี / var / run ซึ่งเป็นตำแหน่งที่ควรเป็นที่ที่สิ่งต่าง ๆ เช่นไฟล์ pid ควรไป
ไมค์เฟรโต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.