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

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

3
วิธีการปิดการใช้งานพฤติกรรมเปลือกฉุกเฉิน agressive systemd?
โดยค่าเริ่มต้น systemd ลดลงไปที่เปลือกฉุกเฉินที่ข้อผิดพลาดน้อยที่สุด ตัวอย่างเช่นหากหนึ่งในการเมานต์ที่ fstab ล้มเหลวด้วยเหตุผลบางอย่างระบบจะไม่สามารถบูตได้ทันที ฉันจัดการกับระบบการผลิตที่หลากหลายและพบว่าพฤติกรรมนี้สร้างความเสียหายได้มาก (อันที่จริงฉันคิดว่ามันเป็นความล้มเหลวในการออกแบบที่สำคัญ แต่นั่นเป็นความเห็นส่วนตัว) ฉันต้องการเพิ่มความยืดหยุ่นในการบูตระบบ ระบบควรบู๊ตได้ดีที่สุดไดรเวอร์ที่ขาดหายไปเมาท์ ฯลฯ ไม่ควรวางเชลล์ฉุกเฉิน (เพียงแค่แสดงคำเตือนแทน) เว้นแต่ว่าข้อผิดพลาดที่กำหนดจะทำให้การล็อกอินคอนโซลเป็นไปไม่ได้อย่างแน่นอน สิ่งที่สามารถเรียกใช้ที่ควรเรียกใช้ ฉันรู้ว่า systemd สร้างไฟล์ * .mount จาก / etc / fstab โดยอัตโนมัติและฉันสามารถใช้ตัวเลือก nofail พร้อมไทม์เอาต์ x-systemd.device ขนาดเล็ก (หรือกำหนดไฟล์. mount ที่เกี่ยวข้องด้วยตนเอง) อย่างไรก็ตามมันจะไม่แก้ปัญหาของฉันฉันต้องการทำให้ระบบมีความยืดหยุ่นมากขึ้น "การแก้ไข" fstab ทุกครั้งไม่สะดวกมากและฉันไม่แน่ใจว่ามี "ปัญหา" อื่น ๆ อีกมากที่จะทำให้ระบบของฉันไม่สามารถบูตได้เพราะ นักพัฒนาบางคนคิดว่ามันสำคัญพอ ในการเรียงลำดับฉันต้องการควบคุมเครื่องของฉันอีกครั้งและไม่ปล่อยให้ systemd ตัดสินใจว่าปัญหาใดที่ร้ายแรงพอที่จะทำให้กระบวนการบู๊ตเสียหาย เป็นไปได้ไหม?

1
systemd: แปลงเส้นทางเป็นรูปแบบชื่อหน่วย systemd
ฉันจะแปลงเส้นทางตามอำเภอใจให้เป็นsystemdรูปแบบชื่อไฟล์หน่วยได้อย่างไร ตัวอย่างเช่นวิธีการที่ฉันจะเปลี่ยนเส้นทางเช่น/media/backupไปmedia-backupดังนั้นฉันสามารถหยุด automounter ผ่าน: systemctl stop media-backup.automount วิธีแก้ปัญหาควรหลีกเลี่ยงอักขระพิเศษ
10 systemd 

1
อะไรคือความแตกต่างระหว่าง Process: และ PID หลัก: ในผลลัพธ์ของ systemctl status?
อะไรคือความแตกต่างระหว่างProcess:และMain PID:บรรทัดในเอาต์พุตของsystemctl statusบนหน่วยบริการ? หมายเลขกระบวนการหมายถึงอะไร ตัวอย่างเช่น: ในการส่งออกจากsystemctl status sshdที่เราเห็นโฆษณาที่มีเหนือเส้นบอกว่าProcess: Main PID:มีหมายเลขกระบวนการที่แตกต่างจากMain PID:บรรทัด นี่คือหนึ่งในคู่มือผู้ดูแลระบบ RHEL : # systemctl status sshd sshd.service - daemon เซิร์ฟเวอร์ OpenSSH โหลดแล้ว: โหลดแล้ว (/usr/lib/systemd/system/sshd.service; ถูกปิดใช้งาน) ใช้งาน: เปิดใช้งาน (ทำงาน) ตั้งแต่จันทร์ 2014-09-01 09:35:17 EST; 2 วินาทีก่อน กระบวนการ: 6191 ExecStartPre = / usr / sbin / sshd-keygen (รหัส = ออกจากสถานะ = …
10 systemd 

