Установка Debian в Debootstrap

Дата: 25.02.2016Метки:

В силу технических ограничений, не всегда есть возможность запустить установку системы с образа диска. В качестве примера возьмем Kimsufi. У сервера нет KVM консоли, но зато есть возможность загрузиться в режиме восстановления. Затем мы можем установить любую версию Debian или Ubuntu через Debootstrap.

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

Вне зависимости для чего вы используете Debootstrap, первым делом необходимо подготовить выполнить разметку диска установки системы. Вы можете выполнить ее самостоятельно или использовать материал по указанной мной ссылке. Важно отметить, что содержимое файла fstab будет зависеть от выбранной вами разметки диска.

1. Монтирование раздела

Когда файловая система готова, вам необходимо примонтировать раздел на который будет установлена система.

mkdir /media/root
mount -t ext4 /dev/vg1/root /media/root

В примере /dev/vg1/root — lvm раздел на диске, который монтируется в каталог /media/root. Следует отметить, что названия раздела в примере это частный случай и может отличаться от вашего.

2. Установка Debootstrap

Выполним установку Debootstrap:

apt-get install debootstrap

Просмотреть список доступных скриптов для установки дистрибутивов можно выполнив команду:

# ls /usr/share/debootstrap/scripts/
aequorea     edgy       hoary            karmic     oneiric  sarge.buildd      stretch   warty         xenial
bartholomea  etch       hoary.buildd     lenny      potato   sarge.fakechroot  testing   warty.buildd
breezy       etch-m68k  intrepid         lucid      precise  saucy             trusty    wheezy
chromodoris  feisty     jaunty           maverick   quantal  sid               unstable  wily
dapper       gutsy      jessie           natty      raring   squeeze           utopic    woody
dasyatis     hardy      jessie-kfreebsd  oldstable  sarge    stable            vivid     woody.buildd

Если нужного дистрибутива нет в списке, попробуйте установить свежую версию Debootstrap. Скачайте и установите dep-пакет Debootstrap для Debian или Ubuntu по одной из ссылок ниже:

http://ftp.ru.debian.org/debian/pool/main/d/debootstrap/
http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/

Краткая инструкция по установке Debootstrap из dep-пакета:

cd /tmp
wget -O debootstrap.deb http://ftp.ru.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.80_all.deb
dpkg -i debootstrap.deb

Запустим процесс копирования системных файлов с помощью утилиты Debootstrap. Для примера укажу сразу две команды для установки Debain или Ubuntu. После параметра —arch необходимо указать кодовое имя и разрядность дистрибутива (i386 или amd64).

3. Начальная установка

debootstrap --include=openssh-server,locales,nano --arch amd64 jessie /media/root http://ftp.fr.debian.org/debian
debootstrap --include=openssh-server,locales,nano --arch amd64 xenial /media/root http://ru.archive.ubuntu.com/ubuntu

Чтобы система увидела устройства, введите в консоли:

mount -o bind /dev /media/root/dev
mount -o bind /proc /media/root/proc
mount -o bind /sys /media/root/sys

Теперь можно войти в новую систему используя chroot:

LANG=en-US.UTF-8 chroot /media/root

4. Настройка локали и времени

У себя я получил вот такое предупреждение:

bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

В этом случае просто выполните команды:

dpkg-reconfigure locales
locale-gen en_US.UTF-8

Для вывода диалога настройки времени:

dpkg-reconfigure tzdata

5. Настройка монтирования дисков

Откройте файл fstab:

nano /etc/fstab

Скопируйте в него следующие строки:

UUID="d1f91113-5f84-4a96-81a3-b53f06ec2e07"     /       ext4    errors=remount-ro       0       1
UUID="e20ec9d9-ef66-497a-827e-e0d105db51bf"     none    swap    defaults                0       0

Вам необходимо заменить UUID из примера выше на идентификаторы ваших разделов. Узнать UUID раздела можно утилитой blkid:

#  blkid /dev/vg1/root
/dev/vg1/root: UUID="d1f91113-5f84-4a96-81a3-b53f06ec2e07" TYPE="ext4"

# blkid /dev/vg1/swap
/dev/vg1/swap: UUID="e20ec9d9-ef66-497a-827e-e0d105db51bf" TYPE="swap"

6. Настройка сети

Укажите в файле hostname имя хоста:

nano /etc/hostname

И добавьте настройки сетевых интерфейсов:

nano /etc/network/interfaces

Для автоматического получения адреса по DHCP можете использовать настройки:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Где eth0 необходимо заменить на название своего интерфейса. Для уточнения информации используйте команду ifconfig.

7. Настройка зеркала репозиториев

Чтобы получить доступ к большему количеству пакетов в Debian, укажите в /etc/apt/sources.list следующий список репозиториев.

deb http://ftp.ru.debian.org/debian/ $DISTRO main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ $DISTRO main contrib non-free

deb http://security.debian.org/ $DISTRO/updates main contrib non-free
deb-src http://security.debian.org/ $DISTRO/updates main contrib non-free

deb http://ftp.ru.debian.org/debian/ $DISTRO-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ $DISTRO-updates main contrib non-free

deb http://ftp.ru.debian.org/debian/ $DISTRO-backports main
deb-src http://ftp.ru.debian.org/debian/ $DISTRO-backports main

deb http://ftp.ru.debian.org/debian/ experimental main
deb-src http://ftp.ru.debian.org/debian/ experimental main

Где вместо $DISTRO кодовое имя дистрибутива. Затем важно обновить список пакетов:

apt-get update

8. Настройка пользователей

Установите пароль на root:

passwd

На свой выбор создайте нового пользователя или разрешите авторизацию для root по ssh:

nano /etc/ssh/sshd_config

Установите значение параметра:

PermitRootLogin yes

Чтобы добавить нового пользователя superuser и добавить его в группу sudo:

adduser superuser
usermod -a -G sudo superuser

9. Установка ядра и загрузчика

Для установки стандартного ядра и дополнительный утилит просто выполните команду:

apt-cache search linux-image
apt-get install linux-image-amd64 grub-pc lvm2 sudo

10. Заключительный этап

Выходим из chroot и не забываем правильно размонтировать файловую систему:

exit
cd /
umount /media/root/dev
umount /media/root/proc
umount /media/root/sys
umount /media/root

На этом установка Debina/Ubuntu в Debootstrap закончена.