Что рекомендуемый путь должен сохранить пользователя данными конфигурации в Unix/Linux? Моим языком программирования является C++. Данные конфигурации будут сохранены в XML/text/binary формате, у меня нет проблемы с обработкой таких файлов. Я хочу знать, где я могу сохранить их. Например, в данных конфигурации Windows OS может быть сохранен в Реестре (старый путь) или в каталоге данных пользовательского приложения. Что относительно Linux? Мне нужен доступ для чтения-записи к конфигурационным файлам.
Концепция реестра свойственна Windows, и Microsoft однажды признала, что это непродумано (см. this , this , this , this (см. № 2) и this ).
В Unix и Linux конфигурация общесистемных программ находится в / etc или, возможно, в подкаталоге для конкретного приложения.
Данные конфигурации для каждого пользователя хранятся в домашнем каталоге пользователя в скрытом файле - в текстовом формате - или в скрытом каталоге конкретного приложения в домашнем каталоге пользователя. Правильный способ ссылки на домашний каталог - через переменную среды HOME
. Скрытые файлы и каталоги создаются путем создания .
первый символ имени.
Примеры общесистемной конфигурации: / etc / wgetrc
и / etc / ssh /
. Примеры пользовательских данных: $ HOME / .bashrc
и $ HOME / .mozilla /
.
Спецификация базового каталога XDG определяет, где должны храниться конфигурационные и другие файлы в Linux и других операционных системах на базе X:
http://freedesktop.org/wiki/Specifications/basedir-spec
Это современный способ, и в конечном итоге он может уменьшить беспорядок dotfile в домашнем каталоге типичного пользователя.
Это немного зависит от вашего вкуса Linux, но, как правило, большинство программ имеют системную конфигурацию по умолчанию где-то в /etc с .config файлами в вашем домашнем каталоге, которые могут переопределять настройки по умолчанию в /etc dir.
Отличное замечание .config должен быть .[Имя файла конфигурации]
Точечные файлы - это классическое решение для Unix. Если вы хотите заниматься чтением / записью самостоятельно, дерзайте.
Однако большинство современных программ, которые я использую, используют GConf для хранения настроек. Это упрощает многие вещи как для разработчика, так и для пользователя (и, очевидно, для администратора, но у меня в этом нет опыта).