2
วิธีการตรวจสอบว่าทำไม Systemd เข้าสู่โหมดฉุกเฉิน
คอมพิวเตอร์เดสก์ท็อปของฉันที่ใช้ Debian Jessie เริ่มวางลงในเชลล์โหมดฉุกเฉินทุกครั้งที่บูตเครื่อง หน้าจอบอกว่าใช้journalctl -xbเพื่อค้นหาสาเหตุและเพื่อใช้systemctl defaultในการบูทต่อไป เมื่อฉันดำเนินsystemctl defaultการระบบจะยังคงบู๊ตและหลังจากผ่านไปสองสามสัปดาห์ในการใช้ระบบก็ไม่มีอะไรผิดปกติ เมื่อมองผ่านไปjournalctl -xbไม่มีสิ่งใดโดดเด่นในฐานะเหตุผลในการทิ้งกระสุนฉุกเฉิน มีวิธีที่ง่ายต่อการตรวจสอบว่าเหตุผลที่ตัดสินใจที่จะเข้าสู่โหมดฉุกเฉิน? มีการตั้งค่าสถานะอื่น ๆ หรือตัวเลือกการเริ่มระบบที่จะทำให้ชัดเจนว่าปัญหาอยู่ที่ใด

2
ทำให้ systemd หยุดการเริ่มบริการ wpa_supplicant ที่ไม่ต้องการหรือไม่
ฉันต้องการที่จะปิดการใช้ความพยายามในการที่ไม่พึงประสงค์ที่จะเริ่มต้นโดยอัตโนมัติsystemd wpa_supplicantฉันว่าฉันสามารถวิ่งได้ sudo systemctl disable wpa_supplicant.service --global และฉันจะไม่เห็น wpa_supplicant ในps -efผลลัพธ์อีกต่อไป อย่างไรก็ตามสิ่งนี้ไม่ทำงาน ฉันจะทำให้มันทำงานได้อย่างไร ปัญหาของฉันในมืออาจอธิบายได้ดีที่สุดโดยผลลัพธ์ของ $>systemctl status wpa_supplicant* ● wpa_supplicant.service - WPA supplicant Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2016-08-28 20:57:37 CEST; 14min ago ที่ที่คุณสามารถดูdisabledบริการได้อย่างต่อเนื่องและโหลดขอบคุณ systemd ช่วยฉันทำสิ่งที่ง่ายที่สุดอย่างสมบูรณ์;) อัปเดต ฉันมีโชคโดยการลบไฟล์เหล่านี้ออก: wpa_supplicant-nl80211@.service wpa_supplicant.service wpa_supplicant@.service wpa_supplicant-wired@.service จาก/usr/lib/systemd/systemโฟลเดอร์ คาดเดาอะไร …

2
การเปิดใช้งานไฟล์หน่วย 'linked' ใน Systemd
ฉันยังคงจับกับ systemd และได้ทำงานเป็นบางสิ่งบางอย่าง มันไม่ใช่ปัญหามากนัก แต่ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการที่เป็นอยู่นี้ ฉันไม่พบการอ้างอิงถึงสิ่งนี้ที่อื่น /etc/systemd/systemปิดครั้งแรกผมเข้าใจว่าไฟล์หน่วยที่กำหนดเองสำหรับการให้บริการควรจะไปใน อย่างไรก็ตามมันจะเป็นการดีสำหรับการจัดการเซิร์ฟเวอร์ของเราหากไฟล์หน่วยสามารถอยู่ที่อื่น ในเอกสารฉันเห็นว่าคุณอาจจะ 'ลิงค์' ไฟล์หน่วยเช่น: systemctl link /path/to/servicename.service /etc/systemd/systemนี้จะสร้างการเชื่อมโยงไปในข้างต้น ตอนนี้คุณสามารถเริ่ม / หยุดบริการนี้ได้แล้ว บนพื้นผิวนี้ดูเหมือนเป็นวิธีที่ดีสำหรับเราในการจัดการบริการของเรา อย่างไรก็ตามการพยายามเปิดใช้งานไฟล์หน่วย 'ลิงก์' นั้นส่งผลให้เกิดความล้มเหลว: root@test1:/etc/systemd/system# systemctl link /root/myservice.service Created symlink from /etc/systemd/system/myservice.service to /root/myservice.service. root@test1:/etc/systemd/system# systemctl status myservice.service * myservice.service - My Test Service Loaded: loaded (/root/myservice.service; linked; vendor preset: enabled) root@test1:/etc/systemd/system# …
10 linux  systemd 

