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

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

2
ฉันสามารถรีสตาร์ท systemd โดยไม่ต้องรีบูตเครื่องหรือไม่
ฉันพยายามเริ่มบริการใหม่หลังจากใช้งานyum updateRHEL 7.4 ฉันสามารถเริ่มบริการทุกครั้งโดยใช้ systemctl แต่needs-restartingจากyum utilsบอกฉันว่าฉันควรรีสตาร์ท systemd เอง: # needs-restarting 1 : /usr/lib/systemd/systemd --system --deserialize 21 ฉันสามารถรีสตาร์ทsystemdโดยไม่ต้องรีบูตเซิร์ฟเวอร์และจะทำอย่างไร ฉันพบบางอย่างที่กล่าวถึงsystemctl daemon-reloadแต่นี่ไม่ได้ทำให้หายไปจากรายการความต้องการเริ่มต้นใหม่
39 rhel  systemd 

1
เหตุใดยูนิตผู้ใช้ systemd ของฉันจึงไม่เริ่มทำงานในตอนบูต
ฉันพยายามสร้างหน่วยผู้ใช้ systemd และเริ่มต้นเมื่อระบบบูท บริการเริ่มต้นด้วยตนเอง แต่ไม่เริ่มทำงานเมื่อเริ่มระบบ จากการค้นหาอินเทอร์เน็ตฉันได้เรียนรู้ว่าเพื่อให้หน่วยผู้ใช้เริ่มการบูทฉันควรจะเรียกใช้loginctl enable-linger <username>แต่สิ่งนี้ดูเหมือนว่าจะไม่มีผลเลย แท้จริงหน้าคนพูดว่า: Enable/disable user lingering for one or more users. If enabled for a specific user, a user manager is spawned for the user at boot and kept around after logouts. This allows users who are not logged in to run long-running services. …

3
systemd: ปัญหาการอนุญาตกับ mkdir & ExecStartPre
ฉันมีปัญหากับไฟล์ serviced นี้ (สั้นลง) systemd: [Unit] Description=control FOO daemon After=syslog.target network.target [Service] Type=forking User=FOOd Group=FOO ExecStartPre=/bin/mkdir -p /var/run/FOOd/ ExecStartPre=/bin/chown -R FOOd:FOO /var/run/FOOd/ ExecStart=/usr/local/bin/FOOd -P /var/run/FOOd/FOOd.pid PIDFile=/var/run/FOOd/FOOd.pid [Install] WantedBy=multi-user.target ให้อาหารเป็นชื่อผู้ใช้และFOO/usr/local/bin/FOOdชื่อกลุ่มซึ่งมีอยู่แล้วสำหรับภูตของฉัน ฉันต้องสร้างไดเรกทอรี/var/run/FOOd/ก่อนที่จะเริ่มกระบวนการภูตผ่าน/usr/local/bin/FOOd # systemctl start FOOd.serviceสิ่งนี้ล้มเหลวเนื่องจาก mkdir ไม่สามารถสร้างไดเรกทอรีได้เนื่องจากการอนุญาต: ... Jun 03 16:18:49 PC0515546 mkdir[2469]: /bin/mkdir: cannot create directory /var/run/FOOd/: permission denied Jun …

4
ฉันสามารถป้องกัน“ สถานะบริการ foo” ไม่ให้เพจจิ้งเอาต์พุตผ่าน "น้อยลง" ได้หรือไม่
คุณจะหยุดคำสั่งservice <name> statusจากการใช้lessในการส่งออกได้อย่างไร ฉันมีสคริปต์ที่ดำเนินการดูแลระบบบางอย่างโดยอัตโนมัติและหลังจากฉันอัพเกรดเซิร์ฟเวอร์ของฉันเป็น Ubuntu 16.04 แล้วมันก็พังเพราะการกระทำที่ตรวจสอบสถานะบริการกำลังปิดกั้นเพราะใช้สิ่งที่ต้องการlessแสดงผลลัพธ์โดยเฉพาะsupervisorบริการ ฉันมี daemons หลายตัวที่กำหนดค่าให้ทำงานและเมื่อทำงานsudo service supervisor statusฉันจะได้รับ: * supervisor.service - Supervisor process control system for UNIX Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2017-02-06 20:35:34 EST; 12h ago Docs: http://supervisord.org Process: 18476 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS) Main PID: …
35 systemd  services 

