IT-словарь › Инфраструктура › XDG Base Directory

XDG Base Directory

Инфраструктура Svenska → Обновлено: 2026-10-18
Подробнее
Автор
Вальдо Бастиан
Год
2003
Владелец
freedesktop.org
Спецификация
XDG Base Directory Specification

Спецификация, пытающаяся убедить программы хранить конфигурацию в ~/.config, данные в ~/.local/share и кэш в ~/.cache, а не разбрасывать dotfiles по всему домашнему каталогу.

Вальдо Бастиан из KDE написал XDG Base Directory Specification в 2003 году для freedesktop.org вокруг простой идеи: различать виды того, что сохраняет программа. Настройки идут в $XDG_CONFIG_HOME (по умолчанию ~/.config); данные вроде документов и плагинов — в $XDG_DATA_HOME, ~/.local/share; а всё, что можно удалить в любой момент, — в $XDG_CACHE_HOME, ~/.cache. Позже появился $XDG_RUNTIME_DIR для сокетов и блокировок, которые должны умирать вместе с сеансом, а в 2021 году — $XDG_STATE_HOME для истории и журналов, которые не конфигурация и не кэш. Общесистемные аналоги живут в $XDG_CONFIG_DIRS и $XDG_DATA_DIRS.

Смысл в том, что резервная копия может пропускать кэш, конфигурацию можно держать под контролем версий одним каталогом, а ls -a в домашнем каталоге перестаёт быть летописью всего, что вы когда-либо устанавливали. Настольные приложения соблюдают спецификацию. Ветераны командной строки — неравномерно: Git читает ~/.config/git/config с 2012 года, а bash, ssh и GnuPG держатся за свои dotfiles, так что и двадцать лет спустя домашний каталог остаётся чем-то средним.

← Назад к словарю