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

Systemd เป็นการแทนที่สำหรับ init แบบคลาสสิคระหว่างการบู๊ต

5
วิธีลบบริการ systemd
ถ้าผมติดตั้งบริการใหม่แล้วตัดสินใจฉันไม่ต้องการโปรแกรมที่อีกต่อไปและลบมันบริการจะยังคงอยู่ในการส่งออกจากsystemctlเป็นข้อผิดพลาด สิ่งนี้มาจากไหนและฉันจะลบออกได้อย่างไร
179 linux  systemd 

3
systemd - ให้บริการของฉันหลายข้อโต้แย้ง
เป็นไปได้หรือไม่ที่จะให้บริการ systemd ของฉันมากกว่าหนึ่งข้อโต้แย้ง? ฉันต้องการรันโปรแกรมที่มีอาร์กิวเมนต์หลายตัวซึ่งต้องตัดสินใจโดยผู้ใช้ขั้นสุดท้าย เช่น: ./program arg1 arg2 ในการเริ่มต้นมันเป็น app อาร์กิวเมนต์เดียวที่ฉันจะต้องสิ่งที่ต้องการที่อยู่ในคำนิยามบริการฉันมีsystemctl start arg1@programExecStart = /usr/bin/program ℅i ขอบคุณ!
44 linux  systemd 

5
Ubuntu 17.04 การค้นหา DNS ที่แก้ไขโดยระบบล้มเหลวโดยการสุ่ม
ฉันอัพเกรดเป็น Ubuntu 17.04 และตอนนี้ดูเหมือนว่าจะมีกลไกตัวแก้ไข DNS ใหม่เปิดตัวครั้งแรกใน Ubuntu 16.10 ตอนนี้ฉันได้รับการค้นหา DNS ล้มเหลว 50% ของเวลา การเรียกไปยัง nslookup อื่น ๆล้มเหลวโดยที่ครึ่งหนึ่งของการโทรแก้ไขได้ดีและอีกครึ่งให้สิ่งนี้: watch -n 1 nslookup google.com Server: 127.0.0.53 Address: 127.0.0.53#53 ** server can't find google.com: SERVFAIL จากสิ่งที่ฉันเข้าใจตอนนี้ที่อยู่ IP ของเซิร์ฟเวอร์ DNS นั้นถูกใช้เพื่อแสดงถึงการแก้ไขระบบซึ่งจะทำการค้นหาเมตาเพื่อหลีกเลี่ยงการสืบค้น DNS ที่ช้าลง (หรือบางอย่าง ... ) ฉันเห็นพฤติกรรมที่เหมือนกันแน่นอนในสองเครื่องที่ฉันอัพเกรดเป็น 17.04 ในสัปดาห์ที่ผ่านมา ความคิดใด ๆ ที่เป็นปัญหาอยู่ที่นี่และวิธีการแก้ไขที่ถูกต้องหรือไม่ สิ่งต่าง ๆ …
38 ubuntu  dns  systemd 

7
เริ่มบริการ systemd ภายใน chroot
ด้วยสคริปต์เริ่มต้น (หรือด้วย openrc) ฉันสามารถเรียกใช้บริการจากรูทการติดตั้งอื่นได้เสมอ แต่เมื่อฉันวิ่งchroot /somepath/to_root /usr/bin/systemctl start someserviceฉันได้: Running in chroot, ignoring request. มีวิธีบังคับให้ systemd เปิดใช้บริการหรือไม่? อัปเดต: ฉันลืมที่จะพูดว่าระบบโฮสต์ของฉันเรียกใช้สคริปต์ init หรือ openrc แต่ไม่เคย systemd และฉันใช้ chroot เพื่อแก้ไขปัญหาระบบ Unix ที่ไม่สามารถแม้แต่จะเปิดตัวเชลล์ขั้นต่ำ
38 unix  systemd  chroot 