2
เป้าหมายบริการและซ็อกเก็ตของ systemd คืออะไร
ฉันรู้ว่าพวกเขาทั้งหมดเป็นไฟล์หน่วย แต่ฉันไม่สามารถเข้าใจความหมายพิเศษของพวกเขา ฉันคิดว่าเป้าหมายนั้นคล้ายกับ daemons และซ็อกเก็ตเหมือนกันกับซ็อกเก็ต (IP + พอร์ต) แต่ยังมีหมายเลขไอโหนด ใครช่วยอธิบายด้วยคำพูดง่ายๆได้บ้าง?
35 systemd 

2
สามารถเปลี่ยน / etc / machine-id ได้ไหม
ฉันโคลนดิสก์ (SSD) และนำดิสก์ที่โคลนไปไว้ในเครื่องอื่น /etc/machine-idตอนนี้ทั้งสองระบบมีค่าเดียวกันใน เป็นปัญหาหรือไม่เพียงแค่แก้ไข/etc/machine-idเพื่อเปลี่ยนค่า ฉันสามารถทำได้ในขณะที่ระบบกำลังทำงาน (หรือฉันต้องบูตจาก Live USB) หรือไม่? เป็นsystemd-machine-id-setupทางเลือกที่ดีกว่า? การใช้งานที่ไร้เดียงสาsystemd-machine-id-setupไม่ทำงาน ฉันลองทำตามขั้นตอนเหล่านี้: nano /etc/machine-id (to remove the existing value) systemd-machine-id-setup > Initializing machine ID from D-Bus machine ID. cat /etc/machine-id ค่าใหม่เหมือนกันกับค่าเก่า
33 systemd  d-bus 

4
ตั้งค่าเซอร์วิส systemd เพื่อดำเนินการหลังจาก fstab mount
ฉันกำลังทำงานกับsystemd .serviceสคริปต์ที่ควรเริ่มต้นหลังจากตำแหน่งเครือข่าย CIFS ติดตั้งผ่าน/etc/fstabเพื่อ/mnt/เปิดเครื่อง สคริปต์รอให้สคริปต์พึ่งพา OpenVPN เปิดใช้ก่อน แต่ฉันต้องการให้รอให้การติดตั้งเสร็จสมบูรณ์ /etc/systemd/system/my-daemon.service : [Unit] Description=Launch My Daemon After=network.target vpn-launch.service Requires=vpn-launch.service ฉันพยายามเพิ่มลงsystemd.mountในบรรทัด: After=network.target vpn-launch.service systemd.mountแต่มันไม่ได้ให้ผลลัพธ์ที่ฉันหวังไว้
33 debian  systemd 

2
systemd จับเวลาทุก 15 นาที
ฉันพยายามสร้าง systemd timer ที่ทำงานทุกๆ 15 นาที ตอนนี้ฉันมี: timer-fifteen.timer: [Unit] Description=15min timer [Timer] OnBootSec=0min OnCalendar=*:*:0,15,30,45 Unit=timer-fifteen.target [Install] WantedBy=basic.target timer-fifteen.target: [Unit] Description=15min Timer Target StopWhenUnneeded=yes สิ่งนี้รันซ้ำแล้วซ้ำอีกโดยไม่หยุด มันจำเป็นต้องใช้*:0,15,30,45:*แทนหรือไม่? ฉันจะทำงานนี้ได้อย่างไร
33 systemd 

