
У меня preseed почти работает так, как мне бы хотелось, но по какой-то причине я не могу добавить эти два репозитория в файл source.list. Он всегда закомментирован, что не может их проверить.
Я знаю, что мог бы поместить их в скрипт late_command, но мне бы очень хотелось иметь их в файле cfg.
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string http://xxx.xxx.xxx.xxx:xxxxx
## Setup GITLAB-MULTI-CI-RUNNER
d-i apt-setup/local0/repository string deb https://packages.gitlab.com/runner/gitlab-ci-multi-runner/debian/ stretch main
d-i apt-setup/local0/source boolean true
d-i apt-setup/local0/key string https://packages.gitlab.com/runner/gitlab-runner/gpgkey
## Setup DOCKER
d-i apt-setup/local1/repository string deb [arch=amd64] https://download.docker.com/linux/debian stretch stable
d-i apt-setup/local1/source boolean false
d-i apt-setup/local1/key string https://download.docker.com/linux/debian/gpg
d-i debian-installer/allow_unauthenticated boolean true
Может, d-i
я что-то упускаю или это просто невозможно?
решение1
Кажется, я столкнулся с той же проблемой, по крайней мере с репозиторием docker. Я думаю, это как-то связано с тем, что он используетhttpsвместоhttpкак транспорт. Установщик preseed не может проверить репозиторий, поскольку один из них или apt-transport-https
( ca-certificates
или оба) не установлены по умолчанию, и поэтому он комментирует эти строки в /etc/apt/sources.list
.
В моем случае мне удалось решить проблему, установив необходимые пакеты, а затем включив late_command
репозиторий после установки.
d-i pkgsel/include string ca-certificates apt-transport-https
и
d-i preseed/late_command string in-target sed -i 's/^#deb https:/deb https:/g' /etc/apt/sources.list
Я согласен с вами, что это своего рода хак, но это лучшее, что я смог придумать.