Установка Debian · 5 min read · Nov 13, 2025
Как удаленно установить Debian на дистрибутиве на базе RH
Как удаленно установить Debian на дистрибутиве на базе RH
Введение
Иногда серверам необходимо изменить назначение по различным причинам. Всегда было сложно, когда сервер имеет дистрибутив, отличный от того, что мне нужно. Я не хочу ехать в дата-центр, чтобы менять CD-диски, поэтому я решил посмотреть, есть ли способ удаленно установить машину. Я нашел некоторые заметки Эрика Якобсена и использовал их, чтобы создать актуальное руководство.
Надеюсь, это будет полезно другим. Будьте осторожны, вы можете создать себе серьезные проблемы. Я не даю никаких гарантий, явных или подразумеваемых, что это сработает для вас.
В этом руководстве у меня есть старая машина Fedora Core 3, которую мне нужно превратить в машину Debian Etch. Машина находится в 600 милях от моего домашнего офиса, поэтому поездка для установки CD-дисков не является экономически целесообразным вариантом. Система имеет один жесткий диск на 80 ГБ, который в настоящее время разделен на 3 раздела: 100 МБ для /boot, 1 ГБ для swap и остальная часть как / для установки Fedora Core. Машина имеет публичный статический IP-адрес и будет доступна через SSH-соединение.
Вам нужно убедиться, что ваше пространство подкачки достаточно. Мы загрузим базовую систему Debian в пространство, которое в настоящее время выделено для swap, поэтому вам нужно убедиться, что у вас достаточно места для выполнения этой задачи. В моем случае я использовал 371 МБ пространства из 1012 МБ swap, когда была загружена базовая система Debian, оставив мне 590 МБ свободного места.
1) Установите debootstrap
Если у вас есть другая машина Debian, вы можете собрать пакет debootstrap самостоятельно. Вы можете скачать последний .deb файл debootstrap отсюда:
http://packages.debian.org/etch/all/debootstrap/download
На машине сборки Debian установите alien:
apt-get install alienЗатем вам нужно преобразовать .deb файл Debian в RPM для использования на машине RH:
alien -rkv debootstrap*.debЭто создаст RPM файл debootstrap, который вам нужно установить на текущей машине на базе RH, как только вы его перенесете:
rpm -Uvh debootstrap*Я сделал копию RPM доступной на случай, если вы не сможете собрать ее по какой-либо причине. Вы можете скачать RPM с http://v2gnu.com/filemgmt/visit.php?lid=27. Я предоставляю этот файл, но не буду обновлять его.
2) Измените пространство подкачки на используемую файловую систему
Остальная часть этой статьи будет выполняться на машине RH, которую мы будем преобразовывать в машину на базе Debian.
Выключите ваше пространство подкачки, чтобы мы могли загрузить Debian на него:
swapoff -aИспользуйте
fdisk -lчтобы увидеть, какой раздел является вашим пространством подкачки. На моей системе пространство подкачки - это /dev/hda2:
Диск /dev/hda: 80.0 ГБ, 80026361856 байт
255 голов, 63 сектора/трек, 9729 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 144 1052257+ 82 Linux swap
/dev/hda3 145 9729 76991512+ 83 Linux
Используйте fdisk, чтобы изменить пространство подкачки на раздел Linux, чтобы мы могли загрузить данные в него.
ПРЕДУПРЕЖДЕНИЕ - Вы сейчас входите в точку невозврата, где ваша система может стать непригодной для использования!
fdisk /dev/hdaКоманда (m для помощи): t
Номер раздела (1-4): 2 (измените это на номер вашего раздела swap!)
Шестнадцатеричный код (введите L для списка кодов): 83
Изменен тип системы раздела 2 на 83 (Linux)
Команда (m для помощи): w
Таблица разделов была изменена!
Вызов ioctl() для повторного чтения таблицы разделов.
ПРЕДУПРЕЖДЕНИЕ: Повторное чтение таблицы разделов не удалось с ошибкой 16: Устройство или ресурс заняты.
Ядро все еще использует старую таблицу.
Новая таблица будет использована при следующей перезагрузке.
Синхронизация дисков.
Дважды проверьте, чтобы убедиться, что раздел swap (/dev/hda2) теперь является разделом Linux:
fdisk -lДиск /dev/hda: 80.0 ГБ, 80026361856 байт
255 голов, 63 сектора/трек, 9729 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 144 1052257+ 83 Linux
/dev/hda3 145 9729 76991512+ 83 Linux
Теперь нам нужно отформатировать этот раздел как ext3, чтобы мы могли загрузить базу Debian на него:
mke2fs -j /dev/hda2mke2fs 1.35 (28-Фев-2004)
max_blocks 269377536, rsv_groups = 8221, rsv_gdb = 64
Метка файловой системы=
Тип ОС: Linux
Размер блока=4096 (log=2)
Размер фрагмента=4096 (log=2)
131616 inode, 263064 блоков
13153 блока (5.00%) зарезервировано для суперпользователя
Первый блок данных=0
Максимальное количество блоков файловой системы=272629760
9 групп блоков
32768 блоков на группу, 32768 фрагментов на группу
14624 inode на группу
Резервные копии суперблока хранятся на блоках:
32768, 98304, 163840, 229376
Запись таблиц inode: готово
inode.i_blocks = 2568, i_size = 4243456
Создание журнала (8192 блока): готово
Запись суперблоков и информации об учете файловой системы: готово
Эта файловая система будет автоматически проверяться каждые 32 монтирования или 180 дней, в зависимости от того, что наступит раньше. Используйте tune2fs -c или -i, чтобы переопределить.
Существовала проблема со старыми дистрибутивами Debian, которые не принимали флаг dir_index. Эта проблема может или не может присутствовать в новых версиях. Мы собираемся отключить его, чтобы быть на безопасной стороне:
tune2fs -O ^dir_index /dev/hda23) Загрузите пакеты Debian на новый раздел
Далее мы создаем переменную для нового раздела, чтобы сократить набор текста. Мы использовали $ASD как произвольное место для замены, так как это было проще и быстрее, чем /dev/hda2. Не стесняйтесь заменить любое имя переменной, которое удобно для вас:
export ASD=/mnt/asdЗатем мы создаем каталог, который будет служить точкой монтирования:
mkdir -p $ASDИ, наконец, мы монтируем новый раздел:
mount /dev/hda2 $ASDС этого момента мы можем использовать $ASD вместо /dev/hda2.
Теперь мы запускаем debootstrap, который займет некоторое время и заполнит необходимые пакеты. Вы будете выбирать архитектуру (здесь i386), дистрибуцию (здесь используется Etch), каталог и URL для архива Debian. Для URL в конце это может быть любой действительный зеркальный сайт Debian. Вам рекомендуется выбрать зеркало, ближайшее к вашему географическому положению. Список доступных зеркал доступен на главном сайте Debian, в частности здесь: http://www.debian.org/mirror/list.
Я собираюсь использовать одно из более постоянных зеркал, так что это может быть немного медленно, но не стесняйтесь использовать любое зеркало, которое вы хотите (даже ваш собственный репозиторий!):
/usr/sbin/debootstrap --arch i386 etch $ASD http://mirrors.kernel.org/debianЭто займет некоторое время. Пойдите выпейте чашку кофе или закажите пиццу. Как только это будет завершено, у вас будут установлены базовые пакеты Debian на новом разделе ($ASD).
Get new posts in your inbox
No spam. Unsubscribe anytime.