В силу технических ограничений, не всегда есть возможность запустить установку системы с образа диска. В качестве примера возьмем 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 закончена.