Tệp /etc/udev/rules.d/70-persistent-net.rules
được tạo tự động trên hệ thống Linux với udev, nếu không tồn tại, trong khi khởi động lại. Nhưng tôi muốn biết cách tạo tệp quy tắc này (bằng lệnh) mà không cần khởi động lại máy chủ.
Tôi đã Googling một lúc và thấy rằng tệp quy tắc được tạo bởi tập lệnh này:
/lib/udev/write_net_rules
Tuy nhiên, không thể chạy tập lệnh này từ dòng lệnh, vì (tôi giả sử) nó muốn được bắt đầu bởi udev, với một số biến môi trường được đặt đúng. Bắt đầu bằng tay, in thông báo lỗi "thiếu $ INTERFACE". Ngay cả khi tôi đặt biến env INTERFACE = eth0 trước khi bắt đầu tập lệnh, nó vẫn in lỗi "thiếu khớp hợp lệ". Chưa kể tôi có hai giao diện ( eth0
và eth1
) và tôi muốn tệp quy tắc được tạo cho cả hai.
Tôi cũng đã suy nghĩ để kích hoạt các sự kiện udev như thế này, hy vọng nó sẽ bắt đầu kịch bản từ chính udev, nhưng không có gì thay đổi:
udevadm trigger --type=devices --action=change
Vì vậy, có ai biết làm thế nào để tạo lại các quy tắc mạng liên tục trong tệp /etc/udev/rules.d/70-persistent-net.rules
mà không cần khởi động lại không?
70-persistent-net.rules
lẫn /lib/udev/write_net_rules
kịch bản. Do đó, tôi không thể kiểm tra, nhưng có lẽ $INTERFACE
biến được đặt trong chính tập lệnh. Hầu hết có lẽ nó được thông qua như là một đối số. Bạn có thể chỉ cho chúng tôi nội dung của kịch bản?
$INTERFACE
biến. Có nhiều biến được sử dụng đơn giản hơn, không bao giờ được khai báo. Đó là bởi vì nó được gọi bởi udev và udev đặt tất cả các biến env trước khi nó chạy tập lệnh khi khởi động.