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

systemd เป็นการแทนที่ที่ทันสมัยสำหรับ init Linux แบบดั้งเดิม คุณสมบัติหลักของมันรวมถึงความสามารถในการแสดงการพึ่งพาระหว่างการให้บริการและการเริ่มต้นบริการแบบขนานที่ก้าวร้าว

5
วิธีการตั้งค่าตัวแปรสภาพแวดล้อมในบริการ systemd?
ฉันมีระบบArch Linux ที่มี systemdและฉันได้สร้างบริการของตัวเอง บริการกำหนดค่าที่/etc/systemd/system/myservice.serviceมีลักษณะดังนี้: [Unit] Description=My Daemon [Service] ExecStart=/bin/myforegroundcmd [Install] WantedBy=multi-user.target /bin/myforegroundcmdตอนนี้ผมต้องการที่จะมีการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ ฉันจะทำอย่างไร

2
ไฟล์ systemd unit ต้องโหลดใหม่เมื่อทำการแก้ไขหรือไม่?
สมมติว่าฉันเขียนmine.serviceไฟล์ systemctl enable mine.serviceแล้วฉันจะใช้ หากภายหลังฉันตัดสินใจที่จะแก้ไขmine.serviceฉันต้องบอกsystemdว่าmine.serviceมีการเปลี่ยนแปลงหรือไม่ ถ้าเป็นเช่นนั้นฉันจะทำอย่างไร
138 systemd 

3
การตัดการเชื่อมต่อจากเซสชัน SSH จะทำให้โปรแกรมของคุณเสียหายหรือไม่?
ดังนั้นสมมติว่าฉันถูกตัดการเชื่อมต่อจากเซสชัน SSH หลังจากที่ฉันเริ่มrsyncหรือcpคำสั่งอื่น ๆ ที่สามารถใช้งานได้นาน คำสั่งนั้นยังคงทำงานต่อไปจนกว่าจะเสร็จสิ้นหลังจากที่ฉันถูกตัดการเชื่อมต่อหรือเพิ่งถูกฆ่า? สงสัยในสิ่งนี้เสมอ
88 linux  ssh  systemd 

