Конфигурационная этика (эстетика): / etc vs $ HOME

Хорошо, это может быть не очень конкретный вопрос, и, возможно, он подвержен вкусу, но я изо всех сил стараюсь сделать это правильно, так что вот оно.

У меня есть компьютер. На этом компьютере есть Linux (слава богу). Arch Linux определен (с awesome wm). Я – единственный пользователь на этом компьютере.

Что касается хорошей практики, я настроил двух пользователей: пользователя root и romeovs пользователя romeovs . Таким образом, я использую только разрешения при необходимости (используя, например, sudo ).

На протяжении многих лет я выпускал свой программный пакет, добавляя на этот компьютер множество приложений. В частности: vim , git , mpc , mutt , calcurse , ufw , …

Теперь вот rub: какой из конфигурационных файлов этих приложений я использую? Все они предоставляют глобальный файл конфигурации /etc , который затрагивает всех пользователей, а также локальные опции конфигурации ~/.config (или, к сожалению, ~/ ).

Я всегда работал с настройками локальной конфигурации, потому что это стало более естественным. Но по мере того как я становлюсь более знакомым с моим компьютером, я чувствую, что это как-то лишено элегантности. Подход к этому подходу:

  • dicrepancy при переключении на пользователя root , даже с помощью sudo (например, при использовании vim )

  • не всегда будут работать, например, при загрузке деамонов из массива DEAMONS из арки linux они запускаются пользователем root и, следовательно, не собирают локальные пользовательские конфиги.

  • основной каталог $HOME . К сожалению, очень мало приложений, которые придерживаются философии $XDG_CONFIG_HOME .

Преимущества:

  • материал является локальным, что больше ощущается в строках разрешений, разделяющих root и romeovs .

  • быстрый и легкий доступ к файлам. не нужно sudo редактировать их.

  • проще для git отслеживания файлов конфигурации.

  • как-то чувствует себя более безопасно: пользователь может закручивать содержимое без messign с глобальными настройками машины.

  • это более "a-package-update-may-overwite-my-config" -защищенный

Давайте получим:

Каков де-факто стандарт для разделения конфигурации на одной пользовательской машине, особенно для системного администратора (однопользовательского)?

One Solution collect form web for “Конфигурационная этика (эстетика): / etc vs $ HOME”

Однажды вы собираетесь сменить свой компьютер или дать кому-то другому (например, члену семьи) учетную запись на вашем компьютере.

  • Если вы хотите сохранить настройки на вашем следующем компьютере, поместите их в свой домашний каталог.
  • Если другой человек может захотеть другой настройки, поместите его в свой домашний каталог.
  • Если этот параметр зависит от компьютера и не зависит от пользователя, введите его в /etc

Ваши аргументы против размещения файлов конфигурации в домашнем каталоге на самом деле не содержат воды:

  • sudo сохраняет переменную среды HOME (если только вы не сказали ей об этом). Таким образом, ваши программы будут продолжать читать свои настройки из вашего домашнего каталога.
  • Демоны не должны читать ваши личные настройки. Демоны обычно настраиваются через файлы в /etc , а не через переменные среды или через файлы в вашем домашнем каталоге.
  • Предполагается, что в $HOME должно быть много точечных файлов. Вот почему они их не показывают.
  • Ошибка при загрузке Ubuntu 14.04 - setterm: $ TERM не определен
  • Mysqld_multi не распознает группы
  • Управление несколькими конфигурациями (/ etc) - с помощью VCS?
  • управление версиями для / etc под * BSD
  • / etc / fstab 5-я колонка
  • /etc/udev/rules.d/ vs /lib/udev/rules.d/ - что использовать и почему?
  • Почему следует использовать update-locale вместо прямого задания LANGUAGE?
  • как сохранить yum от обновления файла, который я изменил?
  • Что значит «просто добавить / dev, / etc, и ядро ​​Linux» - BusyBox
  • Кто создает / etc / {group, gshadow, passwd, shadow} -?
  • / etc / paths в OS X и других Unices
  • теневые файлы создаются автоматически в / etc на сервере solaris (SunOS 5.10)
  • Interesting Posts

    Перенаправление трафика, поступающего из туннеля SSH в туннель VPN на устройстве Linux

    Невозможно включить поддержку TrueColor в tmux через overriding terminfo

    Является здесь редактором для linux-терминала, например, для MS-DOS?

    В чем смысл строки ** / * при использовании с grep?

    Как я могу перечислить каждый файл в каталоге, кроме тех, у которых указаны указанные расширения?

    Разрешения на символическую ссылку

    Изменение моноширинных шрифтов по всей системе

    Как прочитать пароль пользователя и реализовать его в последующих командах?

    Как создать скрипт, который использует $ 0, когда он находится на $ PATH?

    команда status не распознает параметр `-p` в Ubuntu

    Как проверить, установлен ли / proc /

    Автоматическая установка Centos7 (PXE) заканчивается при загрузке в live-DVD-вход

    Как просмотреть только специальный контент в файле журнала?

    Проверка состояния оборудования RAID Live

    EDID – помогает определить правильные значения DPI и частоты обновления

    Linux и Unix - лучшая ОС в мире.