2
หน่วย systemd ที่เปิดใช้งานไม่เริ่มทำงานเมื่อบู๊ต
ฉันsystemd-unitใช้งานระบบของฉันแล้ว ปัญหาคือมันไม่รีสตาร์ทหลังจากรีบูต ขึ้นอยู่กับบริการอื่นสองบริการที่เริ่มต้นอย่างที่คาดไว้ บริการรู้จักใช้งานและไม่ทำงาน: [centos@ansible-kube-4 ~]$ sudo systemctl status flanneld flanneld.service - Flanneld overlay address etcd agent Loaded: loaded (/usr/lib/systemd/system/flanneld.service; enabled) Active: inactive (dead) ไฟล์หน่วย: [centos@ansible-kube-4 ~]$ cat /usr/lib/systemd/system/flanneld.service [Unit] Description=Flanneld overlay address etcd agent After=network.target After=etcd.service [Service] Type=notify Restart=always RestartSec=3 EnvironmentFile=/etc/sysconfig/flanneld EnvironmentFile=-/etc/sysconfig/docker-network ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} -etcd-prefix=${FLANNEL_ETCD_KEY} $FLANNEL_OPTIONS ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS …
35 systemd 

4
การเขียนบริการที่ขึ้นอยู่กับ Xorg
ฉันพยายามเขียนบริการระดับผู้ใช้redshiftและต้องรอจนกว่า Xorg เปิดใช้งานได้ ไฟล์บริการปัจจุบันของฉันมีลักษณะดังนี้: [Unit] Description=Redshift After=graphical.target [Service] Environment=DISPLAY=:0 ExecStart=/bin/redshift -l 28:-13 -t 5300:3300 -b 0.80:0.91 -m randr Restart=always [Install] WantedBy=default.target อย่างไรก็ตามดูเหมือนว่าจะพยายามเริ่มต้นก่อนที่ Xorg จะขึ้นและฉันต้องเริ่มบริการด้วยตนเองในภายหลัง ฉันเดาว่าฉันใช้ผิดAfter=เป้าหมาย คำใบ้ใด ๆ
30 systemd 

3
ฉันจะรันคำสั่งหลังการบู๊ตได้อย่างไร?
ฉันต้องการเรียกใช้คำสั่ง shell แบบง่าย ๆecho 1 > /proc/sys/kernel/sysrqในการบู๊ตแต่ละครั้งเพื่อเปิดใช้งานคีย์ sysrq สิ่งนี้ควรทำเมื่อเริ่มต้นระบบและควรวางสคริปต์ไว้ที่ใด
27 linux  boot  script  init  systemd 

1
สัญลักษณ์ @ และ systemctl และ vsftpd
ฉันมีคำถามสองส่วน อะไรคือความสำคัญของสัญลักษณ์ @ ในสคริปต์ systemctl? วิธีเริ่ม vsftpd ใน fedora 16 (ซึ่งในบทเรียนบางบทดูเหมือนว่ามี @ ในชื่อมัน)? ฉันทำทุกอย่างที่ครูสอนพูดและมันก็ทำให้ฉันมีข้อผิดพลาด http://blog.tuxforge.com/fedora-16-vsftpd/ ฉันทำอะไรลงไป systemctl enable vsftpd@.service ฉันเห็นอะไร Failed to issue method call: No such file or directory (ฉันได้ลองวิธีนี้ด้วยพา ธ สัมบูรณ์เช่นกันและหลังจากฉันตรวจสอบว่าไม่มีไฟล์ดังกล่าวไฟล์จริงไม่มีเครื่องหมาย @ และอยู่ภายใต้ไดเรกทอรี / lib / systemd / system / ฉันยังได้ลองแล้ว การเริ่มต้นและการเปิดใช้งานโดยมีและไม่มีสัญลักษณ์ @ การเปิดใช้งานทำงานได้ แต่การเริ่มต้นไม่ได้ฉันรู้ว่าบทความล้าสมัยไปแล้ว แต่ฉันยังไม่สามารถเริ่มบริการได้เมื่อฉันพยายามเชื่อมต่อจะไม่ให้ฉัน) แก้ไข: ฉันได้รับบริการเพื่อเริ่มต้นอย่างใด …
27 vsftpd  systemd 