2
วิธีการเปลี่ยนค่าการหมดเวลาบริการ systemd?
ใน บริษัท ที่ฉันทำงานอยู่ตอนนี้มีบริการแบบดั้งเดิมและสคริปต์เริ่มต้นของมันกำลังใช้ SysvInit รุ่นเก่า แต่ทำงานผ่าน systemd (CentOS 7) เนื่องจากมีการคำนวณจำนวนมากบริการนี้ใช้เวลาประมาณ 70 วินาทีจึงจะเสร็จสิ้น ฉันไม่ได้กำหนดค่าการหมดเวลาสำหรับ systemd และไม่เปลี่ยนการกำหนดค่าเริ่มต้นที่/etc/systemd/system.confแต่เมื่อฉันเรียกใช้service SERVICE stopบริการของฉันหมดเวลาหลังจาก 60 วินาที ตรวจสอบกับjournalctl -b -u SERVICE.serviceฉันพบบันทึกนี้: Sep 02 11:27:46 service.hostname systemd[1]: Stopping LSB: Start/Stop Sep 02 11:28:46 service.hostname SERVICE[24151]: Stopping service: Error code: 255 Sep 02 11:28:46 service.hostname SERVICE[24151]: [FAILED] ฉันได้ลองเปลี่ยนDefaultTimeoutStopSecคุณสมบัติ/etc/systemd/system.confเป็น90sเป็น แต่การหมดเวลายังคงเกิดขึ้น ไม่มีใครมีความคิดใด …

1
systemd เก็บ unmounting ไดรฟ์ที่ถอดออกได้
ฉันมีบรรทัดต่อไปนี้ใน / etc / fstab: UUID=E0FD-F7F5 /mnt/zeno vfat noauto,utf8,user,rw,uid=1000,gid=1000,fmask=0113,dmask=0002 0 0 พาร์ติชั่นถูกสร้างขึ้นใหม่gnome-disksภายใต้ผู้ใช้ที่เกี่ยวข้องและครอบคลุมการ์ดทั้งหมด ตอนนี้: ทำงานmount /mnt/zenoเป็นผู้ใช้ (1000) ประสบความสำเร็จ แต่หลังจากที่ผมพบว่ามันเป็นจริงไม่ได้ติดตั้ง: ต่อไปนี้ล้มเหลวด้วยumount /mnt/zeno umount: /mnt/zeno: not mountedเมื่อดูjournalctl -fฉันสามารถเห็นข้อความต่อไปนี้ปรากฏขึ้นเมื่อติดตั้ง: [...] kernel: SELinux: initialized (dev mmcblk0p1, type vfat), uses genfs_contexts [...] systemd[1]: Unit mnt-zeno.mount is bound to inactive service. Stopping, too. [...] systemd[1]: Unmounting /mnt/zeno... …
31 mount  systemd  vfat 

2
บริการ Systemd ทำงานโดยไม่ออกจากเครื่อง
ฉันสร้างบริการของตัวเองสำหรับ jekyll และเมื่อฉันเริ่มบริการดูเหมือนว่ามันจะไม่ทำงานเป็นกระบวนการพื้นหลังเพราะฉันถูกบังคับให้ctrl+ cออกจากมัน มันอยู่ในเบื้องหน้าเพราะ - ดู ฉันไม่แน่ใจว่าจะไปรอบ ๆ และทำให้มันทำงานในพื้นหลังได้อย่างไร ความคิดใด ๆ # /etc/systemd/system/jekyll-blog.service [Unit] Description=Start blog jekyll [Service] Type=forking WorkingDirectory=/home/blog ExecStart=/usr/local/bin/jekyll build --watch --incremental -s /home/blog -d /var/www/html/blog & ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure User=root Group=root [Install] WantedBy=multi-user.target
30 systemd 

1
วิธีการตั้งค่า ulimits บริการด้วย systemd?
คุณจะตั้ง ulimit บนหน่วยบริการ systemd ได้อย่างไร? คำถาม stackoverflowนี้อธิบายว่า systemd จะละเว้น ulimits ของระบบ ไวยากรณ์จะมีลักษณะอย่างไรในการตั้งค่า ulimits ต่อไปนี้ ulimit -c ulimit -v ulimit -m [Unit] Description=Apache Solr After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking SOLR_INSTALL_DIR=/opt/solr SOLR_ENV=/etc/default/solr.in.sh RUNAS=solr SOLR_PID_DIR="/var/solr" SOLR_HOME="/opt/solr/server/solr" LOG4J_PROPS="/var/solr/log4j.properties" SOLR_LOGS_DIR="/opt/solr/server/logs" SOLR_PORT="8389" PIDFile=/var/solr/solr-8389.pid ExecStart=/opt/solr/bin/solr start ExecStatus=/opt/solr/bin/solr status ExecStop=/opt/solr/bin/solr stop Restart=on-failure User=solr SuccessExitStatus=143 0 [Install] WantedBy=multi-user.target
29 systemd  ulimit 

