Данные конфигурации программы в Unix/Linux

Что рекомендуемый путь должен сохранить пользователя данными конфигурации в Unix/Linux? Моим языком программирования является C++. Данные конфигурации будут сохранены в XML/text/binary формате, у меня нет проблемы с обработкой таких файлов. Я хочу знать, где я могу сохранить их. Например, в данных конфигурации Windows OS может быть сохранен в Реестре (старый путь) или в каталоге данных пользовательского приложения. Что относительно Linux? Мне нужен доступ для чтения-записи к конфигурационным файлам.

7
задан Alex F 5 March 2010 в 06:21
поделиться

4 ответа

Концепция реестра свойственна Windows, и Microsoft однажды признала, что это непродумано (см. this , this , this , this (см. № 2) и this ).

В Unix и Linux конфигурация общесистемных программ находится в / etc или, возможно, в подкаталоге для конкретного приложения.

Данные конфигурации для каждого пользователя хранятся в домашнем каталоге пользователя в скрытом файле - в текстовом формате - или в скрытом каталоге конкретного приложения в домашнем каталоге пользователя. Правильный способ ссылки на домашний каталог - через переменную среды HOME . Скрытые файлы и каталоги создаются путем создания . первый символ имени.

Примеры общесистемной конфигурации: / etc / wgetrc и / etc / ssh / . Примеры пользовательских данных: $ HOME / .bashrc и $ HOME / .mozilla / .

9
ответ дан 6 December 2019 в 12:48
поделиться

Спецификация базового каталога XDG определяет, где должны храниться конфигурационные и другие файлы в Linux и других операционных системах на базе X:

http://freedesktop.org/wiki/Specifications/basedir-spec

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

4
ответ дан 6 December 2019 в 12:48
поделиться

Это немного зависит от вашего вкуса Linux, но, как правило, большинство программ имеют системную конфигурацию по умолчанию где-то в /etc с .config файлами в вашем домашнем каталоге, которые могут переопределять настройки по умолчанию в /etc dir.


Отличное замечание .config должен быть .[Имя файла конфигурации]

1
ответ дан 6 December 2019 в 12:48
поделиться

Точечные файлы - это классическое решение для Unix. Если вы хотите заниматься чтением / записью самостоятельно, дерзайте.

Однако большинство современных программ, которые я использую, используют GConf для хранения настроек. Это упрощает многие вещи как для разработчика, так и для пользователя (и, очевидно, для администратора, но у меня в этом нет опыта).

2
ответ дан 6 December 2019 в 12:48
поделиться
Другие вопросы по тегам:

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