Подробный гайд: собрать Debian своими руками

Пошаговый гайд по сборке кастомного Debian: debootstrap, chroot, live-build. Создайте минимальную систему и свой загрузочный ISO-образ для сервера или ПК.

2026.05.28                  


Подробный гайд: собрать Debian своими рукамиПодробный гайд: собрать Debian своими руками Сборка Debian «своими руками» — задача нетривиальная, потому что Debian не предназначен для компиляции «с нуля» (в отличие от LFS). Это дистрибутив, построенный на бинарных пакетах, репозиториях и автоматизированных сборочных системах. Однако вы можете создать минимальную систему, настроить её под себя и упаковать в установочный ISO. Ниже приведён практический, безопасный и официально поддерживаемый путь.

Важно: Все команды выполняйте в виртуальной машине или на тестовой машине. Не используйте результат на продуктивных системах без проверки.


Что значит «собрать Debian»?

  1. Минимальная системаdebootstrap
  2. Кастомный установочный ISOlive-build
  3. Сборка отдельных пакетов из исходниковdpkg-buildpackage / sbuild
  4. Официальные установочные образыdebian-cd (для разработчиков дистрибутива)

В этом гайде рассмотрим путь 1 + 2: создадим минимальную систему, настроим её и соберём загрузочный ISO.


Подготовка

# На хост-машине (Debian/Ubuntu)
sudo apt update
sudo apt install debootstrap debian-archive-keyring live-build \
                 qemu-system-x86 kpartx squashfs-tools
  • Рекомендуется использовать Debian Stable или Testing на хосте.
  • Выделите минимум 10 ГБ свободного места.
  • Все дальнейшие шаги можно делать в директории ~/debian-custom/.

Шаг 1. Создаём минимальную систему через debootstrap

mkdir ~/debian-custom/chroot
sudo debootstrap --arch=amd64 stable ~/debian-custom/chroot https://deb.debian.org/debian/
  • stable → можно заменить на testing или bookworm/trixie.
  • Если нужно другое зеркало, укажите его вместо https://deb.debian.org/debian/.

Шаг 2. Входим в chroot и готовим окружение

sudo mount --bind /dev ~/debian-custom/chroot/dev
sudo mount --bind /dev/pts ~/debian-custom/chroot/dev/pts
sudo mount --bind /proc ~/debian-custom/chroot/proc
sudo mount --bind /sys ~/debian-custom/chroot/sys
sudo mount --bind /run ~/debian-custom/chroot/run

sudo chroot ~/debian-custom/chroot /bin/bash

Внутри chroot:

export DEBIAN_FRONTEND=noninteractive
apt update

# Базовые настройки
echo "deb https://deb.debian.org/debian stable main contrib non-free non-free-firmware" > /etc/apt/sources.list
echo "deb https://deb.debian.org/debian stable-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list

dpkg-reconfigure tzdata  # часовой пояс
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8

Шаг 3. Устанавливаем ядро, загрузчик и базовые пакеты

apt install linux-image-amd64 grub-pc sudo openssh-server vim network-manager
  • grub-pc нужен только если вы планируете делать bootable образ на диск. Для ISO его можно не ставить.
- Настройка сети и пользователей:
passwd root
adduser --disabled-password --gecos "" youruser
usermod -aG sudo youruser
passwd youruser

echo "custom-debian" > /etc/hostname
echo "127.0.1.1 custom-debian" >> /etc/hosts
- Настройка fstab (для chroot достаточно):
echo "proc /proc proc defaults 0 0" > /etc/fstab
echo "sysfs /sys sysfs defaults 0 0" >> /etc/fstab
- Очистка:
apt clean
rm -rf /tmp/* /var/tmp/*

Выход из chroot:

exit
sudo umount ~/debian-custom/chroot/{dev/pts,dev,proc,sys,run}

Шаг 4. Собираем кастомный ISO через live-build

live-build — официальный инструмент Debian для создания live- и установочных образов.

mkdir ~/debian-custom/iso && cd ~/debian-custom/iso
lb config --distribution stable --architectures amd64 --bootappend-live "boot=live components quiet splash"

Настройка пакетов и конфигураций:

mkdir -p config/package-lists config/includes.chroot
echo "openssh-server vim sudo network-manager" > config/package-lists/custom.list

# Если хотите добавить файлы в образ:
cp ~/debian-custom/chroot/etc/hostname config/includes.chroot/etc/
# ... и т.д.

Сборка:

sudo lb build

После завершения в ~/debian-custom/iso/ появится live-image-amd64.hybrid.iso.


Проверка в QEMU:

qemu-system-x86_64 -m 2G -boot d -cdrom live-image-amd64.hybrid.iso

Бонус: Сборка отдельных пакетов из исходников

Если вам нужно собрать не систему, а конкретный пакет (например, patched nginx или custom kernel module):

sudo apt build-dep <package-name>
apt source <package-name>
cd <package-name-*>
dpkg-buildpackage -us -uc -b
sudo dpkg -i ../<package>*.deb

Для чистой сборки используйте sbuild или pbuilder (изолированное окружение, как у Debian Developers).


Официальная документация

Задача Ссылка
debootstrap manpage man debootstrap
Live Build Manual https://live-team.pages.debian.net/live-manual/
Debian Developer Reference https://www.debian.org/doc/manuals/developers-reference/
Сборка пакетов https://www.debian.org/doc/manuals/maint-guide/

Частые ошибки и советы

  1. Не компилируйте ядро вручную без необходимостиlinux-image-amd64 уже оптимизирован, содержит патчи безопасности и модули.
  2. Не редактируйте /etc в chroot без бэкапов → используйте debconf-set-selections или preseed для автоматизации.
  3. ISO не грузится? → проверьте UEFI/Legacy режим, Secure Boot, наличие grub-efi-amd64 или syslinux в live-build.
  4. Хотите репозиторий своих пакетов?reprepro или aptly.
  5. Хотите Debian "с нуля" как LFS? → посмотрите на debian-bootstrap или guix/nixos. Debian так не работает по дизайну.

Итог

  1. debootstrap → минимальная система
  2. chroot → настройка, ядро, пакеты, пользователи
  3. live-build → упаковываем в ISO
  4. Тестируем в VM, заливаем на флешку dd if=live.iso of=/dev/sdX bs=4M status=progress

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта