
Я пытаюсь создать автоматизированный установщик для моего сервера Debian, чтобы в случае поломки оборудования мои сотрудники могли переустановить его, не выбирая языки, не добавляя пользователей и, что самое важное, не звоня в ИТ-отдел. Я прочитал всю документацию, связанную с файлами preseed на веб-сайте Debian, но не смог заставить его работать. Я уже создал файл preseed.cfg, и он должен работать, но установщик его не распознает. Я даже попробовал сторонний скрипт, который встраивает мой файл preseed в ISO, но он тоже не сработал (не удалось загрузиться с USB). Может ли кто-нибудь предоставить простое пошаговое руководство о том, куда мне поместить preseed.cfg и как запустить установщик таким образом, чтобы он действительно использовал этот файл?
[ОБНОВЛЯТЬ]
Вот что я сделал на данный момент:
1) Я создал файл press.cfg на основе примера файла на сайте Debian.
2) Я создал установщик Debian на USB-накопителе (пробовал и с помощью команды dd, и с помощью rufus), оба варианта сработали БЕЗ файла preseed.
3) Я скопировал preseed.cfg в корень USB-накопителя, а также в папку под названием «preseed» (где-то прочитал, что это может помочь).
4) Запустил ПК, загрузился с USB.
5) Выбрал опцию автоматической установки, нажал клавишу TAB, чтобы открыть редактор параметров, и добавил «preseed/file=/hd-media/preseed.cfg».
В этот момент я получаю сообщение об ошибке, в котором говорится, что файл preseed не найден, либо мои параметры загрузки полностью игнорируются и начинается обычная установка.
Вот сообщение об ошибке, которое я получаю:
Failed to retrieve the preconfiguration file
The file needed for preconfiguration could not be retrieved from /hd-media/preseed.cfg.
The installation will proceed in non-automated mode.
Я действительно хочу избежать размещения файла preseed на своем сайте, поскольку не хочу раскрывать настройки своего сервера.
решение1
Файлы Preseed могут работать по-разному. Конкретные детали могут быть довольно сложными и отличаться в зависимости от вашего оборудования.
Если ваш установщик поддерживает ваше сетевое оборудование, один из способов — передать установщику URL-адрес файла preseed.
Другой способ — изменить initrd.gz и встроить файл туда.
Вы можете предоставить preseed через DHCP-сервер.
Вы можете поместить его в файл на образе компакт-диска.
Почти во всех случаях вам придется передать дополнительный параметр в командной строке загрузки, поэтому вам нужно обновить загрузчик установочного носителя в дополнение к размещению файла.
Руководство по установке содержит большую часть общей информации, которая вам может понадобиться.
- https://www.debian.org/releases/jessie/amd64/apbs02.html.en
- https://www.debian.org/releases/stretch/amd64/apbs02.html.en#preseed-bootparms
Поскольку вы упомянули USB-носитель для загрузки, вы, вероятно, захотите ознакомиться с разделом B.2.1, в котором указано, куда поместить файл и какие параметры загрузки вам нужны.
- if you're installing from USB media (put the preconfiguration file in the
toplevel directory of the USB stick):
preseed/file=/hd-media/preseed.cfg
preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
решение2
Измените свой preseed/file=/hd-media/preseed.cfg
на preseed/file=/cdrom/preseed.cfg
.
Путь preseed должен быть указан с учетом структуры файловой системы установщика. В то время как initramfs монтируется как корневая файловая система, установочный носитель по умолчанию монтирует свой источник в /cdrom/
.
- если ваш preseed.cfg находится в корне initramfs, он будет находиться в
/preseed.cfg
- если ваш preseed.cfg находится в корне cdrom/usb, он будет находиться по адресу
/cdrom/preseed.cfg
Afaik, это в настоящее время верно для всех официальных установочных носителей Debian и Ubuntu. Если это когда-либо изменится или вы что-то изменили при сборке установочного носителя, вы всегда можете проверить правильный путь, введяэкспертв установщике, используя опцию запуска оболочки оттуда и проверки расположения файловой системы.
решение3
Что я сделал: 1) подготовил загрузочный USB-накопитель с Debian 10; 2) скопировал свой preseed.cfg как "preseed.txt" в домашний каталог флешки; 3) выбрал "Дополнительно > Автоматическая установка" в меню установки; 4) указал: file:///cdrom/preseed.txt в качестве файла Preseed;
PS: с именем "preseed.cfg" не сработало.