Systemctl cho phép netctl.service làm gì


10

Tôi có một máy chủ cánh tay nhỏ chạy Arch. Tôi chỉ muốn sử dụng dhcpcdcho kết nối ethernet của mình vì vậy tôi đã tắt netctl.servicenetctl-ifplugd.service. Hóa ra là không hoạt động và tôi không có phương tiện kết nối với máy nữa. Máy chủ có gốc trên khóa USB mà tôi có thể gắn trên máy tính để bàn của mình và vì vậy câu hỏi là:

Làm thế nào tôi có thể systemctl enable netctl.servicebằng cách thao tác các tệp và / hoặc các tệp liên kết tượng trưng trên usb đó?

Câu hỏi thay thế tương đương là, systemctl enable netctl.servicelàm gì?


netctl là dòng lệnh tương đương với Trình quản lý mạng đồ họa. netctl bắt đầu dịch vụ dhcpd nếu dhcpd.service không được bật. màn hình ifplugd cho mất kết nối cáp. Cách duy nhất mà tôi biết vì các dịch vụ phụ thuộc lẫn nhau là sử dụng systemctl enable netctl && systemctl start netctlhoặc systemctl enable dhcpd && systemctl start dhcpdtừ máy bạn không thể kết nối.
Eyoung100

Dhcpcd của tôi vẫn được kích hoạt. Tôi đã từng thay đổi cấu hình để tôi có một ip tĩnh nhưng đã hoàn nguyên các thay đổi trong dhcpcd.conf. Tuy nhiên, máy chủ không hiển thị trên danh sách máy khách bộ định tuyến của tôi. Không có cách nào để tương tác với máy chủ cánh tay vì không có màn hình cũng như bàn phím được gắn vào.
Azrael3000

Có cổng nối tiếp không?
Eyoung100

Không có.
Azrael3000

Lần đầu tiên bạn cài đặt nó như thế nào ... Bạn sẽ cần phải sử dụng lại dịch vụ netctl vì netctl nói với dhcpd sử dụng một ip tĩnh mà bạn phải truy cập vào thiết bị đầu cuối bằng cách nào đó
Eyoung100

Câu trả lời:


12

Tôi có một máy chủ cánh tay nhỏ chạy Arch. Tôi muốn chỉ sử dụng dhcpcd cho kết nối ethernet của mình vì vậy tôi đã vô hiệu hóa netctl.service và netctl-ifplugd.service. Hóa ra là không hoạt động và tôi không có phương tiện kết nối với máy nữa.

Bạn có chắc chắn bật dhcpcd sau khi tắt netctl không?

Làm cách nào tôi có thể "systemctl kích hoạt netctl.service" bằng cách thao tác các tệp và / hoặc các tệp liên kết tượng trưng trên usb đó?

Câu hỏi thay thế tương đương là, "systemctl enable netctl.service" làm gì?

Tất cả systemctl enablelà tạo liên kết tượng trưng từ /usr/lib/systemd/system/hoặc /etc/systemd/system/đến các thư mục đích thích hợp trong đó /etc/systemd/system/, với các dịch vụ trong thư mục sau ghi đè lên các thư mục trước.

Từ trang web 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.

Thay vì sử dụng, systemctl enablebạn có thể kích hoạt dịch vụ netctl bằng tay với lệnh sau:

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

Và để tắt nó theo cách thủ công, bạn có thể sử dụng lệnh sau để xóa liên kết tượng trưng được tạo bằng lnlệnh trước đó :

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

Có thể tìm thấy thư mục đích thích hợp bằng cách tìm kiếm WantedBycài đặt trong [Install]phần của tệp dịch vụ được đề cập, mặc dù các tệp dịch vụ cũ đôi khi có Aliasthay thế WantedByvà bạn có thể muốn chuyển sang sử dụng WantedBythay thế, nhưng cũng sẽ hoạt động tốt.

Thay vì quay trở lại sử dụng netctl lần đầu tiên bạn có thể kiểm tra xem dịch vụ dhcpcd được kích hoạt đúng, và nếu nó là bạn có thể sử dụng journalctl's --directoryhoặc --rootcờ để kiểm tra các bản ghi của dịch vụ dhcpcd sau khi mount hệ thống tập tin trên máy tính khác của bạn và xem nếu can rằng đưa ra bất kỳ manh mối nào về lý do tại sao nó không hoạt động đúng.


Quá tệ, tôi nên kiểm tra trước khi cài đặt lại. Cảm ơn câu trả lời của bạn. Mặc dù tôi không thể kiểm tra nó bây giờ tôi sẽ chấp nhận câu trả lời của bạn.
Azrael3000

1
Đây là anwser tốt nhất! Và anwser này bằng cách nào đó rõ ràng bởi vì mỗi khi bạn thực thi, systemctl enable netctl.servicebạn sẽ nhận được một đầu ra CLI cho bạn thấy anwser của bạn =)
71GA
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.