Не может ifdown eth0 (основной интерфейс)

Я очень не хочу дать прочитайте руководство ответы типа, но какая информация Вы ищущий, это не содержится в man 5 terminfo? Часто легко пропустить страницы руководства, когда существует несколько страниц руководства в различных разделах. Часто другие страницы руководства для взгляда по желанию быть перечисленным в нижней части первой страницы руководства, которая найдена, но также полезно помнить, что страницы руководства разделены на несколько разделов (от man man):

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages  and  conventions)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

От man 5 terminfo кажется, что то, от какого количества можно избавиться от/usr/share/terminfo, будет зависеть от того, имеете ли Вы полный контроль над терминальным типом (который Вы, вероятно, делаете). Если Вы знаете о только когда-либо работе одного терминального типа можно, вероятно, удалить все кроме одного из терминальных описаний. В некоторых системах эти terminfo файлы находятся также в/etc/terminfo/или/lib/terminfo/, но я не уверен, если это верно, когда Вы компилируете непосредственно от восходящего потока tarball.

53
15.02.2018, 14:36
4 ответа

Проверьте содержание файла /run/network/ifstate. ifup и ifdown используйте этот файл для замечания, какие сетевые интерфейсы могут быть принесены вверх и вниз. Таким образом, ifup может быть легко перепутан, когда другие сетевые инструменты используются для перевода в рабочее состояние интерфейса (например. ifconfig).

От человека ifup

Программа ведет учет того, возросли ли сетевые интерфейсы или вниз. При исключительных обстоятельствах эти записи могут стать несовместимыми с реальными состояниями интерфейсов. Например, интерфейс, который был поднят с помощью ifup и позже deconfigured использование ifconfig будет все еще зарегистрирован как. Для фиксации этого, можно использовать --force опция вызвать ifup или ifdown выполнять конфигурацию или deconfiguration управляет несмотря на то, чем это полагает, что текущее состояние интерфейса.

55
27.01.2020, 19:33
  • 1
    Для добавления к этому ответу должен был добавить я eth0=eth0 кому: /run/network/ifstate заставить это распознавать интерфейс и настраивать его правильно. Этот ответ помог указать на меня на файл, но не дошел предполагать, что дополнение, которое является тем, что решило мою подобную проблему. –  David Parks 04.04.2013, 12:15
  • 2
    @DavidParks - Вы уверенный, что интерфейс отмечен как auto в /etc/network/interfaces? Это должно появиться в /run/network/ifstate без потребности вручную изменить файл. –  Marco 04.04.2013, 12:23
  • 3
    --force был ответ для меня; это сложилось ifup не поднял интерфейс во-первых из-за провальной команды в /etc/network/if-pre-up.d; удачный я сеть наличия вообще! –  sanmai 23.06.2017, 07:40

ifdown высокоуровневая программа, которая делает много вещей, в которых Вы, возможно, не нуждались бы. Кроме того, это не доступно везде. Более портативный путь мог бы работать на Вас:

$ sudo ifconfig eth0 down

Если Вы затем не можете ifup это, у Вас, вероятно, есть некоторая проблема конфигурации. Вручную перевод в рабочее состояние его с ifconfig eth0 up вероятно, не правильная вещь в этом случае. На Debian, ifup двоичный исполняемый файл, таким образом, Вы, вероятно, имели бы к strace это для выяснения, где это добирается, зависло:

$ sudo strace -e open ifup eth0

Это скажет Вам который файлы ifup открывается, в то время как это работает, который мог бы подсказка Вы в проблему.

В других системах (например, RHEL и производные) ifup сценарий оболочки, таким образом, намного легче отладить:

# sh -x `which ifup` eth0

Выполнение сценария оболочки с sh -x заставляет его распечатать каждую строку, которую это выполняет, таким образом, можно проследить выполнение.

33
27.01.2020, 19:33
  • 1
    раскалывающийся ответ, но Marco нашел проблему. Я действительно пробовал sudo ifconfig eth0 down && sudo ifconfig eth0 up который махал бы интерфейсом вверх и вниз, но я пытался вручную инициировать, если сценарий, который я писал и это не делало его. После обновления моего/etc/network/run/ifstate файла ifdown/up работает теперь. Спасибо за Вашу информацию, хотя! :) –  jwbensley 11.10.2012, 19:39
  • 2
    Забыл говорить, прекрасная идея с-x опцией!Спасибо! –  jwbensley 11.10.2012, 19:53
  • 3
    ifdown высокоуровневая программа, которая делает много вещи, в которой Вы, возможно, нуждались бы. ifconfig eth0 down является более портативным и может всегда выполняться, но это не выполняет задачи очистки это ifdown мог бы сделать. –  Gilles 'SO- stop being evil' 12.10.2012, 02:12
  • 4
    я не означаю предлагать, чтобы Вы использовали ifconfig все время, предотвращение ifup/down. Я предложил это только в качестве шага поиска и устранения неисправностей. Поскольку я понимаю проблему, это оказалось результатом использования ifconfig вместо ifup/down, таким образом, путая высокоуровневые механизмы. Но, я не знал это, когда я отправил свой ответ. –  Warren Young 12.10.2012, 03:02

Я видел это прежде, когда ethX не был правильно настроен в /etc/network/interfaces. Этому нужно что-то как:-

auto eth0
   iface eth0 inet dhcp

Даже с неправильно настроенным /etc/network/interfaces файл, можно все еще снизить eth0 с:

$ sudo ip link set eth0 down
20
27.01.2020, 19:33
  • 1
    Это точно, что произошло со мной. Я забыл добавлять его к auto.Спасибо. –  Mike 09.02.2015, 21:19

Добавьте eth0 = eth0 в / run / network / ifstate . У меня это сработало

1
27.01.2020, 19:33

Теги

Похожие вопросы