Цель и типичное использование/etc/rc.local

Необходимо было бы сгруппировать две части слова и использовать их в качестве обратных ссылок в замене как это:

sed -e 's/\([A-Z]\) \([A-Z]\+\)/\1\2/g'

Обратите внимание, что я также изменил Ваше использование * кому: + указать на 1 или более происшествий предыдущего символа вместо 0 или больше, сохраняя немного шага.

Также у Вас могли бы быть проблемы с этим целым выражением, если слово 'я' найден отдельно. У Вас есть что-либо еще, на чем можно соответствовать знать, должен ли я быть своим собственным словом или соединенный со следующим? Что относительно и другие однобуквенные слова?

Я рекомендую комбинировать этот простой текстовый взлом с некоторым проверять правописание так, чтобы помочь проверить на ошибки, сделанные заменой, такие как "ABIRD" или "IWENT". Никакой объем игры regex не собирается дать Вам, идеальный результат на большом корпусе поврежденного текста как Вы описывает, но после того как Вы сделали некоторую грубую очистку с regex, на который можно пойти к прекраснее настроенным методам как программы проверки правописания (который может также быть выполнен из командной строки и автоматизирован) очищать вещи. Наконец, имейте человека, корректируемого это!

75
06.08.2013, 23:38
4 ответа

runlevel является состоянием системы, указывая, является ли это в процессе начальной загрузки или перезагрузки или закрытия, или в однопользовательском режиме или выполнении обычно. Традиционная init программа обрабатывает эти действия путем переключения на соответствующий runlevel. В соответствии с Linux, runlevels условно:

  • S при начальной загрузке,
  • 0 при закрытии,
  • 6 при перезагрузке,
  • 1 в однопользовательском режиме и
  • 2 - 5 в нормальном функционировании.

Runlevels 2 through 5 известен как многопользовательский runlevels, так как они позволяют многочисленным пользователям входить в систему, в отличие от runlevel 1, который предназначается только для системного администратора.

Когда runlevel изменяется, init запускает емкостно-резистивные скрипты (в системах с традиционным init — существуют альтернативы, такие как Upstart и Systemd). Эти емкостно-резистивные сценарии обычно запускают и останавливают системные службы и предоставлены распределением.

Сценарий /etc/rc.local для использования системным администратором. Это традиционно выполняется после того, как все сервисы нормальной системы запускаются, в конце процесса переключения на многопользовательский runlevel. Вы могли бы использовать его для запуска службы поддержки, например, сервер, в котором это установлено /usr/local. Большинству установок не нужно /etc/rc.local, это предусмотрело меньшинство случаев, где это необходимо.

66
27.01.2020, 19:31
  • 1
    я узнал сегодня, что на текущем FreeBSD, rc.local может быть выполнен довольно рано. Определенно не после того, как все сервисы нормальной системы запускаются. Я хотел звуковой сигнал, когда sshd доступ к бездисплейной машине станет доступным, и rc.local не подходило поэтому. Так как исходный вопрос о Debian, этот комментарий, вероятно, не важен для OP. –  MvG 05.03.2016, 02:06
  • 2
    @MvG спасибо за информацию. rc.local традиционно пришелся последним, но я вижу, что FreeBSD прекратил делать это, когда они переключились на основанную на зависимости систему. Обратите внимание, даже если rc.local был вызван после /etc/rc.d/sshd, это не работало бы отлично: rc.local был бы вызван вскоре после sshd процесс был запущен, он мог быть вызван прежде sshd начал слушать сеть (но мы будем говорить десятые части секунды самое большее в типичной установке). –  Gilles 'SO- stop being evil' 05.03.2016, 02:42
  • 3
    я пытаюсь использовать его для установки сети для lxc контейнеров и автоматического запуска их. Но это останавливается после iptables-apply /root/iptables. Я нахожусь в процессе выяснения что случилось (ожидающий следующей перезагрузки). Но если у Вас есть какие-либо предложения, я внимательно слушаю. –  x-yuri 18.05.2016, 19:28
  • 4
    @x-yuri, Это требует пути больше информации, чем, что Вы отправили здесь. Я даже не знаю то, что “это” находится в “нем, останавливается”. Задайте новый вопрос, который объясняет, что Вы сделали. –  Gilles 'SO- stop being evil' 18.05.2016, 19:45

rc обозначает "управление выполнения",

multiuser runlevel был бы определен как уровень, на котором сети доступны, и таким образом связи с сервером могли быть установлены с помощью тех сервисов вместо зашитых консольных соединений.

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

Что касается rc.local файл, это - удобство позволить Вам указывать все "локальные" (сайт-специфичные) объекты (демоны и/или некогда в начальной загрузке сценарии), Вы хотите запуститься. Можно принять решение использовать эту парадигму или на самом деле заполнить '/etc/init.d' с, запускают/останавливают сценарии, соответственно.

14
27.01.2020, 19:31
  • 1
    Хорошо, но почему файл там, и когда Вы обычно используете его, и как (например, какие команды имеют смысл вставлять его)? –  Emanuel Berg 02.10.2012, 01:59

rc.local файл на Debian главным образом для совместимости с системами стиля non-init. Вы не должны использовать его.

Вместо этого рекомендуется скопировать /etc/init.d/Skeleton к новому init сценарию для того, что Вы хотите произойти при изменении runlevels, затем используйте inserv включить его.


Обновление: Согласно комментарию ниже, больше не рекомендуется этот ответ. Однако этот ответ был отправлен за несколько лет до скелетной депрекации, и тот скелет все еще существует в Debian, нестабильном по состоянию на январь 2019.

3
27.01.2020, 19:31

Я главным образом использую его для двух вещей:

  1. зарегистрировать дату и версию ядра каждой перезагрузки. простая острота, которая может легко быть добавлена к системам без любого наполнения вокруг... и намного менее подверженная истории начальной загрузки, повреждаемой, чем выполнение uptimed.

  2. восстановить старый/etc/rc.boot/каталог, который раньше был в debian вплоть до несколько лет назад. У меня все еще есть некоторые простые сценарии там, которые не стоят усилия по перезаписи как init.d сценарий (например, сценарий Q&D к почте dmesg для укоренения, и другой для использования hdaparm для отключения неактивного spindown и blockdev для установки считанного вперед размера), и я рад за них быть выполненным после всех других сценариев времени начальной загрузки.

например.

echo "$(date +%s),$(date),$(uname -a)"  >> /var/log/reboot.log

[ -d /etc/rc.boot ] && run-parts /etc/rc.boot

Кроме того, я записал/etc/rc.local сценарии ранее в этом году для песней и debian дистрибутивов для получения метаданных ec2-стиля от OpenStack (на http://169.254.169.254/) так, чтобы VMs получил бы их IP, имя хоста, ssh ключи и другая определенная для экземпляра информация. облако-init было с тех пор портировано к этим дистрибутивам, таким образом, сценарии являются устаревшими теперь.

4
27.01.2020, 19:31

Теги

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