3
มีวิธีดูแผนผังการทำงานของ systemd หรือไม่?
สิ่งที่ฉันหมายถึงภายใต้คำถามคือ: มีวิธีการถ่ายโอนข้อมูลรายการสั่งซื้อ (เช่น pstree ทำสำหรับกระบวนการ) เพื่อดูว่า systemd ดำเนินการชุดของหน่วยจัดให้เช่นต้นไม้หลังจากการอ้างอิงได้รับการแก้ไขและงานถูกจัดคิวสำหรับการดำเนินการ ? ฉันรู้ว่าคุณสามารถทำได้โดยการวิเคราะห์ข้อมูลสถานะ systemd แต่มีวิธีที่รวดเร็วในการดูต้นไม้แบบนี้หรือไม่? มันจะช่วยได้มากในการตรวจสอบความล้มเหลว (เช่นหากคุณเห็นว่ากระบวนการบูตติดอยู่ในบางหน่วยคุณจะสามารถระบุตำแหน่งโดยประมาณสำหรับการตรวจสอบที่ลึกกว่าของคุณ
63 linux  systemd 

1
ค้นหาตำแหน่งของบริการ systemd
มีหลายสถานที่ที่อาจวางไฟล์ systemd unit มีวิธีที่ง่ายและรวดเร็วในการถาม systemd หรือไม่ที่อ่านคำประกาศของบริการระบุชื่อบริการหรือไม่
62 systemd 

3
ใน systemd ความแตกต่างระหว่าง After = และ Need = คืออะไร
ฉันสร้างไฟล์ .service systemd และฉันต้องการความช่วยเหลือในการทำความเข้าใจความแตกต่างระหว่างและRequires= หน้าคนบอกว่า"กำหนดค่าอ้างอิงความต้องการในหน่วยงานอื่น ๆ ." และ"กำหนดค่าการอ้างอิงการสั่งซื้อระหว่างหน่วย" ความแตกต่างคืออะไร?After=Requires=After=
53 systemd 

6
วิธีที่ง่ายที่สุดในการทำให้สคริปต์ init เก่าของฉันทำงานใน systemd คืออะไร
ฉันไม่ต้องการทำสิ่งที่ถูกต้องด้วยการสร้างสคริปต์ systemd ใหม่ฉันแค่อยากให้สคริปต์ init เก่าทำงานอีกครั้งตอนนี้ฉันได้อัพเกรดระบบของฉันเป็นระบบปฏิบัติการที่ใช้ systemd ฉันได้ทำการค้นคว้าสั้น ๆ ถึงวิธีการแปลงสคริปต์เริ่มต้นและวิธีการเขียนสคริปต์ systemd แต่ฉันแน่ใจว่าการเรียนรู้อย่างถูกต้องและการทำอย่างถูกต้องจะใช้เวลาหลายชั่วโมง สถานการณ์ปัจจุบันคือ: systemctl start solr Failed to start solr.service: Unit solr.service failed to load: No such file or directory. และ: sudo service solr start Failed to start solr.service: Unit solr.service failed to load: No such file or directory. ตอนนี้ฉันแค่อยากกลับไปทำงาน เส้นทางของความต้านทานน้อยที่สุดเพื่อให้การทำงานนี้อีกครั้งคืออะไร? …
48 init.d  systemd 

1
ฉันจะส่งข้อความไปยังเจอร์นัล systemd จากบรรทัดคำสั่งได้อย่างไร
ในระบบ Linux รุ่นเก่าloggerสามารถใช้คำสั่งเพื่อส่งข้อความบันทึกไปยัง syslog อ่านหนังสือที่ไม่loggerเข้าสู่ระบบข้อความใน Arch Linux? มันก็ดูเหมือนว่าsyslogข้อความและloggerแอปพลิเคบรรทัดคำสั่งเพียงพูดคุยกับsystemdวารสารถ้าซ็อกเก็ตสำหรับการส่งข้อความการตั้งค่า ดังนั้นสิ่งที่เทียบเท่าทันสมัยของloggerคำสั่ง? ฉันจะส่งข้อความโดยตรงไปยัง systemd journal จากบรรทัดคำสั่งได้อย่างไร
46 logging  systemd 

3
จะลบ systemd units ที่หายไปได้อย่างไร
ฉันมีปัญหาในการหาวิธีลบ systemd units ที่ไม่มีไฟล์อีกต่อไป พวกเขาดูเหมือนจะยังคงอยู่ในระบบอย่างใด หน่วยที่ชำรุดเก่าที่ฉันพยายามลบ: core@ip-172-16-32-83 ~ $ systemctl list-units --all firehose-router* UNIT LOAD ACTIVE SUB DESCRIPTION <E2><97><8F> firehose-router@02.service not-found failed failed firehose-router@02.service <E2><97><8F> firehose-router@03.service not-found failed failed firehose-router@03.service LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of …
40 systemd  coreos 

2
ลงชื่อเข้าใช้ช้า ssh - การเปิดใช้งานของ org.freedesktop.login1 หมดเวลา
ที่หนึ่งในเซิร์ฟเวอร์ของฉันฉันสังเกตเห็นความล่าช้าในการเข้าสู่ระบบ SSH การเชื่อมต่อโดยใช้ตัวเลือก ssh -vvv ความล่าช้าเกิดขึ้นที่ debug1: Entering interactive session. สารสกัดจากการเชื่อมต่อ: debug1: Authentication succeeded (publickey). Authenticated to IP_REDACTED ([IP_REDACTED]:22). debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug2: callback start debug2: fd 3 setting TCP_NODELAY debug3: packet_set_tos: …
39 ssh  debian  pam  systemd 

2
สร้างไดเร็กทอรีภายใต้ / var / run at boot
ฉันมีดีมอนที่ต้องการไดเรคของตัวเอง/var/runสำหรับไฟล์ PID ที่ได้รับอนุญาตให้เขียนกับผู้ใช้ของดีมอน ฉันพบว่าฉันสามารถสร้าง dir นี้ด้วยคำสั่งเหล่านี้: # mkdir /var/run/mydaemon จากนั้นฉันสามารถเปลี่ยนความเป็นเจ้าของเป็นผู้ใช้ / กลุ่มที่ฉันต้องการเรียกใช้กระบวนการ: # chown myuser:myuser /var/run/mydaemon แต่ dir นี้จะหายไปทุกครั้งที่ฉันรีบูต! ฉันจะทำให้ dir นี้สร้างทุกครั้งที่บูทเครื่องได้อย่างไร

3
เริ่มต้นกระบวนการ N ด้วยหนึ่งไฟล์เซอร์วิส systemd
ฉันพบไฟล์ serviced systemd นี้เพื่อเริ่ม autossh เพื่อติดตามอุโมงค์ ssh: https://gist.github.com/thomasfr/9707568 [Unit] Description=Keeps a tunnel to 'remote.example.com' open After=network.target [Service] User=autossh # -p [PORT] # -l [user] # -M 0 --> no monitoring # -N Just open the connection and do nothing (not interactive) # LOCALPORT:IP_ON_EXAMPLE_COM:PORT_ON_EXAMPLE_COM ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval …
36 daemon  systemd 

5
บริการ systemd เริ่มต้นใหม่โดยอัตโนมัติหลังจาก StartLimitInterval
ฉันต้องการให้บริการ systemd ของฉันเริ่มต้นใหม่โดยอัตโนมัติเมื่อเกิดข้อผิดพลาด นอกจากนี้ฉันต้องการให้คะแนน จำกัด การรีสตาร์ท ฉันต้องการอนุญาตให้รีสตาร์ทได้สูงสุด 3 ครั้งภายในระยะเวลา 90 วินาที ดังนั้นฉันได้ทำการกำหนดค่าต่อไปนี้ [บริการ] รีสตาร์ท = เสมอ StartLimitInterval = 90 StartLimitBurst = 3 ตอนนี้บริการจะเริ่มต้นใหม่เมื่อล้มเหลว หลังจาก 3 ความล้มเหลวอย่างรวดเร็ว / รีสตาร์ทจะไม่เริ่มอีกต่อไปตามที่คาดไว้ ตอนนี้ฉันคาดว่า systemd จะเริ่มบริการหลังจากหมดเวลา (StartLimitInterval) แต่ systemd จะไม่เริ่มบริการโดยอัตโนมัติหลังจากหมดเวลา (90sec) ถ้าฉันเริ่มบริการด้วยตนเองหลังจากหมดเวลามันทำงาน แต่ฉันต้องการให้ systemd เริ่มบริการโดยอัตโนมัติหลังจาก StartLimitInterval โปรดแจ้งให้เราทราบเกี่ยวกับวิธีการใช้คุณสมบัตินี้
33 systemd 

3
รับการแจ้งเตือนเมื่อเซอร์วิสที่มอนิเตอร์ systemd เข้าสู่สถานะล้มเหลว
ฉันต้องมีข้อความเครือข่ายที่ส่งเมื่อบริการ systemd ที่ฉันมีปัญหาหรือหยุดทำงาน (กล่าวคือเข้าสู่สถานะที่ล้มเหลวฉันตรวจสอบสถานะการพักโดยใช้ WatchdogSec =) ฉันสังเกตเห็นว่า systemd ที่ใหม่กว่านั้นมี FailureAction = แต่ก็เห็นว่าสิ่งนี้ไม่อนุญาตคำสั่งโดยพลการ แต่เพิ่งรีบูต / ปิดเครื่อง โดยเฉพาะฉันต้องการวิธีที่จะส่งข้อความเครือข่ายหนึ่งข้อความเมื่อ systemd ตรวจพบว่าโปรแกรมขัดข้องและอีกข้อความหนึ่งเมื่อตรวจพบว่าข้อความหยุดทำงาน ฉันหวังว่าจะได้คำตอบที่ดีกว่า "การแยกวิเคราะห์บันทึก" และฉันต้องการบางสิ่งที่มีเวลาตอบสนองใกล้ - ทันทีดังนั้นฉันจึงไม่คิดว่าวิธีการลงคะแนนเป็นสิ่งที่ดี มันควรเป็นสิ่งที่ถูกกระตุ้นโดยเหตุการณ์ที่เกิดขึ้น
32 linux  bash  service  systemd 

2
ปิดใช้งานบริการทั้งหมดยกเว้น ssh
ฉันจะปิดการใช้งานบริการทั้งหมดยกเว้น ssh บนการกระจาย linux ที่ทันสมัย ​​(อิงตาม systemd) ได้อย่างไร ฉันต้องการที่จะใช้โหมดการบำรุงรักษา บริการทั้งหมดเหล่านี้จำเป็นต้องหยุดทำงาน: postgres postfix อาปาเช่ ถ้วย cron พิราบ แต่ ssh จะต้องไม่ถูกปิดเนื่องจากสิ่งนี้จะได้คุ้นเคยกับการทำงานในระหว่างโหมดการบำรุงรักษา แน่นอนฉันสามารถเขียนเชลล์สคริปต์ซึ่งวนรอบรายการบริการที่ฉันต้องการปิดการใช้งาน แต่นี่ให้ความรู้สึกเหมือนฉันได้คิดค้นสิ่งที่มีอยู่แล้ว แต่ตอนนี้ฉันยังไม่ทราบ

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