Демоны, не запускающиеся во время начальной загрузки на PUIAS (Redhat) 6.4

Я пошел бы для:

FILE=$(basename $1 .jpeg).jpg

Второй параметр к базовому имени является суффиксом, который будет удален из имени файла (см. man basename)

2
10.05.2019, 00:41
1 ответ

(Я не пытаюсь быть педантичным, я просто не знаю, сколько Вы знаете или не знаете, таким образом, я в основном braindumping здесь),

Прежде всего просто знайте, что Red Hat выбирает странный материал, чтобы установить и включить по умолчанию. Например, это - или RHEL5 или RHEL6, который установит avahi и позволит ему запуститься при начальной загрузке. Я думаю, что обе версии устанавливают и включают чашки почти для всех профилей установки, которые можно выбрать. RHEL6 не устанавливает man по умолчанию, и т.д., и т.д.

На RHEL существует три способа, которыми можно справиться с сервисами:

  • Вручную измените символьные ссылки внизу /etc/rc.d или /etc/rcX.d
  • Использовать chkconfig (смоделированный после инструмента IRIX того же имени)
  • используйте setup команда, обеспеченная setuptool пакет (который может или не может быть установлен в зависимости от профиля, который был выбран во время начальной установки).

Больше деталей о каждом:

Ручное управление:

RHEL/System V последовательностей запуска таким образом:

  1. /etc/rc.sysinit работал, который получает большинство критических частей операционной системы, таких как критические файловые системы на месте.

  2. init затем изучает /etc/rcX.d (где X для runlevel это загружается в), и выполняет все файлы/символьные ссылки, содержавшие там (в алфавитном порядке).

    • Если их имя начинается и S это дает сценарий start как argv[1]/$1

    • Если их имя начинается с a K это останавливается (или kills) сервис.

    • Конвенция имеет его, что зависимости обрабатываются путем изменения числа после K или S который имеет эффект того, чтобы просто менять его алфавитное положение.

  3. Это выполняет то, что находится в /etc/rc.local


Сценарии практической эксплуатации будут в /etc/rc.d/init.d (который является также symlinked к на /etc/init.d). Если Вы хотите, чтобы сервис запустился на уровне выполнения 3 (сеть, но никакой GUI), Вы могли сделать это:

# cd /etc/rc3.d
# ln -s /etc/init.d/myService S99myService

Используя chkconfig

Цель chkconfig должен в основном автоматизировать вышеупомянутый процесс для Вас. Это имеет недостаток требования, чтобы initscripts имели определенный заголовок, прежде чем можно будет справиться с сервисом с chkconfig. Например, это - запуск сетевого сервиса:

#! /bin/bash
#
# network       Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
#              start at boot time.
#
### BEGIN INIT INFO
# Provides: $network
### END INIT INFO

Это включает chkconfig и фигура, какое число это должно установить/изменить, чтобы заставить зависимости удаваться правильно. Вы теряете способность к заявке на изменение, но из-за вышеупомянутого она почти никогда на самом деле имеет значение.

chkconfig легче и откровенно, что я использую большую часть времени.

Можно проверить, через который сервисы настроены в какой уровни выполнения chkconfig --list Например:

[root@ditirlns01 ~]# chkconfig --list | head
NetworkManager  0:off 1:off 2:off  3:off  4:off 5:off  6:off
acpid           0:off 1:off 2:on 3:on   4:on   5:on 6:off
anacron         0:off 1:off 2:on 3:on   4:on   5:on 6:off
arptables_jf    0:off 1:off 2:on 3:on   4:on   5:on 6:off
atd             0:off 1:off 2:off  3:off  4:on 5:on 6:off
auditd          0:off 1:off 2:off  3:off  4:off 5:off  6:off
autofs          0:off 1:off 2:off  3:off  4:on 5:on 6:off
avahi-daemon    0:off 1:off 2:off  3:off  4:on 5:on 6:off
avahi-dnsconfd  0:off 1:off 2:off  3:off  4:off 5:off  6:off
capi            0:off 1:off 2:off  3:off  4:off 5:off  6:off

Или проверьте состояние конкретных сервисов:

[root@ditirlns01 ~]# chkconfig --list auditd
auditd          0:off 1:off 2:off  3:off  4:off 5:off  6:off

Можно включить сервис через chkconfig <serviceName> on Продолжение примера выше:

[root@ditirlns01 ~]# chkconfig auditd on
[root@ditirlns01 ~]# chkconfig --list auditd
auditd          0:off 1:off 2:on 3:on   4:on   5:on 6:off

Как видете chkconfig включите auditd сервис для уровней выполнения 3 - 5.

Если Вы не хотели это Вы, может использовать --levels опция установить определенные уровни выполнения для включения:

[root@ditirlns01 ~]# chkconfig auditd off
[root@ditirlns01 ~]# chkconfig auditd on --levels=3
[root@ditirlns01 ~]# chkconfig --list auditd
auditd          0:off 1:off 2:off  3:on 4:off  5:off   6:off

С setuptool

setup последнее повторение управления системой, разработанного для создания общих задач администрирования немного легче. Это проложило бы себе путь, если Red Hat установит все, должен был сделать его так. Но начиная с RHEL6 они выделили setuptool функциональность среди нескольких пакетов (я предполагаю для создания этого более всесторонним, не забивая меню).

Это - довольно очевидная находящаяся в ncurses обертка вокруг chkconfig за исключением того, что это не позволяет Вам выбрать конкретные уровни выполнения:

Initial screen

Actual Management Screen

Не очень для высказывания об этом кроме того.

Сообщите мне, ответило ли это Вам вопрос.

3
27.01.2020, 22:06

Теги

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