В настоящее время я пишу приложение Python, которое меняет некоторые сетевые файлы конфигурации. Приложение должно работать на Ubuntu 10.04 до 13.10. Проблема в том, что NetworkManager по-разному разбивается на разные версии (хотя, похоже, они, наконец, исправили его в 13.04+), и это вызывает несовместимость с моим приложением.
Я выяснил проблемы в каждой версии и разработал обходные пути для них, я просто не уверен, что лучший способ определить, какая версия Ubuntu работает.
Лучшее решение, с которым я столкнулся до сих пор, состоит в том, чтобы разобрать вывод lsb_release -a
, но это, по-видимому, довольно хрупкое решение и, вероятно, потерпит неудачу с распределенными Ubuntu дистрибутивами, такими как Mint и, возможно, даже с некоторыми "официальных" вариантов (Kubuntu, Xubuntu и т.д.).
Есть ли хороший способ определить базовый дистрибутив и версию для данного дистрибутива Linux, чтобы я мог основывать варианты, которые делает мое приложение для этой версии?