คำถามติดแท็ก systemd

systemd เป็นอีกทางเลือกหนึ่งสำหรับ SystemV และ Upstart init daemons สำหรับ Linux มันมีวัตถุประสงค์เพื่อให้กรอบที่ดีกว่าสำหรับการแสดงการพึ่งพาบริการที่อนุญาตให้ทำงานได้มากขึ้นในแบบคู่ขนานที่เริ่มต้นระบบและเพื่อลดเปลือกค่าใช้จ่าย

4
วิธีเริ่มบริการ systemd ก่อนเริ่มระบบเครือข่าย
ฉันกำลังพยายามตั้งค่าบริการใหม่ (ภายใต้ Debian Jessie) ที่ต้องตั้งค่าการติดตั้งบางอย่างที่จัดเก็บการกำหนดค่าเครือข่ายและบริการนี้จะต้องเสร็จสิ้นก่อนที่จะเริ่มระบบเครือข่ายบริการ ฉันพยายามต่อไปนี้: [Unit] Description=mount/repair remaining filesystems (all persistent fs beyond "/") #Before=network-pre.target Before=networking.service [Service] Type=oneshot ExecStart=/opt/intermodul-mounts/start.sh TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=networking.service การใช้systemd-analyze plotฉันเห็นว่าบริการของฉันเริ่มทำงาน แต่networking.serviceเริ่มประมาณ 3 วินาทีก่อนหน้า: เห็นได้ชัดว่าการตั้งค่าของฉันผิด แต่ฉันมีปัญหาในการค้นหาปัญหา ... ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก .. ปรับปรุง ขณะนี้ฉันแก้ไขได้โดยเปลี่ยนการกำหนดค่าบริการให้เริ่มก่อนlocal-fs.targetแทนnetworking.service: [Unit] DefaultDependencies=no Description=mount/repair remaining filesystems (all persistent fs beyond "/") Before=local-fs.target [Service] …
11 systemd 

1
ไม่สามารถเปิดใช้งานบริการผู้ใช้ “ ล้มเหลวในการรับการเชื่อมต่อ D-Bus: การเชื่อมต่อถูกปฏิเสธ” การสนับสนุน
ฉันได้รับข้อผิดพลาดนี้เมื่อใช้คำสั่ง systemd ใด ๆ ในฐานะผู้ใช้: admin@Xroklaus:~ $ systemctl --user list-units Failed to get D-Bus connection: Connection refused หากไม่มีพารามิเตอร์ผู้ใช้คำสั่งจะทำงานได้ดี admin@Xroklaus:~ $ systemctl list-units UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0 ... …

