Fedora 的手动安装方法

Fedora 的手动安装方法

我喜欢使用 Fedora,现在推荐它作为非技术用户的首选发行版。然而,我一直没能在我的主机上使用它,因为我发现安装方法太有限了。多年来,我使用了许多奇怪的分区排列方式;看来自动分区器现在终于对 LVM 有了很好的支持,但我现在转向了涉及 btrfs 子卷的不同方案,我还没有见过可以使用它的方案。无论如何,使用加密和 RAID 以及其他设备映射对这些进行分层可能会令人担忧,而且即使自动化工具声称支持它,生成的安排通常也不是最佳的。

我的首选方法是根据自己的喜好手动排列分区和块设备,然后将所有内容安装在正确的位置并执行假设的安装过程。 Arch 和 Exherbo 都使用这种方法。从技术上讲,这似乎没有理由不适用于自动安装的发行版;它只需要完全跳过分区步骤。

在通常自动安装的发行版中使用此方法的一般选项是什么?我对 Fedora 最感兴趣,但也希望看到有关其他常见发行版(例如 CentOS、Mint、Ubuntu 等)的意见。

答案1

Fedora 与所有 RHEL 风格的发行版一样,使用 kickstart“应答”文件。

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

ETC。

kickstart 格式的完整描述可从github 上的 pykickstart

专门针对您的需求:

btrfs:

定义 BTRFS 卷或子卷。该命令的形式为:

btrfs <mntpoint> --data=<level> --metadata=<level> --label=<label> <partitions*>

对于卷和形式:

btrfs <mntpoint> --subvol --name=<path> <parent>

对于子卷。

dmraid:

dmraid --name= --dev=

袭击:

组装软件 RAID 设备。该命令的形式为:

raid <mntpoint> --level=<level> --device=<mddevice> <partitions*>

最重要的是 -part这里有太多选项无法列出。
可以这么说,partorpartition是在 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 的建议使用),请务必使用。

要在安装过程中使用 kickstart,请在安装过程中添加以下内容: linux ks=nfs:<server>:/<path>
当然,还有许多其他选项可用于获取文件:cd/iso 、 http 、 BIOS 设备等上的直接路径

答案2

使用启动。 Fedora 让这一切变得简单,手动安装后,它会在根目录中留下文件“anaconda-ks.cfg”。这基本上是您的起始位置,您可以从这里为您自己的安装配置所有内容。 Fedora、centos 和 rhel 的过程相同。

在 Fedora 启动(例如从 Fedora iso)上,您可以指向此文件。我更喜欢将此类文件放在 http 服务器上,但正如您所看到的,它可以放在任何介质上。 https://www.centos.org/docs/5/html/5.1/Installation_Guide/s1-kickstart2-startinginstall.html

答案3

使用启动。但是,不要使用普通的分区命令,而是使用%pre要运行的部分parted和其他工具来创建您想要的任何方案。请参阅%pre 上的文档。或者,您可以通过实时 USB 启动手动执行此操作。

不管怎样,一定要付出clearpart --none,这样就不会被消灭。

然后,用于part --usepart指定现有设备。--noformat如果您也自己处理过文件系统创建,则可以添加。

(这是有记录的在 Fedora 安装指南中.)

如果您的需求比自动化工具更具体,但又不是特别奇特,那么您就不需要需要kickstart — 只需手动创建您的方案,然后在安装程序中,根据需要手动匹配您的现有设备。

相关内容