Системное администрирование

Почему люди не додумались создать стандарт для импорта/экспорта настроек для ОС и ПО? Было бы просто шикарно.

Просто представьте что у любой ОС и любого ПО была бы такая функция быстро импортирующая/экспортирующая все настройки в простой текстовый файлик .csv или .json

А при переезде на новую версию ОС или ПО можно было бы просто показывать какие настройки изменились, какие удалились и какие появились новые.

Этим можно было бы легко пользоваться вручную и легко автоматизировать самым простеньким скриптом.

А сейчас функция импорта/экспорта зачастую либо вообще отсутствует, либо каждый разработчик придумывает что-то своё.
В Windows все настройки хранятся в реестре. В принципе можно сделать экспорт нужных разделов реестра в файл, а потом загрузить их из файла. Проблема в том, что в реестре обычно скапливается много мусора, и крайне нежелательно просто так (без всякого понимания) копировать большие ветки реестра. Вторая проблема: не все программы хранят настройки в реестре.
АК
Азат Камалов
58 065
Лучший ответ
Ну для операционок apple нечто похожее существует. Остальные разработчики или выпускают слишком мало продукции, или дерут друг друга в задницу.
Иван Гугуев Контейнеры ведь из-за этого хаоса с настройками и получили свою популярность. Т. к. при обновлении ПО каждую новую версию приходится настраивать заново.
Проблема эта уже с правильной стороны решена в ПО управления конфигурациями (Ansible, Chef и тп). Проблема ведь не только в конфигах а скорее в необходимости приведения системы к нужному состоянию - это и конфиги, и данные, конфиги завязанные на данные, нелинейные действия администратора которые нужно производить руками при реконфигурировании и тп. Чтобы это все делать одиними лишь универсальными декларативными конфигами придеться на стороне каждого целевого ПО делать процессинг таких декларативных конфигураций, на подобие того как это сделано в Kubernetes, это конечно работа не посильная. Гораздо проще просто написать Ansible playbook к нужному ПО, благо уже почти для всего готовые есть.

Проблема с этим в пользовательских ПК имеет конечно уже другие особенности, думаю тут стоит двигаться в сторону того как сейчас это сделано в смартфонах - к аккаунту привязан список ПО, настройки и credentials от ПО и данные хранятся централизованно и могут переноситься. Это уже достаточно для 90% пользовательских случаев - просто на свежей системе установить все ПО что было в системе и перенести конфиги, credentials и данные.
Виной этому (и подобным проблемам) - сам менталитет общества.
Людям не нужна истина, не нужно идеальное качество, нужен лишь некий принятый уровень качества и продуманности, чтобы с ними имели дело и платили им деньги. А деньги они тоже не инвестируют в создание чего-то идеального, а тратят на свои хотелки, хотелки своих баб, родственников, но прежде всего - баб :)

Любой стандарт имеет ограниченный бюджет, создается в ограниченные сроки и людьми с ограниченными талантами (а не сплошь гениями), поэтому у него будут свои минусы, и кто-то захочет создать другой стандарт, кто-то третий.

И даже элементарно сами программы появляются гораздо быстрее, чем стандарты.
А в программах - уже есть какие-то свои велосипеды. У одного велосипеда моторчик, у другого фары, третий вообще летать умеет, и попробуй сделай стандарт, в котором будет сразу все это.

Инвестору выгоднее быстрее релизнуть продукт, чтобы как можно меньше перечислить денег разработчикам до первой прибыли (а если прибыли не будет, то быстро это понять).
А продуктом является сама по себе программа. Продать библиотеку или SDK (где реализован стандарт) тоже возможно, но это требует кучи отдельных усилий.

В таких условиях стандартом можно сделать лишь самое основное, и достаточно универсальное, вроде JSON или CSV как такового.
А настройки - это слишком высокоуровнево, нужно слишком много разных кейсов применения учесть, реализовать библиотеки под самые разные платформы (см. выше про реестр Windows)... Современному обществу - не под силу.
Иван Гугуев Наверно человечеству это и вправду не под силу. Потому что иначе такой стандарт должен был быть создан ещё в 1970-х.