1
วิธีการรับบริการ systemd ของฉันเริ่มต้นใหม่เมื่อมีการอัพเกรดการพึ่งพา
ฉันเขียนโปรแกรมที่ใช้ฐานข้อมูล Postgres และฉันเขียนไฟล์ serviced สำหรับบริการ ขณะนี้บริการของฉันเริ่มทำงานเมื่อบูตได้ดีและหยุดลงเมื่อ Postgres หยุดการอัปเกรด (โดยapt upgrade) อย่างไรก็ตามเมื่อการอัพเกรดเสร็จสมบูรณ์และ Postgres เริ่มต้นอีกครั้งบริการของฉันจะไม่เริ่มต้นโดยอัตโนมัติ ฉันสามารถกำหนดการพึ่งพาบางส่วนเพื่อให้บริการของฉันเริ่มทำงานอีกครั้งโดยอัตโนมัติได้หรือไม่ นี่คือสถานะของการบริการของฉันหลังจากที่มันถูกหยุดโดยอัตโนมัติในระหว่างการอัพเกรด Postgres: ● tabill.service - My service Loaded: loaded (/srv/tabill/tabill.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2017-07-04 00:29:24 EEST; 44min ago Main PID: 1048 (code=killed, signal=TERM) โปรดทราบว่าฉันสามารถเริ่มบริการด้วยตนเองอีกครั้งได้ดี นี่คือไฟล์บริการของฉัน: [Unit] Description=My service Wants=nginx.service Requires=postgresql.service …

1
กำหนดค่า java daemon ด้วย systemd
ฉันกำลังใช้คำจำกัดความนี้สำหรับsystemdงาน: [Unit] Description=Some job [Service] ExecStart=/usr/local/sbin/somejob User=dlt Type=forking [Install] WantedBy=multi-user.target สคริปต์ถูกเรียกใช้ดังต่อไปนี้ (การเรียกรูทีนแบบง่ายที่ฟังบนซ็อกเก็ต tcpip และผนวกอินพุตกับไฟล์): #!/bin/sh cd /home/user/tmp/testout nohup java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar </dev/null >/dev/null & หลังจากsystemctl start somejobกระบวนการแสดงว่ากำลังทำงานพร้อมกับพาเรนต์init: user@CANTANDO ~$ ps -u dlt eo pid,ppid,command PID PPID COMMAND 8718 1 java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar หลังจากดำเนินการsystemctl stop somejobตามกระบวนการจะไม่ปรากฏอีกต่อไป (และปิดพอร์ต) ดังนั้นทุกอย่างจึงดูดีและสวยงาม คำถามของฉันคือ: นี่เป็นวิธีแก้ปัญหาที่ยอมรับได้สำหรับการเรียกใช้จาวาดีมอนsystemdหรือมีคำเตือนหรือไม่
11 systemd  java  daemon 

3
ปิดการใช้งานสคริปต์ init.d ใน systemd
ฉันเปลี่ยนระบบ init จาก sysvinit เป็น systemd ในการติดตั้ง raspbian การติดตั้งบูทดี แต่ตอนนี้เริ่ม lightdm เมื่อบู๊ต ฉันไม่ต้องการให้ทำเช่นนั้น ฉันสังเกตเห็นว่าlightdm.serviceเริ่มต้นในการบูต หยุดบริการด้วย systemctl stop lightdm.service ทำงานได้ดี systemctl disable lightdm.service ควรปิดการใช้งาน แต่ให้ฉัน Failed to issue method call: No such file or directory systemctl status lightdm.service ให้ฉัน lightdm.service - LSB: Light Display Manager Loaded: loaded (/etc/init.d/lightdm) Active: inactive (dead) …

1
วิธีรอ a / dev / video0 ก่อนเริ่มบริการ
ฉันสามารถเขียนไฟล์หน่วยซึ่งขึ้นอยู่กับการติดตั้งเพราะฉันสามารถแสดงรายการพวกเขาแล้วเพิ่มไปRequires=xxxเช่น: # systemctl list-units | grep data mount-data.service loaded active exited Manage the data partition สิ่งที่ฉันพยายามทำคือการทำให้บริการเริ่มต้นเมื่อเว็บแคมเสียบเข้ากับอุปกรณ์ systemctl list-units | grep video0ไม่มีอะไรคืน ใครสามารถอธิบายฉันด้วยคำง่ายๆฉันจะทำอย่างไรเพื่อให้แน่ใจว่า สิ่งที่ฉันไม่ต้องการให้เกิดขึ้นคือการบริการเริ่มต้นเมื่อ/dev/video0, /dev/video1ฯลฯ ปรากฏ ฉันได้รับเบาะแสจากโพสต์นี้ว่าฉันจะต้องเขียนกฎ udev แต่ฉันไม่รู้ว่าจะต้องทำอะไรที่นี่ ช่วยด้วย?
11 systemd  udev 

2
มีเหตุผลใดที่จะย้ายออกจาก fstab บนระบบ systemd หรือไม่?
ฉันใช้ระบบ Arch Linux ซึ่งหมายถึง systemd ใน systemd มีไฟล์หน่วยเนทีฟสำหรับจุดเมานท์พร้อมด้วยนามสกุล. mount ฉันมักจะใช้/etc/fstabซึ่งไม่เคยทำให้ฉันมีปัญหาเพราะ systemd เพียงแค่รับข้อมูลจากที่ แต่ตอนนี้ฉันได้อ่านเอกสารฉันสงสัยว่าควรเปลี่ยนเป็นไฟล์ systemd unit แบบดั้งเดิมหรือไม่ Arch Wiki แสดงให้เห็นว่าไม่มีประโยชน์เพราะมันบอกว่าจะเติมข้อมูลของคุณfstabในคู่มือสำหรับผู้เริ่มต้น
11 systemd  fstab 

2
การเพิ่มการหน่วงเวลาระหว่างการหยุดและเริ่มกระบวนการใน systemd
systemdฉันมีปัญหาแปลกจริงๆกับ เมื่อฉันออกsystemctl restartมันจะเริ่มกระบวนการใหม่ก่อนที่กระบวนการก่อนหน้าจะเสร็จสิ้น สิ่งนี้สามารถเห็นได้ในบันทึกซึ่งข้อความการปิดระบบสุดท้าย ("บันทึกการปิด") ถูกบันทึกหลังจากข้อความเริ่มต้น ("เปิดบันทึก") มีวิธีใดบ้างที่จะเพิ่มการหน่วงเวลาระหว่างการหยุดและการเริ่มต้นกระบวนการ?
10 systemd  services 

1
systemctl จะหมดเวลาในการรีสตาร์ทบริการ
ฉันใช้ CentOS 7.2 ดูด้านล่าง: # systemctl stop firewalld Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24) Failed to stop firewalld.service: Connection timed out Failed to get load state of firewalld.service: Connection timed out journalctl เพียงรายงานข้อผิดพลาดต่อไปนี้: [system] Failed to activate service 'org.freedesktop.PolicyKit1': timed …

1
วิธีปิดการใช้งานข้อความ“ เวลามีการเปลี่ยนแปลง” ของสแปมใน systemd journal ขณะใช้ sdwdate?
เนื่องจากการใช้ Debian stretch แบบรวมซึ่งใช้ systemd โดยค่าเริ่มต้นและsdwdate (ที่ใช้ตัวปรับนาฬิกาช้า ( gh )) นาฬิการะบบของฉันจึงเปลี่ยนบ่อย ผลjournalctl -fก็คือสแปมโดยไม่รู้จบ [...] Nov 07 13:46:49 host systemd[766]: Time has been changed Nov 07 13:46:50 host systemd[766]: Time has been changed Nov 07 13:46:51 host systemd[766]: Time has been changed [...] นี่ไม่ใช่ปัญหาของเสียงฮือฮา Debian ที่ใช้ sysvinit จะกำหนดค่า systemd เพื่อไม่ส่งTime has …
10 systemd 

3
ด้วย systemd-networkd ให้ดำเนินการตามการเปลี่ยนแปลงการกำหนดค่าเครือข่าย
ฉันเปลี่ยนจาก Debian's ifupdownไปsystemd-networkdเป็นและมันก็ใช้ได้ดี สิ่งที่ขาดหายไปอย่างหนึ่งก็คือทุกครั้งที่มีการเปลี่ยนแปลงเครือข่ายฉันต้องการโทรหาkillall -ARLM tincเพื่อที่ VPN ของฉันจะทำงานได้ทันเวลา ไม่systemdหรือsystemd-networkdให้การทำงานดังกล่าวหรือไม่ ฉันจะใช้มันอย่างไร

1
systemctl เปิดใช้งาน netctl.service ทำอะไรได้บ้าง
ฉันมีเซิร์ฟเวอร์แขนเล็ก ๆ ที่เรียกใช้ Arch ผมอยากจะใช้เฉพาะdhcpcdสำหรับการเชื่อมต่ออีเธอร์เน็ตของฉันดังนั้นฉันปิดการใช้งานและnetctl.service netctl-ifplugd.serviceปรากฎว่าใช้งานไม่ได้และฉันไม่มีวิธีเชื่อมต่อกับเครื่องอีกต่อไป เซิร์ฟเวอร์มีรูตบนคีย์ usb ซึ่งฉันสามารถเมานเดสก์ท็อปได้และคำถามก็คือ: ฉันจะsystemctl enable netctl.serviceจัดการไฟล์และ / หรือเชื่อมโยงไฟล์บน usb นั้นได้อย่างไร คำถามอื่นที่เทียบเท่าคือsystemctl enable netctl.serviceทำอะไร
10 systemd  netctl 

2
ทำไม Fedora 20 ขอให้รีสตาร์ทหลังจากอัพเดตซอฟต์แวร์?
ฉันมีการติดตั้ง Fedora 20 ในเครื่องเสมือน VirtualBox ตอนนี้มันแจ้งให้ฉันทราบถึง "การอัปเดตระบบปฏิบัติการ" ว่า "รวมการปรับปรุงประสิทธิภาพความเสถียรและความปลอดภัยสำหรับผู้ใช้ทั้งหมด" และฉันมีตัวเลือก "รีสตาร์ทและติดตั้ง" อย่างไรก็ตามการคลิกที่ "อัปเดตระบบปฏิบัติการ" จะแสดงเนื้อหาของ "อัปเดตระบบปฏิบัติการ" และฉันไม่พบเคอร์เนล libc หรือ systemd ใหม่ในรายการแพคเกจที่จะอัปเดต ดังนั้นสิ่งที่เรียกร้องให้มีการรีสตาร์ทคืออะไร? แพ็คเกจเหล่านี้จะปรากฏเมื่อฉันออกsudo yum update: ================================================== ============================== ปรับปรุง: chkconfig x86_64 1.3.62-1.fc20 อัพเดท 172 k chrony x86_64 1.30-2.fc20 อัปเดต 262 k emacs-filesystem noarch 1: 24.3-24.fc20 อัพเดต 58 k ไฟล์ x86_64 5.19-4.fc20 อัพเดต …
10 fedora  systemd  reboot 

2
dhcpcd ไม่สามารถเริ่มต้นเมื่อบูต
เมื่อฉันรันdhcpcdหลังจากบู๊ตทุกอย่างทำงานได้ดี แต่เมื่อฉันพยายามเพิ่มให้เริ่มโดยอัตโนมัติsystemctl enable dhcpcd@eth0.serviceหลังจากการบู๊ตแต่ละครั้งมันไม่ทำงาน dhcpcd@eth0.service loaded inactive dead start dhcpcd on eth0

1
ผู้ใช้ systemd บริการ PulseAudio
ไม่มากสำหรับคำถามนี้: ฉันต้องการทราบว่าฉันต้องสร้างบริการ PulseAudio systemd เพื่อให้ทำงานsystemd --userได้อย่างไร ฉันได้ลองทำสิ่งต่าง ๆ รวมถึงบริการผู้ใช้จาก Google แต่ฉันไม่สามารถตั้งค่าได้ระหว่าง dbus กับทุกอย่างที่จำเป็นสำหรับมัน อัปเดต:ดูเหมือนว่าจะทำงานได้ดีกับเซสชันกราฟิก แต่ฉันยังคงมีความไม่สอดคล้องกับ dbus เมื่อลงชื่อเข้าใช้ผ่านคอนโซล แต่ PulseAudio เริ่มต้นได้อย่างน่าเชื่อถือดังนั้นฉันจึงไม่กังวลมากเกินไป

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