virsh :Подключено к домену <имя> Экранирующий символ ^]

Я думаю, что вы на правильном пути, но ожидаете, что инфраструктура rc будет обрабатывать больше вещей автоматически, чем на самом деле.

Похоже, вы знакомы с Практическим написанием сценариев rc.d в BSD , когда вы коснетесь:

For instance, stop must know the PID of the process to terminate it. In the present case, rc.subr(8) will scan through the list of all processes, looking for a process with its name equal to $procname. The latter is another variable of meaning to rc.subr(8), and its value defaults to that of command. In other words, when we set command, procname is effectively set to the same value.

Ваша жизнь станет проще, если вы признаете, что у вас нет "простого" демона, и просмотрите следующий раздел с "расширенным" демоном . Таким образом, вместо того, чтобы задавать procnameправильное имя, чтобы он мог сканировать PID -, просто установите файл PID. pidfile— известный объект, который rc.subr (8)понимает.

Вы используете демон для отсоединения от терминала, который хорошо обрабатывает файлы pid.

Итак, если вы добавите:

pidfile="/var/run/${name}.pid"

И поменяй свойstart_cmd:

start_cmd="/usr/sbin/daemon -P ${pidfile} -u myuser $command"

Тогда вам пора идти.

Еще одна хорошая статья, описывающая простой rc-скрипт, — это Контролируемый скрипт FreeBSD rc.d для демона Go -, суть которого проста, как:

#!/bin/sh
#
# PROVIDE: goprogram
# REQUIRE: networking
# KEYWORD:

. /etc/rc.subr

name="goprogram"
rcvar="goprogram_enable"
goprogram_user="goprogram"
goprogram_command="/usr/local/goprogram/goprogram"
pidfile="/var/run/goprogram/${name}.pid"
command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -f ${goprogram_command}"

load_rc_config $name
: ${goprogram_enable:=no}

run_rc_command "$1"

Обратите внимание, что основное отличие состоит в том, что они управляют файлом pid, а не полагаются на$procname

0
23.02.2019, 23:22
1 ответ

Получается, что указание вашего загрузочного устройства с помощью --cdrom /path/to/bootmedia.isoможет быть проблематичным, когда дело доходит до просмотра вывода во время загрузки. Пытаясь установить снова, я заметил, что это предупреждение появляется перед текстом Starting install...:

.

WARNING CDROM media does not print to the text console by default, so you likely will not see text install output. You might want to use --location. See the man page for examples of using --location with CDROM media

Я искал это предупреждение и нашел предложения по добавлению следующего в virt-installargs :--location /path/to/bootmedia.isoвместо --cdromи --extra-args console=ttyS0.

После внесения этих двух изменений все заработало. Полная рабочая команда установки выглядит следующим образом:

virt-install \
-n ApacheServer \
--description "CENTOS7 for Apache Server" \
--os-type=Linux \
--os-variant=rhel6 \
--ram=2048 \
--vcpus=1 \
--disk path=/var/lib/libvirt/images/CentOS7-Apache.img,bus=virtio,size=10 \
--graphics none \
--console pty,target_type=serial \
--location /home/server/Downloads/CentOS-7-x86_64-Minimal-1810.iso \
--network bridge:virbr0 \
--extra-args console=ttyS0
5
28.01.2020, 02:22

Теги

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