Gentoo Linux 安装指南 – 第 2 部分
正如Gentoo 安装过程第 1 部分中所述,安装Gentoo相当困难,而且由于步骤繁多,通常需要很大的耐心。不过,只要具备正确的技术知识,您最终将获得一个干净且正常运行的Gentoo环境。
本节接续上一指南中我们上次中断的内容。
7.配置Gentoo安装
make.conf文件包含决定系统如何运行的系统变量。Portage引用此文件并根据指定的值确定运行时行为。
您可以通过对文件进行一些调整来优化系统。要访问该文件,请使用nano 命令行编辑器。
nano /mnt/gentoo/etc/portage/make.conf
CFLAGS和CXXFLAGS变量分别定义GCC 、C和C++编译器的优化标志。
这些已经定义,如下所示。
为了获得最佳性能,您需要针对每个应用程序分别优化这些标志。
目前,默认值就可以正常工作,因此我们不会进行任何更改。有关优化,请查看Gentoo GCC 文档Wiki。
8.选择Gentoo镜像
建议选择快速镜像以便更快地下载Gentoo源代码。最方便的方法是浏览 Gentoo 镜像列表并搜索最接近系统物理位置的镜像(或镜像)。
一个名为mirrorselect的工具提供了用户友好且直观的文本界面,可帮助您快速选择所需的镜像。要启动它,请运行以下命令,它将所选镜像附加到make.conf文件中。
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
在您的屏幕上,您应该看到以下文本用户界面。
使用箭头键上下滚动,然后在您喜欢的镜子上按ENTER 。
9.配置Gentoo Ebuild存储库
同样重要的是配置 Gentoo ebuild 存储库,它在/etc/portage/repos.conf/gentoo.conf配置文件中定义,该文件包含负责更新软件包存储库或 ebuild 集和随附信息 portage 下载和安装软件包所需的相关文件集的同步信息。
因此首先,使用mkdir 命令创建repos.conf文件。
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
接下来,将 Gentoo 提供的 Gentoo 存储库配置文件复制到刚刚创建的repos.conf文件中。
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
10.复制DNS信息
在进入新环境之前,必须复制/etc/resolv.conf文件中指定的 DNS 信息。这是一个 DNF 解析器文件,通过查询域名服务器 (DNS)将域名转换为 IP 地址。
复制此文件对于确保进入新环境时网络正常工作至关重要。
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
11. 挂载文件系统
下一步,我们将切换到新的 Gentoo 环境。在此之前,我们需要使以下文件系统可用:/proc、/sys、/run和/dev。
因此,运行以下命令来挂载文件系统
对于/proc
mount --types proc /proc /mnt/gentoo/proc
对于/sys
mount --rbind /sys /mnt/gentoo/sys mount --make-rslave /mnt/gentoo/sys
对于/dev
mount --rbind /dev /mnt/gentoo/dev mount --make-rslave /mnt/gentoo/dev
对于/运行
mount --bind /run /mnt/gentoo/run mount --make-slave /mnt/gentoo/run
此--make-rslave
标志是安装过程中 systemd 支持所必需的。
有些发行版会创建/dev/shm
符号链接/run/shm/
,但进入新环境后,该链接将失效。因此,我们需要事先将/dev/shm/设置为合适的 tmpfs,如下所示。
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
12.切换到新的Gentoo安装环境
挂载并初始化所有分区,并安装好基本环境后,就该切换到新的 Gentoo 安装环境了。我们将通过 chroot 进入该环境来实现这一点。
这意味着会话将其根从当前安装环境(通常是可启动的 USB 驱动器或 CD)更改为包含刚刚创建和安装的分区的安装系统。
Chrooting 涉及三个主要步骤:
- 使用chroot
/
命令将根位置从(在安装介质上)切换到/mnt/gentoo/
(在分区上)。 - 使用源命令将设置
/etc/profile
重新加载到内存中。 - 主提示符发生了变化,让我们知道当前会话位于 chroot 环境中。
因此,按出现的顺序运行以下命令。
chroot /mnt/gentoo /bin/bash source /etc/profile export PS1="(chroot) ${PS1}"
有了新环境后,下一步就是为引导加载程序安装正确的分区。对于我们创建的 BIOS/Legacy 系统,我们将第一个分区安装/dev/sda1
到/boot
安装点。
mount /dev/sda1 /boot
13. 安装 Gentoo ebuild 存储库快照
接下来,您需要安装 Gentoo ebuild 存储库的快照。它包含一组文件,用于告知 Portage 可用的软件标题、系统管理员可以选择的配置文件等。
为此,请调用emerge-webrsync命令,如图所示。
emerge-webrsync
该命令从 Gentoo 的一个镜像中获取最新快照并将其安装到您的系统上。快照通常每天从 Gentoo 发布。如果需要更新存储库,您可以使用以下命令进行更新:
emerge --sync
14.阅读新闻
新闻条目提供了一种通过 ebuild 存储库向用户推送重要消息的方法。有时,您可能会在终端上看到如下所示的消息。
* IMPORTANT: 1 news item needs reading for repository 'gentoo'. * Use eselect news to read news items.
eselect实用程序允许用户从系统管理的通用管理界面读取这些关键消息。
要列出新闻项目,请运行以下命令:
eselect news list
要阅读新闻,请运行:
eselect news read
您可以删除已读且不会重读的新闻项目,如下所示。
eselect news purge
要获取新闻阅读器的更多命令行选项,请运行命令
man news.eselect
15.选择Gentoo配置文件
配置文件是任何 Gentoo 系统的基础。它指定要使用的软件包版本范围以及重要变量(如CFLAGS )的默认值。这些设置由 Gentoo 的 Portage 开发人员持续维护。
要获取可用配置文件的列表,请运行以下命令:
eselect profile list
查看 amd64 架构的可用配置文件后,选择所需选项,如图所示。在本例中,我们将选择KDE systemd的配置文件,如图所示。
eselect profile set 10
16.配置Gentoo时区
下一步是配置时区,通常存储在/usr/share/zoneinfo目录中。您可以使用ls 命令浏览所有时区,如图所示。
ls /usr/share/zoneinfo
要设置时区(对于systemd系统),请创建首选时区的符号链接到/etc/localtime路径,如下所示
ln -sf ../usr/share/zoneinfo/Europe/Paris /etc/localtime
您的系统的日期和时间应与首选时区同步。
17.配置Gentoo区域设置
接下来是区域设置的配置,它指定了与系统交互时使用的语言以及时间和日期格式。它们区分大小写,应按原样表示。
必须在/etc/locale.gen文件中定义支持的系统语言环境。
nano /etc/locale.gen
要指定语言环境,请添加您喜欢的语言环境。以下是采用 UTF-8 格式的美国英语语言环境。
en_US ISO-8859-1 en_US.UTF-8 UTF-8
保存并退出,然后生成语言环境。
locale-gen
现在重新加载环境以保留更改。
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
18.在 Gentoo 上安装内核
某些硬件设备可能需要在系统上安装固件才能正常工作,特别是当您的笔记本电脑和台式机上有无线网络接口和视频芯片(如NVIDIA和AMD)时。
要安装固件,请运行以下命令:
emerge --ask sys-kernel/linux-firmware
接下来,安装传统/boot
布局的分发内核。
emerge --ask sys-kernel/installkernel-gentoo
然后使用源代码中的 Gentoo 补丁构建内核。
emerge --ask sys-kernel/gentoo-kernel
注意:根据您的硬件资源和系统架构,此步骤需要相当长的时间才能完成。
完成后,您可以列出已安装的内核,如下所示。
eselect kernel list
要将内核设置为活动内核,请运行以下命令。这还会在/usr/src/linux目录中创建一个符号链接。
eselect kernel set 1
19.配置/etc/fstab文件
内核已经安装完毕,剩下的步骤将涉及配置基本系统设置。在此步骤中,我们将配置/etc/fstab文件以自动挂载本安装指南第一部分中创建的系统分区。
因此,使用 nano 编辑器打开/etc/fstab文件。
sudo nano /etc/fstab
添加以下条目以指定分区、挂载点和文件系统类型。
/dev/sda1 /boot ext4 defaults 0 2 /dev/sda2 none swap sw 0 0 /dev/sda3 / ext4 defaults,noatime 0 1 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
保存更改并退出文件。
20.配置系统主机名
接下来,配置主机名,该主机名将用于在局域网中识别系统。为此,请运行以下命令,其中example在本例中为主机名。
echo example > /etc/hostname
要确认主机名设置,请运行 hostname 命令
hostname
21.配置/etc/hosts文件
仅设置主机名是不够的。您需要配置/etc/hosts文件以启用主机名解析。
nano /etc/hosts
添加以下行。
# This defines the current system and must be set 127.0.0.1 example.mynetwork localhost # Optional definition of other systems on the network 192.168.0.10 ravi.mynetwork ravi
22.设置Root密码
root帐户是Linux系统中权限最高的帐户,可以不受限制地执行所有任务。
要设置 root 密码,请运行以下命令:
passwd
这将提示您输入密码。输入密码后,按 ENTER 键,然后重复此操作以确认。
22. 安装附加服务
安装后一些附加服务将会派上用场,其中包括用于更新定位数据库的mlocate 、用于自动同步系统日期和时间的chrony 、用于自动 IP 寻址的dhcpcd和用于自动执行 cron 作业的cronie 。
要安装它们,请运行:
emerge --ask sys-apps/mlocate emerge --ask net-misc/chrony emerge --ask net-misc/dhcpcd emerge --ask sys-process/cronie
然后启用系统启动时运行的服务,包括SSH。
systemctl enable cronie systemctl enable sshd systemctl enable chronyd.service
23. 安装并配置 GRUB 引导加载程序
最后阶段是安装GRUB引导加载程序,这是一个帮助启动系统的程序。
在 BIOS 系统上,运行以下命令:
emerge --ask --verbose sys-boot/grub
接下来,使用grub-install命令在启动分区上安装 GRUB 引导加载程序。
grub-install /dev/sda
接下来,生成 GRUB 配置文件。
grub-mkconfig -o /boot/grub/grub.cfg
24. 重新启动系统
Gentoo 基础系统以及运行系统所需的一切现已安装完毕。剩下要做的就是重新启动并开始使用系统。
因此,退出 chrooted 环境并卸载所有已挂载的分区。
exit cd umount -l /mnt/gentoo/dev{/shm,/pts,} umount -R /mnt/gentoo
然后重新启动系统。
reboot
重新启动后,您将看到以下 GRUB 菜单。按 ENTER 继续。
在终端屏幕上,输入“ root ”作为用户名并提供 root 密码以访问 Linux shell。从这里,您可以继续运行您认为合适的系统管理任务,例如创建更多用户、配置网络等。
确保也删除了stage3 tarball 文件。
rm /stage3-*.tar.*
结论
如果您已经走到这一步,恭喜您。您已经安装了一个最小的Gentoo Linux系统,它将允许您执行系统管理任务。从这里,您可以安装您喜欢的桌面环境、图形驱动程序和其他第三方软件应用程序和软件包,将其转变为强大的台式机或服务器环境。
这是 Gentoo 安装的第二部分也是最后一部分。正如您所注意到的,这是一个相当漫长而复杂的过程,需要很高的技术专长。大多数用户和初学者都不愿意使用 Gentoo,这并不奇怪。对于中级和高级用户来说,这是一个适合磨练 Linux 技能的发行版。