Câu hỏi Thực hiện một số thao tác ngay sau khi eth0 tăng


Tôi phải thực hiện một thói quen đòi hỏi phải có eth0. Tôi đã cố gắng đặt nó vào /etc/rc.local, dù sao nó không thể được kích hoạt vì eth0 có thể chưa được khởi tạo.

Có cách nào để đính kèm để điều phối sự kiện của hệ thống để bắt đầu một kịch bản chỉ khi eth0 được phát hiện để được lên?


2
2018-06-03 09:38


gốc




Các câu trả lời:


AFAIK, bạn phải đặt kịch bản của mình vào /etc/network/if-up.d/ danh mục:

sudo cp /path/to/your_routine /etc/network/if-up.d/

Sau đó thêm dòng sau sau khi bạn đã xác định eth0 giao diện trong /etc/network/interfaces tập tin:

post-up /etc/network/if-up.d/your_routine

Ở đâu post-up lệnh chạy lệnh hoặc shell script sau khi đưa giao diện eth0 lên (xem man interfaces để biết thêm thông tin - ở đâu đó ở dòng 149).

Đây là một ví dụ về cách /etc/network/interfaces nên xem xét sau khi bạn chỉnh sửa:

auto lo
iface lo inet loopback
tự động eth0
iface eth0 inet static
tên thẻ Ethernet LAN
địa chỉ 192.168.10.1
netmask 255.255.255.0
phát sóng 192.168.10.255
mạng 192.168.10.0
cổng 192.168.10.254
post-up /etc/network/if-up.d/your_routine
# some more interfaces
auto eth1
iface eth1 inet dhcp
# ...

Sau những thay đổi này, khởi động lại dịch vụ mạng:

sudo service networking restart

2
2018-06-03 09:58



Có vẻ tốt đẹp ... nhưng tôi không thể nhìn thấy bất kỳ tham chiếu đến eth0 trong giải pháp của bạn, sẽ thường xuyên được thực hiện khi mọi nic được khởi tạo? - Phate
@Phate Xem rằng tôi vừa chỉnh sửa câu trả lời của tôi. - Radu Rădeanu
Nó hoạt động cảm ơn rất nhiều :) - Phate
@Phate Tôi rất vui khi nghe điều đó! - Radu Rădeanu