systemctl เปิดใช้งาน netctl.service ทำอะไรได้บ้าง


10

ฉันมีเซิร์ฟเวอร์แขนเล็ก ๆ ที่เรียกใช้ Arch ผมอยากจะใช้เฉพาะdhcpcdสำหรับการเชื่อมต่ออีเธอร์เน็ตของฉันดังนั้นฉันปิดการใช้งานและnetctl.service netctl-ifplugd.serviceปรากฎว่าใช้งานไม่ได้และฉันไม่มีวิธีเชื่อมต่อกับเครื่องอีกต่อไป เซิร์ฟเวอร์มีรูตบนคีย์ usb ซึ่งฉันสามารถเมานเดสก์ท็อปได้และคำถามก็คือ:

ฉันจะsystemctl enable netctl.serviceจัดการไฟล์และ / หรือเชื่อมโยงไฟล์บน usb นั้นได้อย่างไร

คำถามอื่นที่เทียบเท่าคือsystemctl enable netctl.serviceทำอะไร


netctl เป็น commandline เทียบเท่ากับ Graphical NetworkManager netctl เริ่มบริการ dhcpd หาก dhcpd.service ไม่ได้เปิดใช้งาน ifplugd มอนิเตอร์การสูญเสียการเชื่อมต่อสายเคเบิล วิธีเดียวที่ฉันรู้เนื่องจากบริการต่าง ๆ พึ่งพาซึ่งกันและกันคือการใช้งานsystemctl enable netctl && systemctl start netctlหรือsystemctl enable dhcpd && systemctl start dhcpdจากเครื่องที่คุณไม่สามารถเชื่อมต่อได้
eyoung100

dhcpcd ของฉันยังคงเปิดใช้งาน ฉันเคยเปลี่ยนการตั้งค่าเพื่อที่ฉันจะได้รับ IP แบบคงที่ แต่เปลี่ยนกลับการเปลี่ยนแปลงใน dhcpcd.conf อย่างไรก็ตามเซิร์ฟเวอร์ไม่ปรากฏในรายชื่อลูกค้าเราเตอร์ของฉัน ไม่มีวิธีในการโต้ตอบกับเซิร์ฟเวอร์ arm เนื่องจากไม่มีจอภาพหรือคีย์บอร์ดที่จะต่อพ่วง
Azrael3000

มีพอร์ตอนุกรมหรือไม่?
eyoung100

ไม่มีเลย
Azrael3000

คุณจะติดตั้งอย่างไรในครั้งแรก ... คุณจะต้องเปิดใช้งานบริการ netctl อีกครั้งเนื่องจาก netctl บอก dhcpd ให้ใช้ ip แบบคงที่คุณต้องไปที่เทอร์มินัลอย่างไร
eyoung100

คำตอบ:


12

ฉันมีเซิร์ฟเวอร์แขนเล็ก ๆ ที่เรียกใช้ 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หรือ--rootflag เพื่อตรวจสอบบันทึกของบริการ dhcpcd หลังจากติดตั้งระบบไฟล์บนเครื่องอื่นของคุณและดูว่าสามารถ ให้เบาะแสใด ๆ ว่าทำไมมันล้มเหลวในการทำงานอย่างถูกต้อง


เสียดายที่ฉันควรตรวจสอบก่อนติดตั้งใหม่ตอนนี้ ขอบคุณสำหรับคำตอบ. แม้ว่าฉันจะไม่สามารถทดสอบได้ตอนนี้ฉันจะยอมรับคำตอบของคุณ
Azrael3000

1
นี่คือผู้ประกาศข่าวที่ดีที่สุด! และ anwser นี้ชัดเจนเพราะทุกครั้งที่คุณรันsystemctl enable netctl.serviceคุณจะได้รับเอาต์พุต CLI ที่แสดง anwser =) ของคุณ
71GA
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.