1
ฉันจะทราบได้อย่างไรว่าเหตุใดบริการ systemctl“ systemd-modules-load” จึงล้มเหลว
บางครั้งฉันเห็นข้อความสีแดงกะพริบระหว่างการบู๊ต วันนี้ฉันตัดสินใจที่จะดูมัน บริการ systemctl systemd-modules-load.serviceล้มเหลวด้วยข้อความนี้: tomas @ bonus-debian: ~ $ sudo systemctl status systemd-modules-load ● systemd-modules-load.service - โหลดโมดูลเคอร์เนล โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/systemd-modules-load.service; static; preset ของผู้ขาย: เปิดใช้งาน) ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่ ma 2015-11-09 02:58:48 CET; 5 นาทีที่แล้ว Docs: man: systemd-modules-load.service (8) ชาย: โมดูล load.d (5) กระบวนการ: 644 ExecStart = / lib …

3
คุณจะทำให้บริการ systemd เป็นบริการสุดท้ายในการบูตได้อย่างไร
/etc/rc.localหลายปีที่ผ่านมาเราสามารถเขียนสคริปต์การเริ่มต้นของเราใน หลังจากโหลดบริการระบบทั้งหมดแล้วสคริปต์ของคุณจะทำงาน ตอนนี้เราใช้ systemd เราไม่มีrc.localอีกแล้ว Systemd เริ่มบริการแบบขนาน คุณสามารถเขียนบริการของคุณเองเพื่อทำหน้าที่ rc.local` แต่คุณไม่สามารถมั่นใจได้ว่ามันจะทำงานหลังจากที่โหลดระบบบริการทั้งหมดแล้ว มีวิธีทำหรือไม่? หรือเราต้องใช้BeforeและAfterในไฟล์บริการ systemd?
26 systemd 

1
รีสตาร์ทเซอร์วิส Systemd โดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลงไดเรกทอรี (ไฟล์ใด ๆ ที่อยู่ภายใน)
ฉันจะเริ่มบริการ Systemd ใหม่ได้อย่างไรเมื่อไฟล์มีการเปลี่ยนแปลง ฉันได้รับบริการ Java ที่ฉันต้องการโหลดใหม่เมื่อไฟล์ jar เปลี่ยนแปลง นี่คือการตั้งค่าของฉัน: srv.service [Unit] Description=srv 0.1: Service's description After=network.target [Service] Type=simple WorkingDirectory=/opt/srv ExecStart=/opt/srv/bin/srv User=root Group=root [Install] WantedBy=multi-user.target srv.path [Path] PathModified=/opt/srv/lib/ ฉันลองใช้PathChangedและใช้ไฟล์แทนไดเรกทอรี เมื่อฉันติดตั้งบริการที่ฉันดำเนินการ: sudo systemctl daemon-reloadและ sudo systemctl enable srv ขอบคุณ!
25 unix  systemd 

1
systemd forking vs simple?
ฉันกำลังเขียนsystemdไฟล์หน่วยแรกของฉัน สำหรับTypeมีตัวเลือกไม่กี่: forking, simpleฯลฯ ฉันได้อ่านเอกสาร Redhatในหัวข้อนี้ (ตารางที่ 9.9) แต่ก็ยังไม่แน่ใจว่าเมื่อใดฉันควรใช้ตัวเลือกใด แนวทางใด?

2
วิธีการโหลด nginx - systemctl หรือ nginx -s?
มีความแตกต่างระหว่างการโทร systemctl reload nginx และการโทร nginx -s reload ? ฉันรู้ว่านอกเหนือจาก systemd แล้วยังมีระบบเริ่มต้นอื่น ๆ เช่น SysV และ Upstart ดังนั้นคำถามนี้อาจใช้กับพวกเขาด้วย มันจะดีกว่าที่จะออกคำสั่งนี้ผ่านระบบ init หรือฉันจะเรียก nginx เองได้หรือไม่ ขอบคุณล่วงหน้า
24 linux  nginx  systemd 

1
ฉันจะตั้งค่าเซอร์วิส systemd เพื่อเริ่มต้นโดยผู้ใช้ที่ไม่ใช่รูทเป็น daemon ผู้ใช้ได้อย่างไร
ฉันเพิ่งเสร็จสิ้นกระบวนการติดตั้งและตั้งค่าของ systemd บนระบบ arch-linux ของฉัน (2012.09.07) ฉันถอนการติดตั้งinitscripts(และลบไฟล์กำหนดค่า) สิ่งที่ฉันต้องการจะทำคือสร้างบริการที่สามารถเริ่มและหยุดโดยผู้ใช้ที่ไม่ใช่รูท บริการคือการเริ่มเซสชันหน้าจอเดี่ยวที่รัน rtorrent อย่างไรก็ตามฉันต้องการให้ผู้ใช้ทุกคนในระบบที่ได้ตั้งค่าบริการนี้เพื่อเริ่ม (เปิดใช้งาน) ให้มีการเริ่มต้นอินสแตนซ์เฉพาะสำหรับพวกเขาโดยเฉพาะ เราจะทำสิ่งนี้ได้อย่างไร? ฉันจำได้ว่าการอ่านว่า systemd รองรับอินสแตนซ์ของผู้ใช้บริการอย่างไรก็ตามฉันไม่สามารถค้นหาข้อมูลใด ๆ เกี่ยวกับวิธีการตั้งค่านี้หรือเกี่ยวข้องกับสิ่งที่ฉันกำลังค้นหา ไฟล์บริการที่ฉันใช้สำหรับระบบ: [Unit] Description=rTorrent [Service] Type=forking ExecStart=/usr/bin/screen -d -m -S rtorrent /usr/bin/rtorrent ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent อัปเดต # 1 : หลังจากอ่านหน้า man ที่นี่และที่นี่ฉันเข้าใจว่า systemd ทำงานได้ดีขึ้นเล็กน้อย โดยเฉพาะอย่างยิ่งการใช้User=และWorkingDirectory=ตัวเลือกอนุญาตให้เริ่มบริการในเซสชันของผู้ใช้ แต่ปัญหายังคงอยู่ที่การใช้งานของตัวเองไม่ได้start, stop, enableหรือdisableบริการ เข้าถึงถูกปฏิเสธsystemctlข้อผิดพลาดจะได้รับจาก อัปเดต …

2
ฉันจะรันสคริปต์ก่อนทุกอย่างอื่นเมื่อปิดระบบด้วย systemd ได้อย่างไร
หมายเหตุ: คำถามที่กำหนดสูตรสั้น ๆ สามารถพบได้ที่ด้านล่าง ฉันมีสคริปต์ที่ทำให้การสำรองไฟล์ของฉันไปยังไดรฟ์ USB ภายนอก การดำเนินการอาจใช้เวลาสักครู่ขึ้นอยู่กับปริมาณข้อมูลใหม่ที่ฉันสร้างขึ้น ฉันต้องการเรียกใช้โดยอัตโนมัติทุกครั้งที่ปิดระบบ ฉันใช้ fedora 23 พร้อมอัปเดตล่าสุด (systemd) ฉันพยายามทำสิ่งนี้ให้สำเร็จในหลาย ๆ ทาง แต่ฉันไม่สามารถทำงานได้ กระบวนการทำงานที่ยาวนานด้วย StopExec autobackup.service: [Unit] Description=Slow backup script Requires=local-fs.target [Service] ExecStart=/bin/true ExecStop=/etc/systemd/system/do_backup.sh Type=oneshot RemainAfterExit=yes [Install] WantedBy=multiuser.target ฉันเปิดใช้งานด้วยและเริ่มด้วยsystemctl enable autobackup.servicesystemctl start autobackup.service ส่วนหนึ่งของบันทึกการบูตของฉัน ( journalctl -b-1): Dez 22 17:45:27 localhost systemd[1]: Unmounted /mnt/BACKUP. Dez …

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