Каково соединение между “/etc/init.d” и “/etc/rcX.d” каталогами в Linux?

хорошо. таким образом, мы решили клавишу Backspace, не работающую.

путем добавления

:map! ^? ^H

в Ваш .exrc файл. для отображения клавиш со стрелками подобным образом можно добавить следующее к тому же .exrc файлу.

:map! ^[OA ^[ka
:map! ^[OB ^[ja
:map! ^[OC ^[la
:map! ^[OD ^[ha

Следует иметь в виду, что все эти 'управляющие коды' создаются не путем простого ввода shift+6 для '^' символ, но путем нажатия следующих клавиш:

возвратите и удалите:

  • ^? = управляйте + v+delete
  • ^H = управляйте + v+control + h

стрелка вверх:

  • ^ [OA = управляют + v+up стрелка
  • ^ [ka = управляют + v+esc+k+a

стрелка вниз:

  • ^ [ОБЬ = управляют + v+down стрелка
  • ^ [ja = управляют + v+esc+j+a

стрелка вправо:

  • ^ [OC = управляют + v+right стрелка
  • ^ [la = управляют + v+esc+l+a

стрелка влево:

  • ^ [OD = управляют + v+left стрелка
  • ^ [ха = управляют + v+esc+h+a

Любые строки комментария в Вашем .exrc файле должны быть отмечены ", вместо #. И Вы не можете оставить пустые строки в своем .exrc файле, иначе та первая пустая строка - то, где Ваш .exrc прекратит обрабатываться.

После того как они существуют, vi начнет чувствовать немного больше как он, был разработан для использования людьми.:)

для примера того, насколько мощный .exrc файл, проверьте этот .exrc пример Dave Capella.

25
24.05.2012, 22:04
4 ответа

Давайте забудем init.d или rcx.d и сохраните вещи очень простыми. Предположите программирование программы, исключительная ответственность которой состоит в том, чтобы выполнить или уничтожить другие сценарии один за другим.

Однако Ваша следующая проблема состоит в том, чтобы удостовериться, что они работают в порядке. Как Вы выполнили бы это?

И позволяет, предполагают, что эта программа смотрела внутри a scripts папка для того, чтобы запустить скрипты. Для упорядочивания приоритета сценариев, Вы назвали бы их в, позволяет, говорит числовой порядок. Этот порядок - то, что диктует отношение между init.d и rc

Другими словами, init.d содержит сценарии для выполнения и rcX.d содержит их порядок работать.

X значение в rcX.d уровень выполнения. Это могло быть свободно переведено в текущее состояние ОС.

Если Вы роете в rcX.d сценарии Вы найдете это форматирование:

Xxxabcd
  • X заменяется K или S, который обозначает то, должен ли сценарий быть killed или started на текущем уровне выполнения
  • xx номер заказа
  • abcd название сценария (имя не важно однако, где оно указывает, скрипт, который это запустит),
30
27.01.2020, 19:40
  • 1
    замечательное объяснение, очень четкое. Спасибо @whoami –  its_me 10.01.2012, 15:15

Существует несколько различных init систем для Linux. Основными является SysVinit (традиционный), Выскочка (замена Ubuntu), и SystemD (продвинутый Fedora и Gnome). Каталоги /etc/init.d и /etc/rc?.d используются SysVinit. Книга может упоминать их относительно Ubuntu, потому что информация немного датирована (Ubuntu раньше использовала SysVinit как все остальные), или потому что те каталоги все еще существуют для совместимости.

/etc/init.d содержит набор сценариев, каждый содержащий инструкции запустить и остановить сервис. Некоторые из этих сервисов должны быть запущены во время начальной загрузки; другие должны быть запущены в многопользовательском режиме, но не в однопользовательском режиме техобслуживания; и возможно определить различные режимы с различными наборами желаемых сервисов. SysVinit управляет этим через runlevels. Каталог /etc/rc$N.d содержите сценарии для выполнения при вводе runlevel N (/etc/rc$N.d/S*) и сценарии для выполнения при отъезде runlevel N (/etc/rc$N.d/K*). Поскольку много runlevels есть общие сценарии, а не хранят копию сценариев для каждого runlevel, сценарии все хранятся в единственном месте /etc/init.d, и runlevel-определенные каталоги /etc/rc?.d содержите символьные ссылки. Кроме того, названия символьных ссылок указывают, должен ли сервис быть запущен (S*) или остановился (уничтоженный, K*) в этом runlevel и числовой префикс используются для управления порядком, в котором выполняются сценарии.

Сценарий, ответственный за то, что пересек /etc/rc$N.d /etc/init.d/rc (на предварительной выскочке Ubuntu и на Debian; местоположения могут варьироваться на других дистрибутивах Linux).

9
27.01.2020, 19:40
  • 1
    Так, Ubuntu не использует /etc/init.d и /etc/rc?.d еще, и имеет Выскочка вместо этого? –  its_me 10.01.2012, 03:16
  • 2
    @KrishD'Souza Не совсем. Ubuntu использует Выскочку вместо SysVinit, но много пакетов все еще поставляют сценарии в /etc/init.d (вместо Выскочки .conf файлы в /etc/init), таким образом, Выскочка все еще поддерживает /etc/init.d и /etc/rc?.d для совместимости. –  Gilles 'SO- stop being evil' 10.01.2012, 03:21
  • 3
    Ubuntu, переключенный от Выскочки к systemd с тех пор 15.04. Таким образом, в данный момент (16.04) Ubuntu имеет три init системы: SysVinit, Выскочка и systemd. Первый и второй оставлены для обратной совместимости. –  PetroCliff 22.07.2016, 01:02

/etc/init.d каталог, где init сценарии принадлежат.

etc/rcX.d то, где управление ссылок, какие сервисы уничтожаются или запускаются при вводе runlevel X. Файлы в rcX.d запуск с K выполняется с параметром stop, и файлы, запускающиеся с S выполняются с параметром start. Это типично для упорядочивания запуска и порядка остановки с помощью двузначного числа после K или S. Гарантировать надлежащий запуск и прекратить заказывать - это характерный для двух последовательностей для составления в целом 100.

Программы могут быть отключены на уровне выполнения путем удаления ссылок или изменения случая K или S кому: k или s.

Править: Администраторы обычно запускают скрипты от /etc/init.d который может быть символьной ссылкой на другой каталог в зависимости от распределения. (Различные дистрибутивы имеют различные стандарты.)

rcX.d используются кодом инициализации для изменения уровней выполнения.

4
27.01.2020, 19:40
  • 1
    В большинстве систем, /etc/init.d символьная ссылка на каталог под /etc/rc.d/init.d –  Nikhil Mulley 09.01.2012, 18:41
  • 2
    Так, в основном /etc/init.d бесполезно без /etc/rcX.d? И с тех пор /etc/rcX.d контроллер программ, которые запускаются при запуске, это - функция, подобно тому из /etc/init.d, корректный? –  its_me 09.01.2012, 18:44
  • 3
    Это зависит от системы. Хинду, например, использует только/etc/init.d, поскольку это - init файлы; это не имеет никаких/etc/rc*.d каталогов. Дуга Linux, аналогично, только имеет/etc/rc.d вместо/etc/init.d. –  laebshade 10.01.2012, 02:41

Хотя @BillThor имеет anwered это очень хорошо, вот мое понимание /etc/rcX.d и /etc/init.d:

  • /etc/init.d содержит сценарии для запуска и остановки отдельных приложений во время начальной загрузки.
  • /etc/rc?.d каталоги представляют различные уровни выполнения, и сценарии, содержавшие в, являются только символьными ссылками на фактические сценарии в /etc/init.d каталог. Изменение уровней выполнения изменяет режим системы, как очень простой Однопользовательский режим к режиму только для консоли к усовершенствованному графическому интерфейсу.

Так, там нет смысла /etc/rc?.d каталоги без /etc/init.d самостоятельно (и конечно, наоборот).

1
27.01.2020, 19:40

Теги

Похожие вопросы