1
การจัดการหน่วย systemd ของผู้ใช้รายอื่น
ผู้ใช้รายหนึ่งหรืออาจรูทควบคุมการบริการ systemd ระดับผู้ใช้ของผู้ใช้คนอื่นได้หรือไม่? ฉันได้พยายามsudo -u <some user> systemctl --user restart <some service>แต่ก็บ่นเรื่อง Failed to get D-Bus connection: Connection refuseddbus:
10 sudo  systemd 

1
วิธีการตั้งค่า SyslogIdentifier ในส่วน [SERVICE] ของ systemd service file ว่างเปล่า
ฉันต้องการตั้งค่าSyslogIdentifier ใน[SERVICE]ส่วนของsystemdไฟล์บริการที่ว่างเปล่าดังนั้นจึงไม่มีสิ่งใดนำหน้าในบันทึก ฉันลองตัวเลือกด้านล่าง: 1) ไม่มีการเอ่ยถึงสิ่งใด: SyslogIdentifier= >>> ผลลัพธ์: คล้ายกับพฤติกรรมเริ่มต้นบันทึกได้รับการขึ้นต้นด้วยชื่อกระบวนการ 2) สตริงที่ว่างเปล่า: SyslogIdentifier="" >>> ผลลัพธ์: สตริงว่างที่มีการเสนอราคาสองครั้ง ("") ได้ขึ้นต้นด้วยเหมือนเดิม 3) ตัวละคร Escape: SyslogIdentifier=\s >>> ผล: \ s นำหน้าบันทึก 4) พื้นที่ว่าง: SyslogIdentifier= (few blank spaces) >>> ผลลัพธ์: คล้ายกับพฤติกรรมเริ่มต้นบันทึกได้รับการเติมหน้าด้วยชื่อกระบวนการ 5) ช่องว่างที่อยู่ในเครื่องหมายคำพูดเดี่ยว: SyslogIdentifier=' ' >>> ผลลัพธ์: อัญประกาศเดี่ยว ('') ได้ขึ้นต้นด้วยคำนำหน้า ฉันไม่ต้องการให้มีการนำหน้าบันทึกใด ๆ ใครช่วยกรุณาบอกฉันว่าจะทำอย่างไร อ้างอิง: SyslogIdentifier= ตั้งชื่อกระบวนการเป็นบรรทัดนำหน้าบันทึกการทำงานที่ส่งไปยังระบบการบันทึกหรือบัฟเฟอร์บันทึกเคอร์เนลด้วย …
10 systemd 

2
ความแตกต่างระหว่างการไม่ใช้งาน vs ปิดใช้งานและบริการที่เปิดใช้งาน vs
ฉันสับสนโดยแนวคิดของการเปิดใช้งานหรือใช้งานและปิดการใช้งานหรือไม่ได้ใช้งาน มีคนอธิบายได้ไหม

2
การตั้งค่าฟอนต์คอนโซลใน vconsole.conf ไม่ทำงาน (systemd)
ฉันกำลังพยายามตั้งค่าฟอนต์คอนโซลเริ่มต้นอื่นสำหรับการติดตั้ง Arch Linux ใหม่ของฉัน (โดยใช้ systemd) ฉันจะตั้งค่าของฉันvconsole.confใน/etcฐานะดังนั้น: KEYMAP=us FONT=Lat2-Terminus16 ฉันรีบูตเครื่องและเห็นฟอนต์คอนโซลชุดใหม่ของฉันปรากฏขึ้นเฉพาะเพื่อให้รีเซ็ตก่อนที่จะพร้อมต์การเข้าสู่ระบบ สิ่งที่ควรทราบ: ทำงาน/usr/lib/systemd/systemd-vconsole-setupด้วยตนเองทำงานได้ดี systemctl status systemd-vconsole-setup.service บอกฉันว่าโหลดแล้วและ "ทำงานอยู่ (ออก)" ฉันรวมconsolefontเบ็ดเข้าไว้ด้วยแล้วmkinitcpio.conf

5
วิธีการปิดเครื่องเมื่อไม่มี systemd / init (เช่นใช้ init = / bin / bash)
poweroffบ่นว่ามันไม่สามารถเชื่อมต่อกับ systemd ผ่าน DBus (แน่นอนมันไม่ได้มีชีวิตอยู่) ฉันsyncตามด้วยการkill $$คิดว่า pid 1 ที่กำลังจะตายจะให้เคอร์เนลไปยัง poweroff แต่นั่นทำให้เคอร์เนลเกิดความตื่นตระหนก จากนั้นฉันก็กดปุ่มเพาเวอร์เพื่อบังคับให้ปิดเครื่อง อะไรคือวิธีที่เหมาะสมที่สุดในการปิดเครื่องในสถานการณ์นี้

