
Мне нравится использовать Fedora, и в настоящее время я рекомендую ее в качестве своего дистрибутива для нетехнических пользователей. Однако я никогда не мог использовать его на своей основной машине, потому что я нахожу метод установки слишком ограниченным. Я использовал несколько странных схем для разделов на протяжении многих лет; похоже, автоматизированные средства разметки наконец-то получили хорошую поддержку LVM, но теперь я перешел на другую схему, включающую подтома btrfs, которые, как я видел, не может использовать ничто из того, что может использовать. И в любом случае, наложение их друг на друга с шифрованием и RAID и другими сопоставлениями устройств может быть чревато, и часто полученная схема неоптимальна, даже если автоматизированный инструмент якобы поддерживает ее.
Я предпочитаю метод, при котором я вручную размещаю разделы и блочные устройства в соответствии со своими предпочтениями, затем монтирую все в правильных местах и выполняю процедуру установки, которая предполагает это. Arch и Exherbo используют этот метод. Кажется, технически, что не должно быть никаких причин, по которым это не сработало бы для автоматически устанавливаемого дистрибутива; для этого требуется только полностью пропустить шаг разбиения на разделы.
Каковы общие параметры использования этого метода в дистрибутивах, которые обычно устанавливаются автоматически? Меня больше всего интересует Fedora, но я также хотел бы увидеть отзывы о других распространенных дистрибутивах, таких как CentOS, Mint, Ubuntu и т. д.
решение1
Fedora, как и все дистрибутивы на базе RHEL, использует файлы «ответов» kickstart.
Кикстарт может содержать строки, похожие на:
bootloader --location=mbr --driveorder=sda --append="exec-shield=1 selinux=1 rhgb rhgb quiet quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --none
ignoredisk --drives=sdb
part pv.253002 --onpart=sda2 --noformat --encrypted
part /boot --fstype=ext4 --onpart=sda1
volgroup vg_main --pesize=32768 --useexisting --noformat pv.253002
logvol / --fstype=ext4 --name=lv_root --vgname=vg_main --useexisting --noformat
logvol swap --name=lv_swap --vgname=vg_main --useexisting --noformat
И т. д.
Полное описание формата кикстарта доступно по адресуpykickstart на github
Специально для ваших нужд:
btrfs:
Определяет том или подтом BTRFS. Эта команда имеет форму:
btrfs <mntpoint> --data=<level> --metadata=<level> --label=<label> <partitions*>
для объемов и формы:
btrfs <mntpoint> --subvol --name=<path> <parent>
для подтомов.
дмрейд:
dmraid --name= --dev=
рейд:
Собирает программное RAID-устройство. Эта команда имеет вид:
raid <mntpoint> --level=<level> --device=<mddevice> <partitions*>
И самое важное - part
у которого слишком много опций, чтобы перечислять их здесь.
Достаточно сказать, что part
or partition
- ваш основной инструмент для определения хранилища, до btrfs.
part raid.01 --size=6000 --ondisk=sda
part raid.02 --size=6000 --ondisk=sdb
part raid.03 --size=6000 --ondisk=sdc
part swap1 --size=512 --ondisk=sda
part swap2 --size=512 --ondisk=sdb
part swap3 --size=512 --ondisk=sdc
part raid.11 --size=6000 --ondisk=sda
part raid.12 --size=6000 --ondisk=sdb
part raid.13 --size=6000 --ondisk=sdc
raid / --level=1 --device=md0 raid.01 raid.02 raid.03
raid /usr --level=5 --device=md1 raid.11 raid.12 raid.13
Обязательно используйте clearpart --all
, если вы планируете создать раздел с помощью языка Anaconda, и clearpart --none
если вы предоставляете уже существующую схему (создана вручную или с использованием, %pre
как предложено @mattdm).
Чтобы использовать кикстарт во время установки, добавьте следующее:
linux ks=nfs:<server>:/<path>
Конечно, доступно много других вариантов для получения файла:прямой путь на устройстве cd/iso, http, bios и т. д.
решение2
Используйте kickstart. Fedora упрощает это для вас, после ручной установки она оставляет в корневом каталоге файл "anaconda-ks.cfg". Это по сути ваш стартовый poing, откуда вы можете настроить все для своей собственной установки. Это тот же процесс для fedora, centos и rhel.
При загрузке Fedora, например, из образа Fedora iso, вы можете указать на этот файл. Я предпочитаю размещать такой файл на http-сервере, но, как вы видите, его можно разместить на любом носителе. https://www.centos.org/docs/5/html/5.1/Installation_Guide/s1-kickstart2-startinginstall.html
решение3
Тыможетиспользуйте kickstart. Однако вместо использования обычных команд разбиения на разделы используйте %pre
секцию для запуска parted
и другие инструменты для создания любой желаемой схемы. Смотритедокументы на %pre. Или вы можете сделать это вручную с загрузочного USB-накопителя.
В любом случае, обязательно отдайте clearpart --none
, чтобы это не пропало.
Затем используйте part --usepart
для указания существующих устройств. Вы --noformat
также можете добавить, если вы сами занимались созданием файловой системы.
(Это задокументированов руководстве по установке Fedora.)
Если ваши потребности более конкретны, чем те, которые вам предоставят автоматизированные инструменты, но не являются чем-то экзотическим, вам не следуетнуждатьсяkickstart — просто создайте свою схему вручную, а затем в установщике вручную сопоставьте имеющиеся устройства по желанию.