@kaka888
C, C++, Qt, Python Flask, MySQL, Lua

Что делать программе в случае отсутствия конфига в /etc/?

Вопрос об общепринятых нормах поведения программы в случае отсутствия её конфига в /etc/.
Должна ли в таком случае программа запуститься и использовать конфигурацию по умолчанию или же прекратить своё выполнение и сообщить пользователю об отсутствии файла конфигурации?

Для первого варианта придётся вшить дефолтные настройки в код программы.
А для второго - пользователю будет больше работы.
  • Вопрос задан
  • 207 просмотров
Решения вопроса 4
@d-stream
Готовые решения - не подаю, но...
Если программа способна работать с дефолтными настройками - то почему бы и нет?
Но естественно она должна бы оповестить пользователя.
Ответ написан
Griboks
@Griboks
общепринятых нормах поведения

Ха, ха и ещё раз ха. Общепринятые нормы? Стандартные пути? Это всё не про линукс.

Если вы пишите программу для линуксоидов, то она должна работать абсолютно нестандартно и неудобно максимально далеко от общепринятого user-friendly виндового подхода.

Отсутствует конфиг? Ну так пусть программа ищет его в /var/, потом в ~/.config/, затем в /user/conf, и ещё в переменных среды + можно задать значения флагами при запуске.

Не работает без конфига? Ну так пусть создаст и размажет по системе 10 разных конфигов, которые друг друга includят.

Проблемы с доступом? Пусть конфиги будут разными или дублироваться для каждого пользователя и для каждой версии.

Сложно запомнить? Лень писать документацию? Пусть пользователи записываются в mailing list, а цитаты оттуда можно вставить в максимально неудобном непонятном формате в man. --help, разумеется, должен показывать rtfm.

p.s.
Это не шутка. Реальные enterprise программы так и работают.
Ответ написан
@pfg21
ex-турист
программа вполне может работать с конфигом размещенным по пути ~/.config/%program_name%/
есть и более сложные варианты.
все зависит от задумок создателя программы.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Есть несколько вариантов, в зависимости от сложности конфига. Х-сервер например способен работать вообще без конфига - правда не знаю, насколько это усложнило его код.
Если конфиг - два-три параметра, которые менять будут только упоротые - пусть стартует без конфига, но предупреждает юзера.
Если конфиг сложный и развесистый (squid, strongswan) - предупреждать и завершаться
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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