LaurVas

Использование утилиты debootstrap

debian

Debootstrap — это первый шаг в ручной установке Debian и при подготовке линукс-контейнера на основе Debian или Ubuntu. Благодаря ему в пустом каталоге зарождается жизнь.

Чтобы не повторять одно и то же в трёх местах, я вынес этот шаг в отдельный пост.

Утилита Debootstrap устанавливается из одноимённого пакета. Он точно есть в Debian, Ubuntu, Archlinux и Gentoo. Наверняка есть и в других дистрибутивах. В конце концов это всего лишь набор shell-скриптов.

Не обязательно, но очень желательно иметь дебиановские gpg-ключи, чтобы debootstrap мог проверить аутентичность устанавливаемых deb-пакетов. В Archlinux эти ключи можно установить из AUR: debian-archive-keyring и ubuntu-keyring.

Если нет возможности получить gpg-ключи с помощью пакетного менеджера, то придётся вручную выковырять их из deb-пакета. Для этого ищем нужный пакет на packages.debian.org и скачиваем в какую-нибудь временную директорию. Прямые ссылки: debian-archive-keyring, ubuntu-archive-keyring, kali-archive-keyring.

Распаковка:

$ ar vx package.deb && tar xf data.tar.[gx]z

Файл с ключами запрятан в usr/share/keyrings, лучше переложить его в более подходящее место.

По умолчанию debootstrap разворачивает систему такой же архитектуры, как у вашего хоста. Если нужна другая архитектура, понадобится ключ --arch, например --arch=i386.

Если gpg-ключ репозитория лежит не там, где ожидает debootstrap, то необходимо указать путь вручную: --keyring=/path/to/keyring.gpg.

Спортсмены могут добавить ключ --variant=minbase. Также может оказаться полезным ключ --print-debs. Подробнее см. debootstrap --help или man debootstrap.

Первый аргумент команды — релиз Debian или Ubuntu. Второй аргумент — каталог, в который debootstrap будет разворачивать пакеты — корень будущей ОС. Для systemd-nspawn стандартным местом для контейнеров является /var/lib/machines. Не обязательно держать контейнеры именно там, сгодится любой каталог.

Различные версии Debian:

# debootstrap stable ./debian-stable http://mirror.yandex.ru/debian
# debootstrap squeeze ./squeeze http://archive.debian.org/debian
# debootstrap wheezy ./wheezy http://mirror.yandex.ru/debian
# debootstrap jessie ./jessie http://mirror.yandex.ru/debian

Различные версии Ubuntu:

# debootstrap precise ./precise http://mirror.yandex.ru/ubuntu
# debootstrap trusty ./trusty http://mirror.yandex.ru/ubuntu
# debootstrap xenial ./xenial http://mirror.yandex.ru/ubuntu

Различные версии Kali Linux:

# debootstrap kali-rolling ./kali-rolling http://archive.kali.org/kali
# debootstrap sana ./kali-sana http://old.kali.org/kali

В моём случае система развёрнута в ./jessie. Проверяем архитектуру:

# chroot jessie dpkg --print-architecture
или
# systemd-nspawn -D jessie dpkg --print-architecture