2015-08-22 6 views
0

Я хочу сделать ifconfig парсер и бегун с PythonПоддерживает ли linux-подобную ОС команду ifconfig с одинаковым использованием?

В начале этого вопроса я хочу использовать простой API.

import ifconfig 

ifconfig.interfaces['eth0'].ip = '192.168.0.123' # run subprocess internally 

Но я не знаю всех Linux-подобных ОС.

Поэтому я выбираю команду ifconfig. Но я также не знаю, что поддерживает Linux-поддержка ОС ifconfig.

Могу ли я узнать, какая ОС не поддерживает ifconfig в основном и как заставить ее работать? И они поддерживают одно и то же использование?

+0

Что вы имеете в виду с linux-like? Unix нравится? – jlliagre

+0

Если вы имеете в виду другие unix-варианты: существует множество различий между реализациями, как в командном синтаксисе, так и в выходном формате. (то же самое касается маршрута, arp, mount, ...). Поэтому сначала вы должны придерживаться linux и добавлять парсеров для разных диалектов. (OSX основан на BSD, так что это может быть хорошим вторым кандидатом) – wildplasser

ответ

1

Возможно, вам лучше использовать команду ip. ip является более общим и есть некоторые дистрибутивы, которые не включают ifconfig в свою конфигурацию по умолчанию. Например, ArchLinux включает в себя ifconfig только потому, что он может сломать некоторые старые сценарии. То же самое для CentOS7 и RHEL7. Кажется, что ifconfig устареет через несколько лет.

Взгляните на wikipedia page for ifconfig, он имеет хорошее время для текущего использования ifconfig среди различных систем.

Так что почти все дистрибутивы Linux включают ifconfig. Но, по крайней мере, некоторые прямые дистрибутивы только для обратной совместимости. ifconfig Поддержка других Unix, подобных ОС, неплохая.