Назад | Перейти на главную страницу

Как связать команды вместе в файле preseed debian?

Я хотел бы знать, можно ли объединить команды в файл preseed.

Что-то вроде:

d-i preseed/late_command string yes N | apt-get install package -y

(Я понимаю, что это несколько плохой пример. Я просто хотел знать, будет ли / как это работать.)

Я делаю это на последнем этапе, вот несколько примеров, чтобы дать вам представление:

d-i preseed/late_command string \
cd /target/etc/apt/; \
wget http://repo.example.com/sources_new.list; \
mv sources_new.list sources.list; \
echo 'Acquire::http::Proxy "http://proxy.example.org";' >> apt.conf; \
ls . > temp; \
cat temp | grep -cq string; \
cd /; \
in-target apt-get update; \
in-target apt-get -y upgrade; \
in-target apt-get -y dist-upgrade; \
in-target tasksel install desktop; \
in-target apt-get -y install sudo \
less \
ssh \
icedove \
lynx \
xscreensaver;

Таким образом, целевая файловая система по умолчанию расположена в / target, и вы можете перемещаться, копировать и удалять файлы, редактировать файлы и, если вы хотите запустить команду в целевой файловой системе, вы используете «in-target» перед командой.

Для получения дополнительной документации см .: http://d-i.alioth.debian.org/manual/en.amd64/apbs05.html#preseed-hooks

Вы можете передавать команды через / bin / sh. Это позволяет использовать трубы. Пример:

in-target / bin / sh -c - 'blkid / dev / sda1 | xargs -n1 | grep "^ UUID ="> /tmp/uuid-sda1.txt '