/etc/rc.d по сравнению с/etc/init.d

Существуют случаи, где командная строка + и - определенно предназначена для указания на вычитание или добавление чего-то, как

diff -w

или

emacs +30
15
26.10.2010, 21:22
8 ответов

Использование Ubuntu /etc/init.d для хранения сценариев SysVinit, потому что Ubuntu основана на Debian и это - то, что использует Debian. Использование Red Hat /etc/rc.d/init.d. Я забываю то, что использует Slackware. Просто нет стандартного местоположения.

Ubuntu находится в процессе переключения от SysVinit до Выскочки, которая использует конфигурационные файлы в /etc/init.

16
27.01.2020, 19:49
  • 1
    Извините, но/etc/init.d является стандартом как часть стандарта SVR4, что Linux запускает скопированные сценарии. –  Rich Homolka 27.10.2010, 02:17
  • 2
    Выскочки утверждает, что Ubuntu использовала его начиная с версии 6.10 –  badp 16.01.2011, 15:05
  • 3
    @badp: Хотя 6.10, все еще используемый SysV-стиль init сценарии в /etc/init.d. Переход к /etc/init/*.conf запущенный позже (8.04 был все еще весь SysV-стиль, 10.04, уже переходил). –  Gilles 'SO- stop being evil' 16.01.2011, 15:33
  • 4
    Ubuntu, переключенный от Выскочки к systemd с тех пор 15.04. –  PetroCliff 22.07.2016, 00:53

/etc/init.d было старое историческое местоположение для SVR4. Я забыл, почему Redhat добавил/etc/rc.d/уровень. Я думаю для изоляции вещей на rc.d, но затем должен был добавить набор символьных ссылок так или иначе для назад совместимости. Таким образом, существует/etc/init.d в Redhat, просто это символьные ссылки в другом месте.

Таким образом, стандартное местоположение является/etc/init.d, хотя это может быть символьная ссылка не реальный каталог.

Были некоторые действительно старые дистрибутивы Linux, которые скопировали BSD с/etc/rc.local, но в значительной степени никто больше не использует это.

7
27.01.2020, 19:49

Slackware все еще использует /etc/rc.d

Использование FreeBSD /etc/rc.d и /usr/local/etc/rc.d

6
27.01.2020, 19:49

Исторически дерево каталогов /etc/rc.d обозначает систему инициализации, которая следует традиции инициализации системы BSD 4.4, которая обычно называется системой инициализации rc . Все современные (Free / Open / Net) системы BSD и Slackware Linux следуют этой традиции.

Дерево каталогов /etc/init.d обозначает систему инициализации System V (SysV), которая следует традиции инициализации системы AT&T UNIX, SunOS, Solaris. Это обычно называется системой SysV Init. Собственно Debian по-прежнему следует этой традиции в серии Wheezy, но планирует использовать SystemD в серии Jessie. Исторически RedHat и производные использовали SysV Init, но больше не используют.

Кроме того, со временем особенности обеих схем инициализации были приняты в дистрибутивах.

5
27.01.2020, 19:49

На самом деле, по крайней мере, в CentOS 6.8 Santiago, /etc/init.d - это просто программная ссылка на / etc / rc.d .

0
27.01.2020, 19:49

PuppyLinux имеет как /etc/rc.d , так и /etc/init.d , ни одна из которых не является символической ссылкой. Символическая ссылка /etc/rc.d/init.d , которая связывает уровень с /etc/init.d (я смотрю на Slackware-based Puppy - существуют также варианты на основе Ubuntu и другие.) В каждом есть файл README.txt, объясняющий их подход.

0
27.01.2020, 19:49

Итак, /etc/init.d - это место, где вы можете быстро развернуть сценарий инициализации. Второй шаг к активации этого сценария - запустить на нем команду chkconfig . Допустим, вы запускаете chkconfig --add , символические ссылки будут созданы между /etc/init.d/ и /etc/rc.d/ rcX.d / S50