Установите службу systemd при установке Debian - PullRequest
0 голосов
/ 08 января 2020

Я создаю собственный Debian ISO с помощью утилиты simple-cdd. Это работало хорошо до того момента, когда я прикрепил свой собственный пакет .deb.

build-simple-cdd --dist stretch --profiles moj --force-root --local-packages /root/iso/deb

build-simple-cdd работает правильно, потому что я увидел, что мой пакет deb в структуре каталогов tmp и образ iso создан успешно. Однако установка Debian не удалась enter image description here

Я подозреваю, что сценарий postinst завершается неудачно, так как он использует команду systemctl, когда он может быть недоступен.

#!/bin/sh
set -e

echo $1
if [ "$1" = "configure" ]; then 
    echo "Configuring privileges..."
    chown user:user /usr/bin/Koncentrator
    chmod 0755 /usr/bin/Koncentrator

    echo "Enabling Koncentrator services..." 
    systemctl daemon-reload
    systemctl enable Xvfb.service
    systemctl enable Koncentrator.service
fi

добавлена ​​зависимость systemd к управляющему файлу, но она не работает.

1 Ответ

0 голосов
/ 20 января 2020

Я сделал обходной путь для этой проблемы. simple-cdd позволяет подготовить скрипт после установки. apt install там вызывается без проблем. Для использования этого решения необходимо выполнить два шага:

  1. Добавить пакет deb на установочный диск. Это настраивается через файл конфигурации профиля (moj.conf):
all_extras="$all_extras /root/iso/files/customapackage_0.1.3.deb"
Запустите apt install в скрипте moj.postinst:
#!/bin/sh

mount /dev/cdrom /media/cdrom
cd /media/cdrom/simple-cdd
apt install ./custompackage_0.1.3.deb
cd /
sync
umount /media/cdrom

Если вы хотите отладить скрипт postinst, вы можете вставить туда long sleep:

#!/bin/sh

sleep 10000000
...

И переключите терминал (Ctrl + Alt + F1-6) во время финальной фазы sh. Затем вызовите ch root / target, чтобы переключить окружающее целевое окружение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...