ฉันมีเซิร์ฟเวอร์แขนเล็ก ๆ ที่เรียกใช้ Arch ฉันต้องการใช้เฉพาะ dhcpcd สำหรับการเชื่อมต่ออีเธอร์เน็ตดังนั้นฉันจึงปิดการใช้งาน netctl.service และ netctl-ifplugd.service ปรากฎว่าใช้งานไม่ได้และฉันไม่มีวิธีเชื่อมต่อกับเครื่องอีกต่อไป
คุณแน่ใจว่าจะเปิดใช้งาน dhcpcd หลังจากปิดใช้งาน netctl หรือไม่
ฉันจะ "systemctl เปิดใช้งาน netctl.service" โดยจัดการไฟล์และ / หรือเชื่อมโยงไฟล์บน usb นั้นได้อย่างไร
คำถามทางเลือกที่เทียบเท่าคือ "systemctl enable netctl.service" ทำอะไร
ทั้งหมดsystemctl enable
คือการสร้าง symlink จาก/usr/lib/systemd/system/
หรือ/etc/systemd/system/
ไปยังไดเรกทอรีเป้าหมายที่เหมาะสม/etc/systemd/system/
ด้วยบริการต่างๆในไดเรกทอรีหลังที่มีการแทนที่ในอดีต
จากsystemctl (1) manpage:
enable NAME...
Enable one or more unit files or unit file instances, as
specified on the command line. This will create a number
of symlinks as encoded in the "[Install]" sections of the
unit files.
แทนที่จะใช้systemctl enable
คุณสามารถเปิดใช้งานบริการ netctl ด้วยตนเองด้วยคำสั่งต่อไปนี้:
ln -s /usr/lib/systemd/system/netctl.service \
/etc/systemd/system/multi-user.target.wants/netctl.service
และเพื่อปิดการใช้งานด้วยตนเองคุณสามารถใช้คำสั่งต่อไปนี้เพื่อลบ symlink ที่สร้างด้วยln
คำสั่งก่อนหน้า:
rm /etc/systemd/system/multi-user.target.wants/netctl.service
ไดเรกทอรีเป้าหมายที่เหมาะสมสามารถพบได้โดยการค้นหาการWantedBy
ตั้งค่าใน[Install]
ส่วนของไฟล์บริการที่เป็นปัญหาแม้ว่าบางครั้งไฟล์บริการที่เก่ากว่าจะมีAlias
แทนWantedBy
และคุณอาจต้องการเปลี่ยนไปใช้WantedBy
แทน แต่จะใช้ได้เช่นกัน
แทนที่จะกลับไปใช้ netctl ก่อนอื่นคุณสามารถตรวจสอบได้ว่าบริการ dhcpcd เปิดใช้งานอย่างถูกต้องและหากเป็นเช่นนั้นคุณสามารถใช้journalctl
's --directory
หรือ--root
flag เพื่อตรวจสอบบันทึกของบริการ dhcpcd หลังจากติดตั้งระบบไฟล์บนเครื่องอื่นของคุณและดูว่าสามารถ ให้เบาะแสใด ๆ ว่าทำไมมันล้มเหลวในการทำงานอย่างถูกต้อง
systemctl enable netctl && systemctl start netctl
หรือsystemctl enable dhcpd && systemctl start dhcpd
จากเครื่องที่คุณไม่สามารถเชื่อมต่อได้