Có sự khác biệt thực sự nào giữa /etc/init.d/networking restart
và invoke-rc.d networking restart
(Debian) không?
Có sự khác biệt thực sự nào giữa /etc/init.d/networking restart
và invoke-rc.d networking restart
(Debian) không?
Câu trả lời:
Những gì invoke-rc.d
không được ghi lại trong trang người đàn ông của nó. Nó là một trình bao bọc chạy trực tiếp tập lệnh init, nhưng nó cũng áp dụng một chính sách có thể khiến lệnh không được chạy, dựa trên runlevel hiện tại và liệu daemon có nên chạy trong runlevel đó hay không.
Theo mặc định, Debian không phân biệt giữa các runlevels 2-5, nhưng với tư cách là quản trị viên cục bộ, bạn có thể thay đổi những gì được chạy trong mỗi runlevel. invoke-rc.d
sẽ tôn trọng các chính sách địa phương này và không bắt đầu một daemon nếu runlevel bị sai.
Không có sự khác biệt thực sự [1]. Các invoke-rc.d
lệnh đơn giản cung cấp một giao diện thuận tiện thoải mái cho chạy các script init.d, sparing bạn những trách nhiệm nặng nề của gõ vào đường dẫn đầy đủ đến các kịch bản bạn muốn chạy! Cả hai lời mời sẽ đạt được kết quả cuối cùng.
[1] Lưu ý rằng invoke-rc.d
lệnh thực hiện kiểm tra trước khi gọi tập lệnh dịch vụ được yêu cầu để đảm bảo nó sẽ được chạy - nó bảo vệ chống lại việc gọi các tập lệnh trong runlevel, v.v., vì vậy, theo nghĩa đó, có một sự khác biệt - nó bảo vệ bạn khỏi việc bắn chân nào đó. Các trang người đàn ông nên chứng minh hướng dẫn về vấn đề này.
Một phương pháp dễ dàng khác để thực hiện khởi động lại mạng là tạo tệp bash sau, được gọi trong trường hợp của tôi [net] tức là: /etc/init.d/net
Kịch bản:
#!/bin/sh -e
invoke-rc.d networking stop ; invoke-rc.d networking start ; ifup eth0
#Add whatever interfaces you have installed. ie: ifup eth0 wlan0 etc
Sau khi tạo chmod 711 'tên tệp' [net]
service networking restart
. Thật không may, tôi không biết đủ để cung cấp cho bạn một so sánh chi tiết về 3 phương pháp, ngoại trừ việc chạy/etc/init.d/
tập lệnh là "cấp thấp" hơn các phương pháp khác.