Синтаксис начального файла Ubuntu

Все,

У меня есть сценарий оболочки, который пытается скопировать и установить.deb как часть late_command, Я использовал то, что нашел по этой ссылке в качестве руководства.

https://gist.github.com/moonwitch/11100762

Вот команды эха, добавляющие вещи в конец lubuntu.seed

echo "d-i preseed/late_command string \ " >> "$WORK_DIR/preseed/lubuntu.seed"
echo "cp /cdrom/pool/extras/my.deb . ; \ " >> "$WORK_DIR/preseed/lubuntu.seed"
echo "d-i preseed/late_command string in-target dpkg -i /cdrom/pool/extras/my.deb ; " >> "$WORK_DIR/preseed/lubuntu.seed"

Что меня действительно радует, так это то, что команда cp не оставляет файл на цели независимо от того, что я делаю. Есть некоторые другие вещи, которые я хотел бы скопировать и распаковать.

Я работаю с Ubuntu 15 32-bit, На самом деле не волнует инструменты, которые "раньше работали" с более ранними выпусками. Я провел 3 дня, просматривая каждое обсуждение, и каждый пример / инструмент был для действительно старой версии Ubuntu. Не нашел тот, который все еще работает сегодня. Какой-то бег, но они не функционируют полностью.

Моя текущая проблема связана с тем, что я не упаковщик, но это нужно сделать, и я не убрался с дороги достаточно быстро.

Что мне нужно, так это действующий оператор cp, который копирует файл с компакт-диска в целевой каталог и оставляет его там после перезагрузки. Пока ничего не имеет.

Спасибо

1 ответ

Это строка, которую я использовал для поздней команды:

d-i preseed/late_command string cp /cdrom/somefile /target/system/folder && cp /cdrom/someshellscript.sh /target/system/folder && chroot /target chmod a+x /target/system/folder/someshellscript.sh && chroot /target sh /system/folder/someshellscript.sh

Я добавил строку выше к своему файлу preseed. Эта строка в основном копирует некоторый скрипт из cdrom или iso в какую-то папку в целевой системе. Во время установки папка /target является корневой системой "целевой" системы (понятно?).

Поэтому я скопировал все нужные мне файлы с компакт-диска или iso в какую-то папку, например root или opt или даже tmp в целевой системе. Затем я изменил root на /target и выполнил все обычные команды linux. Написал сценарий оболочки, который выполняется после того, как все копирование выполнено, чтобы сделать то, что я хочу.

Замечания:

Внутри моего сценария оболочки я сбросил все окружение установщика:

unset DEBCONF_REDIR 

unset DEBCONF_FRONTEND

unset DEBIAN_HAS_FRONTEND

unset DEBIAN_FRONTEND

Тогда действуйте соответственно.

Надеюсь это поможет.

Другие вопросы по тегам