Выбирайте по назначению
Выбор каталога Linux становится проще, если вы отделите личные файлы от системных файлов, а конфигурацию — от данных. Цель — не совершенство; это предсказуемость для вас, инструментов, резервного копирования и будущих специалистов по обслуживанию.
| Need | Use | Reason |
|---|---|---|
| Персональные скрипты для одного пользователя | ~/bin или ~/.local/bin | Принадлежит пользователю и легко добавляется в PATH. |
| Общесистемный локальный скрипт | /usr/local/bin | Зарезервировано для программ, установленных локальным администратором. |
| Пакет приложений для поставщиков | /opt/app-name | Сохраняет файлы сторонних приложений вместе |
| Постоянные данные службы | /var/lib/app-name | Стандартное место для состояния демона |
| Журналы обслуживания | журналctl или /var/log/имя-приложения | Подходит для существующих инструментов ведения журналов. |
| Содержание сайта | /srv/site-name or /var/www | Расположение общего служебного контента |
| Временные временные данные | /tmp | Недолговечен и часто автоматически очищается. |
| Более длинные временные данные | /var/tmp | Временно, но более постоянно при перезагрузке во многих системах. |
| Конфигурация системы | /etc/app-name | Конфигурация всей машины |
Практические правила
- Если он нужен только одному пользователю, храните его в домашнем каталоге этого пользователя.
- Если он принадлежит менеджеру пакетов, не редактируйте его вручную, если это не указано в документации.
- Если демон записывает его с течением времени, ожидайте его в /var.
- Если это конфигурация для всей машины, ожидайте ее в /etc.
- Если это съемное или временное монтирование, используйте /media или /mnt в зависимости от контекста.