Тиражирование Fedora из-под Fedora

от автора

Многие руководства по установке слишком переусложнены из-за использования специфических утилит типа anaconda, livecd-tools, Fedora Media Writer и других, или создания файла сценария kickstart. В системе Fedora уже имеются необходимые средства для настраиваемой установки. Эта статья покажет пример для установки на USB флешку и на жёсткий диск

Внимание! Всё, что вы делаете, вы делаете на свой страх и риск, т.к. операции из этого руководства могут привести к частичной или полной потере данных.

Примечание: Предположительно используется базовая система, установленная на /dev/sda, а целевой диск или флешка подключены к /dev/sdb. В вашем случае это может быть другой диск, к примеру SSD M.2 накопитель, распознанный системой как /dev/nvme0n1

Разметка диска

GPT для жёсткого диска большого размера

sgdisk --zap-all /dev/sdb sgdisk -o /dev/sdb sgdisk -a 4096 -n 1:0:+1M --typecode=1:ef02 /dev/sdb # BIOS Boot sgdisk -a 4096 -n 2:0:+1G --typecode=2:8300 /dev/sdb # /boot sgdisk -a 4096 -n 3:0:+8G --typecode=3:8200 /dev/sdb # swap sgdisk -a 4096 --largest-new=4 --typecode=4:8300 /dev/sdb # XFS sgdisk -A 1:set:2 /dev/sdb

MBR для USB флешки

sfdisk /dev/sdb << EOF label: dos device: /dev/sdb unit: sectors sector-size: 512  /dev/sdb1 : start=        2048, type=83, bootable EOF

Форматирование разделов

XFS для жёсткого диска

Почему XFS? Потому, что динамической выделение inode, удобно для большого количества мелких файлов, например если у вас много git проектов

mkfs.ext4 -F /dev/sdb2 mkswap --force /dev/sdb3 mkfs.xfs -f /dev/sdb4

EXT4 для USB флешки

mkfs.ext4 -b 1024 /dev/sdb1

Монтируем файловые системы

Для жёсткого диска

mount /dev/sdb4 /mnt mkdir /mnt/{boot,dev,sys,proc} mount /dev/sdb2 /mnt/boot

Для USB флешки

mount /dev/sdb1 /mnt mkdir /mnt/{boot,dev,sys,proc}

Установка базовой системы

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

dnf -y --installroot=/mnt --releasever=33 group install standard core \ hardware-support development-libs development-tools dnf -y --installroot=/mnt install iptables gpart gdisk rsync nano tcpdump \ tcsh grub2-pc net-tools bind-utils sysstat xfsprogs

Устанавливаем загрузчик

mount --bind /dev /mnt/dev mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc  cp /etc/resolv.conf /mnt/etc  chroot /mnt /bin/tcsh  dnf -y install kernel grub2-install /dev/sdb grub2-mkconfig -o /boot/grub2/grub.cfg  exit

Внимание! С копированием resolv.conf будьте внимательны после, т.к. на текущий момент есть особенности использования с демоном systemd-resolved

Создание файла fstab

uuid очень удобен и хорош для поиска разделов в «мутной водице» среди правильно или неправильного распознания дисков в системе.

Для жёсткого диска

blkid --output export /dev/sdb2 | grep ^UUID= | xargs -I '{}' echo {} /boot ext4 rw,relatime 1 2 > /mnt/etc/fstab blkid --output export /dev/sdb4 | grep ^UUID= | xargs -I '{}' echo {} / xfs rw,relatime 0 0 > /mnt/etc/fstab blkid --output export /dev/sdb3 | grep ^UUID= | xargs -I '{}' echo {} swap swap defaults 0 0 > /mnt/etc/fstab

Для USB флешки

blkid --output export /dev/sdb1 | grep ^UUID= | xargs -I '{}' echo {} / ext4 rw,relatime 0 0 > /mnt/etc/fstab

Дорисовываем сову

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

echo 'root:123' | chpasswd --root /mnt

Размонтируем файловые системы

Для жёсткого диска

umount /mnt/dev umount /mnt/sys umount /mnt/proc umount /mnt/boot umount /mnt

Для USB флешки

umount /mnt/dev umount /mnt/sys umount /mnt/proc umount /mnt

Заключение

Такой вариант установки может подойти для bare-metall установки, подготовки инструмента для восстановления систем

ссылка на оригинал статьи https://habr.com/ru/post/540942/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *