Как создается файл sources.list при установке?
Недавно я пытался создать собственный установщик Ubuntu iso из установщика 64-битного сервера Ubuntu 16.04 с целью редактирования /etc/apt/sources.list
файл. Я распаковал iso, расширил файловую систему squashfs, сделал в ней chroot и отредактировал /etc/apt/sources.list
файл. Затем я перепаковал файловую систему, заново сгенерировал md5sum и сгенерировал новый ISO-образ. Казалось бы, все это работает, и iso-образ может загружаться и использоваться для установки Ubuntu.
При этом я заметил, что файл sources.list, который я редактировал, был намного меньше, чем обычный исходный файл. Он содержал только "основной" компонент для зеркала archive.ubuntu.com и аналогичные записи для зеркал безопасности и обновлений. Когда я установил с новой ISO, /etc/apt/sources.list
файл был полным файлом, который я привык видеть, в комплекте со всеми компонентами репозитория, такими как юниверс и т. д. Файл источника также, кажется, основан на моем местоположении, так как все записи использовали URL gb.archive.ubuntu.
Я предполагаю, что отредактировал только файл, используемый в процессе установки, который не влиял на исходный файл в окончательной установке.
Как выглядит финальная версия /etc/apt/sources.list
файл, созданный при установке операционной системы, и могу ли я повлиять на это, не перекомпилировав apt?
1 ответ
Для генерации sources.list
:
- Установщик Ubuntu, Ubiquity, вызывает его
apt-setup
составная часть - который, в свою очередь, вызывает установщик Debian
d-i
"sapt-setup
скрипт - который, в свою очередь, использует различные сценарии генератора для
sources.list
(а такжеapt.conf
).
Если то, что вы хотите сделать, это выбрать зеркало страны, посмотрите на предпосевную. Установщик Ubiquity поддерживает ограниченное предварительное заполнение, но варианты включают:
- настройка страны (ключ:
countrychooser/shortlist
) - запуск сценария после установки и замена вручную
sources.list
(Ключ:ubiquity/success_command
)