Установка Linux Переустановить ОС Ubuntu на CentOS 7 Практика Представим ситуацию, что хостинг-провайдер, у которого вы заказываете сервер, не предоставляет возможности установки CentOS 7 или KVM, чтобы установить ОС самостоятельно. Вы выбираете Ubuntu, и теперь вам необходимо переустановить текущую ОС - Ubuntu - на CentOS 7. Ожидаемый результат В результате ожидается загруженная с диска сервера и доступная по SSH ОС CentOS 7 Окружение Стенд на Ubuntu Подсказки 1. Скачиваем ISO-образ CentOS 7 Minimal (https://mirror.yandex.ru/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso) 2. Монтируем из него необходимые для получения rootfs образы (так же, как на уроке) 3. В корне текущей файловой системы (Ubuntu) создаём директорию для временного rootfs, копируем в неё содержимое rootfs CentOS, который мы монтировали на прошлом этапе 4. Копируем в директорию временного rootfs директорию Packages из ISO-образа CentOS 5. Делаем chroot в директорию временного rootfs (предварительно смонтировав /sys, /dev и /proc, как на уроке) 6. Устанавливаем пакет yum: rpm -i /Packages/yum-3.4.3-168.el7.centos.noarch.rpm --nodeps 7. Уже внутри chroot, монтируем раздел /dev/sda1 к директории /mnt ВАЖНО!!! После выполнения следующего пункта выходить из chroot не рекомендуется - вернуться в него не получится, а стенд придётся пересоздавать 8. Удаляем из примонтированного раздела директории bin boot etc home lib* media opt sbin snap srv usr var tmp чтобы очистить сервер от Ubuntu 9. Устанавливаем пакеты CentOS в примонтированный раздел: yum install -y --installroot=/mnt /Packages/*.rpm 10. Делаем chroot в директорию /mnt, куда установили пакеты CentOS 7 (не забываем монтировать /sys, /dev и /proc) 11. Настраиваем резолвинг доменных имён: echo "nameserver 8.8.8.8" > /etc/resolv.conf 12. Устанавливаем пакеты, необходимые для установки загрузчика: yum install grub2-pc -y 13. Отключаем SELinux, чтобы не мешал на этапе установки, так как настраивать его мы ещё не умеем (но обязательно научимся в будущем) Его конфиг находится в файле /etc/selinux/config 14. Узнаём параметры сети: 1. IP-адрес интерфейса eth0 командой ip a 2. IP-адрес сетевого шлюза командой ip route | grep default 15. Настраиваем сеть, в файл /etc/sysconfig/network-scripts/ifcfg-eth0 вносим следующее содержимое: TYPE=Ethernet BOOTPROTO=none IPADDR= GATEWAY= PREFIX=24 DNS1=8.8.8.8 DEFROUTE=yes NAME=eth0 DEVICE=eth0 ONBOOT=yes Вносим автоматическое монтирование /dev/sda1 в /etc/fstab Устанавливаем загрузчик grub2-install /dev/sda && grub2-mkconfig -o /boot/grub2/grub.cfg Перезагружаем стенд командой reboot -f (ключ f опасен, так как вызывает принудительную перезагрузку, но в этом случае нужен, чтобы перезагрузка точно не повисла) Теперь попробуйте подключиться к стенду под пользователем root. Так как мы не удаляли директорию /root, в ней остался SSH-ключ джампбокса, и подключение должно пройти без запроса пароля