1
ทำไมยูนิต Systemd ของฉันโหลด แต่ไม่ทำงาน (ไม่ทำงาน)
ฉันกำลังพยายามตั้งค่าไฟท์บนเซิร์ฟเวอร์ของฉัน ฉันสามารถเริ่มภูตคาร์บอนแคชไม่มีปัญหาsudo /opt/graphite/bin/carbon-cache.py startแต่ฉันพยายามที่จะเรียกใช้เป็นหน่วย Systemd นี่คือสิ่งที่ฉันมีในไฟล์บริการของฉันgraphite.service: [Unit] Description=Carbon for Graphite [Service] ExecStart=/opt/graphite/bin/carbon-cache.py start [Install] WantedBy=multi-user.target แต่เมื่อฉันเริ่มหน่วยฉันได้รับสถานะต่อไปนี้: $ systemctl status graphite.service * graphite.service - Carbon for Graphite Loaded: loaded (/etc/systemd/system/graphite.service; enabled) Active: inactive (dead) since Fri 2014-06-13 18:44:11 UTC; 2s ago Process: 4525 ExecStart=/opt/graphite/bin/carbon-cache.py start (code=exited, status=0/SUCCESS) Main PID: 4525 (code=exited, …
29 systemd 

3
วิธีรับ ttys น้อยลงด้วย Systemd
/etc/inittabในวันเก่าฉันเพียงแค่การปรับเปลี่ยน ขณะนี้ด้วย systemd ดูเหมือนว่าจะเริ่ม tty [1-6] โดยอัตโนมัติฉันจะปิดการใช้งาน tty [4-6] ได้อย่างไร ดูเหมือนว่ามีไฟล์บริการ systemd เพียงไฟล์เดียวและใช้ a %Iเพื่อแยกเซสชัน tty ที่ต่างกัน ฉันหวังว่าฉันไม่จำเป็นต้องลบบริการนั้นและสร้างแต่ละบริการgetty@ttyX.serviceด้วยตนเอง
29 linux  systemd  console 

1
systemd อยู่รอดการฆ่า -9 ได้อย่างไร?
ระหว่างคำถาม "ทำไม 'kill -9 0' ถึงจบเซสชันคอนโซลของฉัน" และ "วิธีการทำให้เคอร์เนลตื่นตระหนก" ฉันได้รับความรำคาญภายใต้อานของฉันและลองkill -9 1ใช้แล็ปท็อป Arch linux ที่ทันสมัยเป็นส่วนใหญ่ ฉันทำมันเป็น ID ผู้ใช้ "รูท" ฉันคาดหวังว่าจะเกิดความผิดพลาดหรือตื่นตระหนกหรือปิดเครื่อง แต่ก็ไม่มีอะไรเกิดขึ้น ฉันทำkill -9 1อีกครั้งไม่มีผล เครื่อง Arch Linux ใช้งานsystemdวันนี้ดังนั้น: systemdเอาตัวรอด kill -9 ได้อย่างไร ฉันคาดหวังว่าจะมีรหัสกรณีพิเศษในเคอร์เนล Linux 3.7 แต่อาจมีสาเหตุอื่นที่ฉันไม่ได้คิด สิ่งอื่น ๆ ที่ทำงานด้วย PID 1 คืออะไร Slackware ยังคงใช้initฉันเชื่อ แต่ฉันกลัวที่จะลองบนเซิร์ฟเวอร์ Slackware ที่ใช้งานจริงของฉัน DD-WRT บนเราเตอร์ไร้สายของฉันรัน / sbin …

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