Многие руководства по установке слишком переусложнены из-за использования специфических утилит типа 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:+256M --typecode=1:ef00 /dev/sdb
sgdisk -a 4096 -n 2:0:+8G --typecode=2:8200 /dev/sdb
sgdisk -a 4096 --largest-new=3 --typecode=3:8300 /dev/sdb
GPT для USB флешки
sgdisk --zap-all /dev/sdb
sgdisk -o /dev/sdb
sgdisk -a 4096 -n 1:0:+512M --typecode=1:ef00 /dev/sdb
sgdisk -a 4096 --largest-new=2 --typecode=2:8300 /dev/sdb
Форматирование разделов
XFS для жёсткого диска
Почему XFS? Потому, что динамической выделение inode, удобно для большого количества мелких файлов, например если у вас много git проектов
mkfs.vfat /dev/sdb1
mkswap --force /dev/sdb2
mkfs.xfs -f /dev/sdb3
EXT4 для USB флешки
mkfs.vfat /dev/sdb1
mkfs.ext4 -F /dev/sdb2
Монтируем файловые системы
Для жёсткого диска
mount /dev/sdb3 /mnt
mkdir /mnt/{boot,dev,sys,proc}
mkdir /mnt/boot/efi
mount /dev/sdb1 /mnt/boot/efi
Для USB флешки
mount /dev/sdb2 /mnt
mkdir /mnt/{boot,dev,sys,proc}
mkdir /mnt/boot/efi
mount /dev/sdb1 /mnt/boot/efi
Установка базовой системы
Мой джентльменский набор содержит немного вспомогательных утилит для системного администрирования
dnf -y --installroot=/mnt --releasever=33 group install standard core hardware-support development-libs development-tools
dnf -y --installroot=/mnt install gpart gdisk rsync nano tcpdump tcsh net-tools bind-utils sysstat xfsprogs atop
Устанавливаем загрузчик
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
dnf -y --installroot=/mnt --releasever=33 install kernel grub2-efi-x64 grub2-efi-x64-modules grub2-tools-efi shim
chroot /mnt grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Создание файла fstab
uuid очень удобен и хорош для поиска разделов в "мутной водице" среди правильно или неправильного распознания дисков в системе.
Для жёсткого диска
blkid --output export /dev/sdb3 | grep ^UUID= | xargs -I '{}' echo {} / xfs defaults 0 0 > /mnt/etc/fstab
blkid --output export /dev/sdb2 | grep ^UUID= | xargs -I '{}' echo {} swap swap defaults 0 0 >> /mnt/etc/fstab
Для USB флешки
blkid --output export /dev/sdb2 | grep ^UUID= | xargs -I '{}' echo {} / ext4 rw,relatime 0 0 > /mnt/etc/fstab
Дорисовываем сову
На самом деле здесь можно много чего добавить относительно настройки новой системы. К примеру установить пароль, добавить пользователей и другое.
# Set password
echo 'root:123' | chpasswd --root /mnt
groupadd --root /mnt admin
useradd --root /mnt -m -d /home/admin -s /bin/bash -g admin admin
echo 'admin:admin' | chpasswd --root /mnt
# SElinux to mode Permissive
sed -i s/^SELINUX=.*$/SELINUX=permissive/ /mnt/etc/selinux/config
Размонтируем файловые системы
umount /mnt/dev
umount /mnt/sys
umount /mnt/proc
umount /mnt/boot/efi
umount /mnt
Заключение
Такой вариант установки может подойти для bare-metal установки, подготовки инструмента для восстановления систем
amarao
Грязновато.
Плюс конфигурация через cloud-init через configdrive. Заметим, для появления "клона" нужны только родные мирроры и ничего кроме.
RemiZOffAlex Автор
Это не клон, а чистая установка с официальных зеркал
amarao
Я это и имею в виду под словом "клон". ОС сама себя размножает. Внутри там ванильная установка, разумеется, с нуля.
Кстати, diskimage-builder и федору тоже умеет, правда, я не уверен, что чистым образом.