Gentoo 安装不再劝退用 gentoo-install 快速完成系统部署【免费下载链接】gentoo-installA gentoo installer with a TUI interface that supports systemd and OpenRC, EFI and BIOS, as well as variable disk layouts using ext4, zfs, btrfs, luks and mdraid.项目地址: https://gitcode.com/gh_mirrors/ge/gentoo-install如果你对 Gentoo 心动已久却总被厚厚的手工安装手册劝退那么 gentoo-install 就是为你准备的礼物。它是一个带 TUI 菜单的 Gentoo 安装工具能把分区、stage3 下载解压、Portage 初始化、内核安装、引导配置这些环节全部自动化——无论是想先浅尝 Gentoo 的新手还是追求可重复安装的老手都能从中受益。一句话看懂它能做什么gentoo-install 的目标很朴素帮你把装好一个最小可用的 Gentoo 系统这件事从几小时的苦工变成十几分钟的等待。它像 Linux 内核的 menuconfig 一样先把所有安装决策集中到一个交互式菜单里让你逐项确认再一键执行。功能亮点速览能力说明交互式配置基于 dialog 的 TUI 菜单每个选项都带帮助说明无需背参数双启动方式同时支持 EFI推荐与 BIOS 引导双 init 系统一条配置切换 systemd 或 OpenRCstage3 自动匹配多磁盘方案内置单盘经典布局、ZFS 中心、Btrfs 中心、RAID0/RAID1 LUKS 等加密开箱即用原生支持 LUKS 与 ZFS 原生加密密钥可走口令或 keyfile自动化扩展可选安装 sshd 并注入公钥装完直接接 Ansible 等工具可脚本化全程以配置文件gentoo.conf驱动支持钩子函数深度定制开始前的准备环境与依赖安装前需要一台能启动 live 系统的机器推荐使用Arch Linux 的 live ISO——因为项目在安装过程中可能需要临时安装dialog、ZFS 支持等工具Arch 的滚动仓库做这件事最顺手。进入 live 环境后先准备好 git 和 clone 源码# Arch 系先安装 git再拉取项目 pacman -Sy git git clone https://gitcode.com/gh_mirrors/ge/gentoo-install cd gentoo-install小提示整个过程需要 root 权限建议直接在 root 下操作如果你用的是别的 live 环境请确认有dialogTUI 菜单的依赖没有就先用包管理器装上。快速上手三步完成最小安装整个流程可以压缩成三个动作配置 → 确认分区 → 等待安装。第一步生成配置。运行./configure会弹出 TUI 菜单。你可以用方向键浏览、回车进入子菜单、空格切换开关项底部有Select、Save、Help等按钮——遇到拿不准的选项按Help会弹出内建说明。./configure # 打开交互式配置器第二步保存配置并启动安装。配置器会要求你保存为gentoo.conf随后直接执行./install注意此时容易踩坑如果你选择手写配置文件而不是用 TUI 生成安装脚本会强制校验文件末尾的I_HAVE_READ_AND_EDITED_THE_CONFIG_PROPERLY标记。这个开关必须手动改成true目的是逼你通读一遍配置——别嫌麻烦这能避免很多低级失误。第三步确认分区方案。脚本在真正动盘之前会展示将要执行的分区操作让你复核确认无误后才会开始。之后的大多数步骤下载 stage3、同步 Portage、编译安装都不再需要你干预你可以安心去喝杯咖啡 ☕。若中途某个包编译失败脚本会给出明确提示并提供重试 / 跳过 / 进入临时 shell三个选项。核心配置详解改动这几个参数行为就大不一样gentoo.conf.example是官方注释最详尽的参考模板几乎每个变量都有使用说明。下面按改动后影响最大的顺序带你过一遍。1. 磁盘方案disk_configuration()函数这是整个配置的灵魂。模板里预置了多个现成布局函数你只需要在函数体里保留一行function disk_configuration() { create_classic_single_disk_layout swap8GiB typeefi lukstrue root_fsext4 /dev/sdX }上面的意思是在/dev/sdX上创建最经典的三分区boot / swap / root开启 LUKS 加密根分区文件系统用 ext4。换成下面这些行就能得到完全不同的系统形态布局函数适合场景关键参数create_classic_single_disk_layout单盘常规装机luks、root_fs、swapcreate_zfs_centric_layout想要压缩、快照、全盘加密的现代方案encrypt、compress、pool_typecreate_btrfs_centric_layout多盘 Btrfs 池含 raid0/raid1raid_type、lukscreate_raid0_luks_layout多块 NVMe 追求速度每块盘都会建 swap记得按盘数除一下create_raid1_luks_layout追求数据冗余坏一块盘还能启动每块盘都镜像 boot 分区进阶如果这些方案都不满足你可以把布局选成custom参考scripts/config.sh里各函数的实现手写自己的分区函数。2. 系统参数主机名、时区、语言HOSTNAMEgentoo TIMEZONEEurope/London KEYMAPus LOCALES # 额外要生成的 locale不需要就留空 LOCALEC.UTF-8 # 系统默认 locale这些字段的含义很直白。唯一要提醒的是KEYMAP会同时写入 initramfs如果启用了磁盘加密开机解锁时输入口令就会用到它——为了保险建议口令用纯英文字母数字避免键盘布局不同导致解不开锁。3. 网络systemd 与 OpenRC 各走各的路SYSTEMD_NETWORKDtrue # 开启 systemd-networkd SYSTEMD_NETWORKD_INTERFACE_NAMEen* # 匹配的网卡名 SYSTEMD_NETWORKD_DHCPtrue # 用 DHCP 自动获取地址注意这套配置只对 systemd 生效OpenRC 方案的网络逻辑固定是自动启动 dhcpcd无需也无法在这里调整。4. Gentoo 本体stage3、镜像与仓库STAGE3_VARIANTsystemd # 同时决定了 init 系统改成 openrc 即切换 PORTAGE_SYNC_TYPEgit # git 同步比 rsync 快得多 GENTOO_MIRRORhttps://mirror.leaseweb.com/gentoo USE_PORTAGE_TESTINGtrue # 打开 ~amd64 测试关键字装新版内核更省心 KERNEL_TYPEbin # bin预编译内核source本地编译其中KERNEL_TYPE值得一提默认的bin使用 Gentoo 官方预编译二进制内核 dracut 生成的 initramfs保证在常见硬件上都能直接启动想要原教旨的编译体验就改成source脚本会帮你装sys-kernel/gentoo-kernel并在本地完成编译。5. 加密密钥口令或 keyfile 二选一选用了带加密的磁盘方案后需要提供解锁密钥。最简单的做法是在运行./install前用环境变量传入export GENTOO_INSTALL_ENCRYPTION_KEYmy strong passphrase也可以改用随机生成的 keyfile参考gentoo.conf.example中的操作步骤。务必注意口令不要带换行符很多加密工具无法从 stdin 读取带换行的口令。进阶玩法让安装结果直接变成生产环境装完一个能启动的裸系统只是起点下面这几个技巧能让你把安装流程变成可复用的基础设施即代码。远程化你的新机器。在配置里填入ENABLE_SSHDtrue和ROOT_SSH_AUTHORIZED_KEYS公钥内容可多行装出来的系统会自带一份相当保守的 sshd 配置仅允许 ed25519 密钥、禁用密码登录、只放行 root。重启后你就能直接 SSH 进去接上 Ansible、Fora 之类的自动化工具继续部署整个配置阶段可以完全无人值守。内核升级不再手忙脚乱。装好的系统里会附带generate_initramfs.shEFI 系统在/boot/efi/BIOS 在/boot/bios/。升级内核的推荐流程是emerge 新内核 →eselect kernel set→ 备份旧内核与 initramfs → 运行generate_initramfs.sh生成新 initramfs → 拷贝新内核文件。这套流程在 README 的 Updating the kernel 一节有详细命令照着敲即可。系统出问题了直接 chroot 进去修。live 环境重启后如果想修已装好的系统把根分区挂载到/mnt然后./install --chroot /mnt它会自动挂载 /proc、/sys 等特殊文件系统并进入 chroot退出时再帮你清理挂载比手工 chroot 省掉一堆mount --bind。用钩子函数织入自定义步骤。配置文件末尾预留了before_*/after_*系列钩子例如想在下载 stage3 之前做点什么before_download_stage3() { echo 即将下载 stage3$1 }这些钩子覆盖环境准备、分区、下载、解压、基础系统配置、内核安装等关键节点是深度定制安装流程的入口。常见问题FAQQ安装 ZFS 时报错不支持的 kernel 版本A新版的稳定版 ZFS 模块可能要求比 Gentoo stable 更新的内核。当脚本询问下一步时按S进入临时 shell执行echo ACCEPT_KEYWORDS~amd64 /etc/portage/make.conf emerge -v gentoo-kernel-bin exit然后选择retry重试即可。Q分区后 blkid 报错找不到 UUIDA多半是旧分区的文件系统签名在捣乱——某些签名比如 ZFS可以和其他签名共存导致 blkid 读到歧义信息。解决办法是在开跑前把目标盘彻底清理干净先卸载所有相关设备再用wipefs -a DEVICE抹掉旧签名。Q安装中途某个包编译失败了怎么办A脚本对每条关键命令都做了成功性检查失败时会明确告知你哪一步出了问题并给出三个选项重试、跳过、或进入一个临时 shell 手动修复。如果问题超出你的能力范围把报错信息带上去 Gentoo 官方 IRC 或 Discord 求助是更高效的选择。Q装完后悔了还能重新配置吗A完全可以。gentoo.conf就是一份普通文本随时可以修改然后重新运行./install它会覆盖安装。也可以保留多份不同名字的配置用./install -c my-other.conf指定使用哪一份。说到底gentoo-install 把 Gentoo 安装中重复且易错的部分封装成了成熟脚本把决策的部分留给了你。它不会替你理解 Gentoo但能让你把精力花在真正值得研究的地方。看完这篇文章不妨动手跑一遍./configure五分钟内你就能拥有一份属于自己的安装配置。【免费下载链接】gentoo-installA gentoo installer with a TUI interface that supports systemd and OpenRC, EFI and BIOS, as well as variable disk layouts using ext4, zfs, btrfs, luks and mdraid.项目地址: https://gitcode.com/gh_mirrors/ge/gentoo-install创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考