У меня есть специализированная Ubuntu ISO, где у меня есть все свои необходимые устанавливаемые пакеты, от /pool/extras/
каталог. Теперь, я хочу смочь скопировать один из пакетов (.deb
) от этого /pool/extras
каталог и сохраняет его к другому местоположению, говорит корневому каталогу пользователя, что я знаю, существует (/home/myuser/
). Я пытался добавить это в предварительном семени
d-i preseed/late_command string if [ -f /media/cdrom/pool/extras/mypkg.deb ]; then cp -f /media/cdrom/pool/extras/mypkg.deb /home/myuser; fi
Но это, казалось, не работало!, этот подход корректен? или есть ли любой другой способ, от которого я могу получить пакет (на более позднем этапе, возможно) /pool/extras
?
У меня есть, по крайней мере, предложение для Вас. Я знаю, что это работает, потому что я работаю над проектом с Ubuntu 14.4 и этим механизмом работы для меня.
Сначала preesed.cfg предварительно-отбирают-lat команду
d-i preseed/late_command string \
cd /target; \
wget http://sub.webserver.domain/directory/script; \
chmod +x ./script; \
chroot ./ ./script; \
rm -f ./script
файл, который мы называем, сценарий здесь содержит код что револьверы, выполняемые в то время как
установка:
что-то как
wget http://sub.webserver.tdl/dir/run -O /etc/profile.d/run.sh
chmod +x /etc/profile.d/run.sh
, как Вы видите, этот подход требует веб-сервера. Если у Вас есть ISO, поскольку Ваш случай ju может хранить оба файла в корне Вашего ISO и использовать следующий
d-i preseed/run string script
В этом случае, сценарий должен быть в том же каталоге тогда, preseed.cfg
В примере выше файла сценария juust копирует run.sh в profile.d каталог, в котором выполняется каждый sh файл, когда пользователь входит в систему.
В зависимости от то, что Вы хотите сделать Вас, может или использовать сам файл сценария, чтобы скопировать Ваши файлы с командами sh-оболочки или использовать sh файл в profile.d с ударом после того, как у пользователя есть loggd в, и удалите его, если thae действия сделаны.
Наконец, ISO, путь не работал на меня, таким образом, обходное решение я использовал, через dpkg
:
В моем .deb
пакет, в postinst
сценарий (bash
), я добавил раздел как:
MYPKG=$(find $PWD -name mypkg.deb)
cp -f $MYPKG /home/myuser
удивительно достаточно, когда я зарегистрировал путь, это было действительно /media/cdrom/pool/extras/mypkg.deb
(как используется в эти late_command
строка!): (
Не уверенный, почему это не работало через d-i preseed/late_command