使用屏幕截图安装 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 安装环境了。我们将通过扎根它来实现这一目标。
这意味着会话会将其根目录从当前安装环境(通常是可引导的 USB 驱动器或 CD)更改为包含刚刚创建和安装的分区的安装系统。
Chrooting 涉及三个主要步骤:
- 使用 chroot 命令将根位置从
/
(在安装介质上)切换到/mnt/gentoo/
(在分区上)。 - 使用source命令将
/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.配置系统主机名
接下来,配置主机名,该主机名将用于在局域网中识别系统。为此,请运行以下命令,其中 howtoing 是本例中的主机名。
echo tecmint > /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 tecmint.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、dhcpcd > 用于自动 IP 寻址,cronie 用于自动执行 cron 作业。
要安装它们,请运行:
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 基本系统以及运行系统所需的一切现已安装。唯一剩下的就是重新启动并开始使用系统。
因此,退出 chroot 环境并卸载所有已安装的分区。
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 系统,它将允许您执行系统管理任务。从这里您可以安装您喜欢的桌面环境、图形驱动程序以及其他第三方软件应用程序和软件包,将其转变为功能强大的桌面 PC 或服务器环境。
这是 Gentoo 安装的第二部分,也是最后一部分。正如您所指出的,这是一个相当漫长且复杂的过程,需要很高的技术专业知识。大多数用户和初学者回避 Gentoo 并不奇怪。对于中级和高级用户来说,这是一个适合提高他们的 Linux 技能的发行版。