Перезапуск мережі на Debian Jessie


14

Мені хотілося б знати, який є правильним методом перезапуску мережевих служб у Debian Jessie. Я знаю, що можу використовувати:

service networking restart

або

/etc/init.d/networking restart

що все-таки створило мені проблеми на ssh-з'єднанні, або

invoke-rc.d networking restart

та інші два методи за допомогою systemctl та ifup / ifdown .

Але який це правильний спосіб зробити це?


Спробуйте запитати на unix.stackexchange.com , вони краще знають різні смаки та діалекти Linux.
Массімо

1
О, і перші три команди в основному еквівалентні, serviceі invoke-rc.dлише дзвінок /etc/init.d/servicenameіз тими ж параметрами, що і їм був наданий.
Массімо

Крім того , дивіться тут: unix.stackexchange.com/questions/136481 / ... .
Массімо

Відповіді:


12

Я використовував би serviceкоманду, оскільки вона є більш послідовною у різних дистрибутивах. Отже, згаданих вами команд варіант, на який я б пішов:

service networking restart

І я б напевно запустив його всередині screenсеансу або іншим способом переконався, що він не завершиться, якщо ви втратили зв’язок із оболонкою, в яку ви ввели його. (Я спробував втратити підключення до машини, увійшовши в систему, sshа потім перезапустивши мережу лише для того, щоб ssh-з'єднання припинилося, поки мережа була відключена, і надіслати HUP serviceтаким чином, щоб воно не запускало мережу знову.)

У минулому існували системи, де serviceбула проста обгортка навколо сценаріїв, /etc/init.dі перші дві ваші команди виконували б точно те саме. Але сьогодні існують системи, де serviceіноді можна зробити щось інше, і взагалі serviceкраще знає, що робити у вашому конкретному розповсюдженні. І invoke-rc.dтакож залежить розподіл.

Хоча serviceце найбільш схоже в різних дистрибутивах, імена служб все ж можуть бути різними. Наприклад, є дистрибутиви, де служба названа networkта інші, де вона названа networking. І в деяких конфігураціях може бути доцільніше перезапустити, network-managerа не networking.


Дякую за пояснення, дуже зрозуміло! Наступного разу я використовую екран разом із попередньою командою служби.
cloud81

3
чи не застаріло взагалі використовувати сервіс у системних системах?
greenone83

@ greenone83 На сторінці man немає вказівки на те, що команда застаріла. У всіх системах, де я бачив, це був зручний скрипт для обгортки навколо будь-якої системи, яка використовувалась для розповсюдження. І вона була оновлена, як ініт був перероблений. Це означає, що ви можете використовувати ту саму serviceкоманду, що і 10 років тому, і вона зробить правильно, навіть незважаючи на те, що базові сценарії init ведуть себе зовсім інакше.
kasperd

@kasperd це в значній мірі пояснює мою думку ... unix.stackexchange.com/questions/240528/… ви можете це зробити ... але тоді ви можете заважати systemd
greenone83

1
Я обміняв свої локальні кабелі, що вбило мережне з'єднання. systemctl перезапуск мереж не зробив нічого, але сервісна мережа перезапуск працювала принадою. Я керую Дебіаном Джессі.
aSystemOverload
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.