Apa yang dilakukan systemctl memungkinkan netctl.service lakukan

10

Saya memiliki server lengan kecil yang menjalankan Arch. Saya ingin menggunakan hanya dhcpcduntuk koneksi ethernet saya jadi saya menonaktifkan netctl.servicedan netctl-ifplugd.service. Ternyata itu tidak berhasil dan saya tidak punya sarana untuk terhubung ke mesin lagi. Server memiliki root pada kunci usb yang bisa saya pasang di desktop saya dan pertanyaannya adalah:

Bagaimana saya bisa systemctl enable netctl.servicememanipulasi file dan / atau menghubungkan file pada usb itu?

Pertanyaan alternatif yang setara adalah, apa fungsinya systemctl enable netctl.service?

Azrael3000
sumber
netctl adalah commandline yang setara dengan Graphical NetworkManager. netctl memulai layanan dhcpd jika dhcpd.service tidak diaktifkan. monitor ifplugd untuk kehilangan koneksi kabel. Satu-satunya cara yang saya tahu sejak layanan saling bergantung adalah dengan menggunakan systemctl enable netctl && systemctl start netctl, atau systemctl enable dhcpd && systemctl start dhcpddari mesin Anda tidak dapat terhubung.
eyoung100
Dhcpcd saya tetap diaktifkan. Saya pernah mengubah konfigurasi sehingga saya memiliki ip statis tetapi telah mengembalikan perubahan di dhcpcd.conf. Namun, server tidak muncul di daftar klien router saya. Tidak ada cara untuk berinteraksi dengan server lengan karena tidak ada monitor atau keyboard yang harus dipasang.
Azrael3000
Apakah ada Port Serial?
eyoung100
Tidak, tidak ada.
Azrael3000
Bagaimana Anda menginstalnya pertama kali ... Anda harus mengaktifkan kembali layanan netctl karena netctl memberitahu dhcpd untuk menggunakan ip statis Anda harus pergi ke terminal entah bagaimana
eyoung100

Jawaban:

12

Saya memiliki server lengan kecil yang menjalankan Arch. Saya hanya ingin menggunakan dhcpcd untuk koneksi ethernet saya jadi saya menonaktifkan netctl.service dan netctl-ifplugd.service. Ternyata itu tidak berhasil dan saya tidak punya sarana untuk terhubung ke mesin lagi.

Apakah Anda memastikan untuk mengaktifkan dhcpcd setelah menonaktifkan netctl?

Bagaimana saya bisa "systemctl mengaktifkan netctl.service" dengan memanipulasi file dan / atau menghubungkan file pada usb itu?

Pertanyaan alternatif yang setara adalah, apa yang dilakukan "systemctl enable netctl.service"?

Yang systemctl enabledilakukan adalah membuat symlink dari /usr/lib/systemd/system/atau /etc/systemd/system/ke direktori target yang sesuai /etc/systemd/system/, dengan layanan di direktori yang terakhir menimpa yang di direktori sebelumnya.

Dari manual systemctl (1) :

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.

Alih-alih menggunakan systemctl enableAnda dapat mengaktifkan layanan netctl secara manual dengan perintah berikut:

ln -s /usr/lib/systemd/system/netctl.service \
      /etc/systemd/system/multi-user.target.wants/netctl.service

Dan untuk menonaktifkannya secara manual, Anda dapat menggunakan perintah berikut untuk menghapus symlink yang dibuat dengan lnperintah sebelumnya :

rm /etc/systemd/system/multi-user.target.wants/netctl.service

Direktori target yang tepat dapat ditemukan dengan mencari WantedBypengaturan di [Install]bagian file layanan yang dimaksud, meskipun file layanan yang lebih lama kadang-kadang Aliasbukan WantedBydan Anda mungkin ingin beralih menggunakan WantedBysebagai gantinya, tetapi keduanya akan bekerja dengan baik.

Alih-alih kembali kepada menggunakan netctl Anda pertama kali bisa memeriksa bahwa layanan dhcpcd diaktifkan dengan benar, dan jika itu Anda dapat menggunakan journalctl's --directoryatau --rootbendera untuk memeriksa log dari layanan dhcpcd setelah pemasangan filesystem pada mesin lain dan melihat apakah kaleng yang berikan petunjuk mengapa gagal berfungsi dengan benar.

Kyrias
sumber
Sayang sekali saya harus memeriksa sebelum menginstal ulang sekarang. Terima kasih atas jawaban anda. Meskipun saya tidak bisa mengujinya sekarang saya akan menerima jawaban Anda.
Azrael3000
1
Ini adalah server terbaik! Dan anwser ini entah bagaimana jelas karena setiap kali Anda mengeksekusi systemctl enable netctl.serviceAnda akan mendapatkan output CLI yang menunjukkan kepada Anda anwser =)
71GA