4
Fedora 25 และปิดการใช้งานสิ่งที่กำลังฟังบนพอร์ต 111
ฉันมี Fedora 25 x86_64 อยู่คนเดียว มีบางอย่างกำลังฟังบนพอร์ต 111 (ระบุด้วยการสแกน nmap): $ sudo lsof -i :111 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 36u IPv4 15170 0t0 TCP *:sunrpc (LISTEN) systemd 1 root 37u IPv4 15171 0t0 UDP *:sunrpc systemd 1 root 38u IPv6 15172 0t0 TCP …

1
ตั้งค่าขีด จำกัด ทรัพยากรเริ่มต้นสำหรับผู้ใช้ทั้งหมดที่มีกลุ่ม systemd
ฉันสามารถตั้งค่าขีด จำกัด หน่วยความจำสำหรับผู้ใช้เช่น: systemctl set-property user-UID.slice MemoryHigh=24G มีวิธีการนี้สำหรับผู้ใช้ทุกคนหรือไม่? ฉันต้องการให้ผู้ใช้แต่ละคนได้รับ 24G ไม่ใช่ทั้งหมด 24G สำหรับกระบวนการผู้ใช้ทั้งหมด (ซึ่งฉันคิดว่าจะเป็นผลมาจากการตั้งค่าuser.sliceโดยตรง)

1
ไม่สามารถระงับเมื่อปิดฝาแม้ว่าจะเชื่อมต่อจอแสดงผลภายนอกแล้ว
แล็ปท็อปของฉันมี Fedora 22 พร้อม Gnome 3.16.4 โดยปกติมันจะหยุดหากฝาปิดอยู่ แต่เมื่อเชื่อมต่อกับจอแสดงผลภายนอก (ผ่าน VGA) เดสก์ท็อป gnome จะถูกถ่ายโอนไปยังจอแสดงผลภายนอกแทนเมื่อปิดฝา อย่างไรก็ตามฉันต้องการให้แล็ปท็อปของฉันระงับแม้ว่าจะเชื่อมต่อจอแสดงผลภายนอก นี่คือสิ่งที่ฉันตรวจสอบและลอง: เมื่อผมเปิดและปิดฝาไม่บันทึกการดำเนินการที่ฉันสามารถดูโดยsystemd-logindjournalctl -b -u systemd-logind Dec 09 08:39:39 workstation systemd-logind[980]: Lid closed. Dec 09 08:39:47 workstation systemd-logind[980]: Lid opened. ฉันได้กำหนดค่า/etc/systemd/logind.confต่อไปนี้: [Login] #NAutoVTs=6 #ReserveVT=6 #KillUserProcesses=no #KillOnlyUsers= #KillExcludeUsers=root #InhibitDelayMaxSec=5 #HandlePowerKey=poweroff #HandleSuspendKey=suspend #HandleHibernateKey=hibernate #HandleLidSwitch=suspend HandleLidSwitchDocked=suspend #PowerKeyIgnoreInhibited=no #SuspendKeyIgnoreInhibited=no #HibernateKeyIgnoreInhibited=no #LidSwitchIgnoreInhibited=yes …

1
วิธีตั้งค่าบริการให้เริ่มต้นหลังจาก autofs เริ่มต้นด้วย systemd
ฉันต้องตั้งค่าเซิร์ฟเวอร์สิทธิ์การใช้งานบนเครื่อง RHEL7 ที่มี systemd เซิร์ฟเวอร์สิทธิ์การใช้งานควรเริ่มเมื่อบูตและโหลดไฟล์ลิขสิทธิ์จากดิสก์ที่ใช้ร่วมกันบนเครือข่าย ดังนั้นฉันต้องรอให้เครือข่ายเริ่มต้นและรอให้ autofs ติดตั้งดิสก์ NFS ให้เสร็จ ฉันมีไฟล์บริการนี้: [Unit] Description=Flexnet license server Wants=network.target network-online.target autofs.service After=network.target network-online.target autofs.service [Service] Type=forking User=licenseuser Group=devusers ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 [Install] WantedBy=multi-user.target บริการเริ่มต้นหลังจาก autofs เริ่มต้น …
9 rhel  systemd 

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