Я продолжаю читать / слышать, что /etc
для системных файлов конфигурации. Может кто-нибудь объяснить / дать мне некоторую интуицию, почему эти сценарии, которые запускают / останавливают / перезапускают различные программы, обычно используются /etc
вместо /var
или, /usr
или что-то подобное?
filesystems
directory-structure
Адам Томпсон
источник
источник
Ответы:
Ранее (как исторически, так и в процессе загрузки ...),
/etc
является частью/
(первой смонтированной файловой системы), пока/usr
не было (пока диски не стали большими)./var
содержит временные данные, в то время как эти сценарии не являются временными.Это не так просто, но все началось именно так, и у нас мало причин для переделки всей структуры каталогов.
источник
/etc
или иной момент. По крайней мере,init.d
это в основном скрипты на современных системах. Но все еще невозможно/etc
подключиться только для чтения./etc
может закончиться очистка от неконфигурированных вещей./tmp
содержит временные данные./var
хранит переменные данныеСкрипты запуска на самом деле являются важной частью конфигурации системы.
Несмотря на то, что процесс загрузки гораздо менее настроен, чем 15-30 лет назад, и большая часть конфигурации запуска была автоматизирована, все те административные решения, которые определяют последовательность запуска, все еще присутствуют
/etc
.Это очень централизованный способ поддержки и резервного копирования конфигурации системы. В большинстве систем резервного копирования
/etc
достаточно, чтобы можно было легко переустановить всю систему. Вы просто делаете полную переустановку с необходимыми программами и восстанавливаете свою/etc
резервную копию.источник
М. Дики и М. Пеллетье оба скупились на вопрос. Но предпосылки неверны.
Если вы прочитали, что «
/etc
это для файлов конфигурации системы», то вы прочитали что-то, что не рисует полную картину для вас. Посмотри на имя. Это "и так далее". Люди в то или иное время ставили все, кроме кухонной раковины./etc/rc
Раньше (и в некоторых системах все еще) программа запускалась для запуска всего./etc/init
в какой-то момент (например, в XENIX задолго до того, как выскочка была даже идеей)./etc/profile
,/etc/zprofile
И все остальное, безусловно , скрипты./etc/netstart
- это программа; как и FreeBSD/etc/ipfw.rules
./etc/rc.suspend
и/etc/rc.resume
; и действительно/etc/rc.sendmail
,/etc/rc.bsdextended
и/etc/rc.firewall
.Точно так же, если вы прочитали, что «сценарии, которые запускают / останавливают / перезапускают различные программы, обычно используются
/etc
вместо/var
или,/usr
или что-то подобное», то вы читали что-то еще, что не рисует полную картину для вас./usr/local/etc/rc.d/
каталог дляrc
сценариев не операционной системы .rc
сценарии для всех видов вещей живут там, а не под/etc
./var/sv
,/var/service
и тому подобные места. (Мой набор инструментов nosh, для одного примера, предоставляет почти тысячу пакетов услуг/var/sv
. Единственные пакеты услуг, которые/etc/service-bundles
входят в комплект, - это от 60 до 70, которые требуются до/usr
монтирования, включая сервисы, которые монтируют и проверяют/usr
при необходимости.)/etc/systemd
, некоторые вещи/run/systemd
, некоторые вещи/usr/lib/systemd
, и ( хотя это недокументировано по неприменимым причинам ) некоторые вещи/usr/local/lib/systemd
. Опять же, большинство «вещей для запуска / остановки служб» можно найти под,/usr
а не под/etc
.источник
Вы бы хорошо, чтобы рассмотреть стандарт иерархии файловой системы . Он объяснит (подробно), почему это так, но также содержит такую информацию по многим другим путям, которые могут вас заинтересовать.
источник
Digital UNIX довольно разумно разместил скрипты в
/sbin/init.d
каталоге. А также HP-UX, в соответствии с розеттским камнем .источник