阿里云 ECS 安装 Gentoo Linux
本文为笔者给阿里云 ECS 安装 Gentoo Linux 的过程记录,文中的安装方法乃笔者自己的理解,而并非官方教程,请各位读者谨慎参考。此外,笔者不建议一般用户在云服务器上使用 Gentoo Linux ,除非明确自己的需求,切勿盲目跟风安装。在这里演示的云服务器为阿里云 ECS ,初始系统是 Debian 12.2 64位 UEFI 版,其他提供商的云服务器或系统可能不适用于本文,请自行随机应变。文中提到的软件均为笔者个人喜好,不代表本人向各位读者推荐使用这些软件。而且以下软件的配置仅为个人一己之见,不一定适合所有人,切勿盲目照搬。
注意,本文的操作将删除云服务器内的所有数据,请确保该云服务器没有存放重要数据或者运行重要服务,并提前做好备份工作!
安装前准备
登录云服务器
本人的云服务器初始默认用户为 root ,并且设置了使用密码登录,而且阿里云给本人分配的公网 IP 地址为 xxx.xxx.xxx.xxx
。各位读者可以初始设置其他用户,也可设置使用密钥登录。另外,笔者偏好在终端下使用 OpenSSH 远程登录主机,各位读者也可使用其他方法来远程登录。
打开终端,输入:
将 xxx.xxx.xxx.xxx
替换为你自己的公网 IP ,输入 yes
,再输入 root 密码,即可登录云服务器。
下载 RootFS
输入:
下载 Arch Linux 的 RootFS 压缩包。
再输入:
解压该压缩包到 /tmp 目录。
Change Root
输入:
将 /tmp/root.x86_64 目录自己绑定到自己,使之可被作为挂载点。
再输入:
Change Root 到 /tmp/root.x86_64 目录中。
挂载分区
本人的阿里云 ECS 只有一块磁盘,初始默认有三个分区,它们分别是 /dev/vda1
( BIOS boot ) 、/dev/vda2
( EFI System ) 和 /dev/vda3
( Linux filesystem ) 。
输入:
挂载 /dev/vda3
分区。
删除旧系统
在运行下面命令前,请确保该云服务器没有存放重要数据或者运行重要服务!
输入:
删除旧系统。
再输入:
挂载引导分区。
最后输入:
删除引导分区中的内容。
安装基本系统
安装 Stage3
笔者在该云服务器上不打算运行任何 32 位应用;而且笔者偏好使用 Systemd 作为 init 程序,所以在这里选择 no multilib | systemd 的 Stage3 压缩包,各位读者也可自行选择下载其他的 Stage3 压缩包。
输入:
下载 Stage3 压缩包。
再输入:
解压该压缩包到 /mnt 目录。
配置编译选项
依次输入:
即可。
其中 FEATURES="getbinpkg"
的作用是尽可能地使用预编译好的二进制包,以节约系统资源和安装时间。
创建 fstab 文件
输入:
即可。
再次 Change Root
输入:
复制 DNS 配置到目标系统环境。
再输入:
Change Root 到 /mnt 目录中。
安装 Gentoo ebuild 存储库快照
输入:
即可。
更新 Gentoo ebuild 存储库
笔者偏好使用 Git 来同步 Portage 数据库,各位读者也可使用 rsync 来同步,这里则略过 rsync 的设置方法。
输入:
创建文件夹。
再输入:
配置 Portage 数据库源。
然后输入:
设置二进制包源。
再输入:
初始化密钥。
然后输入:
安装 git 。
若安装失败,则输入
rm -rf /etc/portage/gnupg && getuto
重新初始化密钥,再输入emerge -av dev-vcs/git
重试。
再输入:
删除原有的数据库。
然后输入:
初始化同步 Portage 数据库。
最后输入:
标记已阅读全部新闻。
设置 CPU FLAGS
输入:
安装 cpuid2cpuflags 。
再输入:
设置 CPU FLAGS 。
使用 Swap file
输入:
创建交换文件。
再输入:
设置交换文件权限。
然后输入:
格式化文件。
再输入:
启用交换文件。
最后输入:
设置开机后自动使用交换文件。
安装系统组件
输入:
设置 USE 。
再输入:
更新系统。
最后输入:
安装内核与常用软件。
配置时区
输入:
设置时区为上海。
设置 root 密码
输入:
再输入两次你要设置的密码。注意这里需要设置较为复杂的密码,否则将可能导致设置失败。
创建用户
下面默认要创建的用户名为 username
,若要使用其他名字,请自行将其替换。
输入:
新建用户。这里会有一个关于 mailbox 文件夹不存在的提醒,忽略即可。
再输入:
然后再输入两次要设置的密码。注意这里需要设置较为复杂的密码,否则将可能导致设置失败。
禁止 root 用户通过 ssh 登录
输入:
即可。
启动引导配置
这里使用 systemd-boot 来引导系统,初始系统必须选择带 UEFI 的版本。笔者用的是 Debian 12.2 64位 UEFI版,而不是 Debian 12.2 64位,请务必正确选择系统版本。
输入:
安装引导。
再输入:
配置引导。
配置 Sudo
输入:
反注释 %wheel ALL=(ALL:ALL) ALL
,即去掉该行前面的 # 号,再保存退出。
启用必要服务
输入:
创建一个机器 ID 。
再依次输入:
启用必要服务。
注意:这里若不运行
systemd-machine-id-setup
,将可能导致 systemd-networkd 不能正常工作
配置网络
输入:
即可。
配置语言环境
输入:
启用 zh_CN.UTF-8 。
再输入:
启用 en_US.UTF-8 。
然后输入:
生成 Locale 。
最后输入:
设置语言环境为中文。
强制重启
输入:
将内存中还未写入到磁盘的数据同步到磁盘。
再打开网页 阿里云 ,登录账号,打开控制台,在阿里云工作台中强制重启 ECS 。
启用密钥验证登录
下面默认云服务器的公网 IP 为 xxx.xxx.xxx.xxx
,用户名为 username
,请自行将下面出现的相关内容替换为你自己的公网 IP 和用户名。另外,这里默认本地电脑上已有 SSH 公钥,若无公钥则请运行 ssh-keygen -t ed25519
生成公钥。
重新打开终端,输入:
将 xxx.xxx.xxx.xxx
替换为你服务器的 IP 地址,下同。删除所有与 xxx.xxx.xxx.xxx
有关的信息。Windows下则可手动自行删除。
再输入:
并输入云服务器上 username 用户的密码确认,启用密钥验证登录。
Windows 下则可输入:
最后输入:
将 username
替换为你刚新建的用户名,再输入该用户密码,连接阿里云 ECS 。
设置 resolv
成功登录后输入:
将 resolv.conf 文件交由 systemd-resolved 管理。
清理系统
依次输入:
即可。
至此 Gentoo Linux 已基本安装完毕,接下来是对系统的一些配置。
安装后配置
禁止 ssh 通过密码登录
输入:
即可。
设置主机名
下面默认要将主机名修改为 myhostname
,若要用其他名称,请自行将其替换。
输入:
即可。
配置 GNU Screen
输入:
设置通过 SSH 登录后自动运行 GNU Screen 。
配置 Vim
输入:
设置默认默认编辑器为 Vim 。
再输入:
设置显示行号与取消自动缩进。
配置 Zsh
依次输入:
并输入当前用户密码。更改默认 shell 为 Zsh 。
再输入:
下载插件。
最后输入:
配置 Zsh 。
配置 ranger
输入:
创建配置文件。
再输入:
禁用初始配置文件。
重启
输入:
即可。
结语
至此,Gentoo Linux 已基本安装配置完毕。在这里再次强调,本文为安装记录而并非教程,文中内容不适合新手。本文用了大量 echo
、sed
之类的命令来修改配置,仅仅是笔者自己为了方便复制粘贴,笔者更推荐新手使用 nano
、vim
之类的工具来修改配置文件。另外,本文中的所有命令若您不了解其含义,请不要轻易尝试,不明白某个配置的选项或功能时,也不要盲目跟风。请善用搜索,更要有自学能力。