Изменение инструкций PXE preseed для настольных компьютеров и ноутбуков?

Я вижу, вы упомянули, что хотели бы запустить HTTPD на уровнях выполнения 3 и 5 и остановить HTTPD на уровнях выполнения 2 и 4. Вот URL-адрес Red Hat руководство содержит отличный обзор Init и SystemD.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Targets.html

В руководстве Red Hat указано, что multi-user.target совпадает с уровнями выполнения 2, 3 и 4.

  • Уровень запуска 0 = poweroff.target
  • Уровень запуска 1 = Rescue.Target
  • Уровень запуска 2 = многопользовательский.цель
  • Уровень запуска 3 = многопользовательский.цель
  • Уровень запуска 4 = многопользовательский.цель
  • Уровень запуска 5 = graphical.target
  • Уровень выполнения 6 = reboot.target

Имея это в виду, кажется, что нет смысла использовать такую ​​команду, как systemctl set-default multi-user .target при попытке переключения между уровнями выполнения 2, 3 и 4, поскольку уровни выполнения 2, 3 и 4 являются синонимами multi-user.target.

Следует отметить, что для просмотра некоторой информации о конфигурации можно использовать команду systemctl cat httpd. Что касается вашего вопроса, эта команда покажет, что для HTTPD установлено значение multi-user.target.

# systemctl cat httpd
. . .
[Install]
WantedBy=multi-user.target

Я не уверен, что это подходит для вашей среды. Возможное решение вашей потребности может состоять в том, чтобы иметь сценарий, который определяет текущий уровень запуска системы, а затем использует некоторые циклы if для запуска или остановки демона HTTPD в зависимости от цели. Например, возможно, сценарий мог бы выглядеть примерно так.

#!/bin/bash
target=`systemctl get-default`
if [ $target == "multi-user.target" ]
then
  systemctl stop httpd
else
  systemctl start httpd
fi

1
14.12.2016, 23:25
1 ответ

Взгляните на файл примера здесь

В частности, см. Инструкции внизу под заголовком «Выполнение пользовательских команд во время установки». Поскольку вы можете запускать любую команду оболочки, которая вам нравится, внутри установщика, должно быть возможно делать то, что вы хотите.

Цитирование примеров с этой страницы:

# This first command is run as early as possible, just after
# preseeding is read.
#d-i preseed/early_command string anna-install some-udeb
# This command is run immediately before the partitioner starts. It may be
# useful to apply dynamic partitioner preseeding that depends on the state
# of the disks (which may not be visible when preseed/early_command runs).
#d-i partman/early_command \
#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
0
28.01.2020, 01:06

Теги

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