手册:PPC/安装/配置系统

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:PPC/Installation/System and the translation is 100% complete.
PPC Handbook
安装
关于安装
选择安装媒介
配置网络
准备磁盘
安装 Stage3
安装基本系统
配置内核
配置系统
安装系统工具
配置引导程序
安装收尾
使用Gentoo
Portage 介绍
USE 标记
Portage 功能特性
Initscript 系统
环境变量
使用Portage
文件和目录
变量
混合使用不同的软件分支
额外的工具
自定义软件包仓库
高级特性
网络配置
介绍
高级配置
模块化网络
无线
添加功能
动态管理


文件系统信息

关于 fstab

在Linux系统下,系统所用到的所有分区都必须在 /etc/fstab 文件中指明。这个文件包含了这些分区的挂载点(在系统目录树中的位置)、挂载方法和特殊挂载选项(是否自动挂载,是否某个用户可以挂载它等)。

创建/etc/fstab文件

/etc/fstab 文件使用一种特殊语法格式。每行都包含六个字段。这些字段之间由空白键(空格键,tab键,或者两者混合使用)分隔。每个字段都有自己的含意:

  1. #第一个字段显示要挂载的特殊 block 设备或远程文件系统。 有几种设备标识符可用于特殊块设备节点,包括设备文件路径,文件系统标签,UUID,分区标签以及UUID。
  2. 第二个字段是分区挂载点,也就是分区应该挂载到的地方
  3. 第三个字段给出分区所用的文件系统
  4. 第四个字段给出的是挂载分区时 mount 命令所用的挂载选项。由于每个文件系统都有自己的挂载选项,我们建议系统管理员阅读 mount 手册(man mount)以获得所有挂载选项的列表。多个挂载选项之间是用逗号分隔的。
  5. 第五个字段是给dump使用的,用以决定这个分区是否需要dump。一般情况下,你可以把该字段设为 0(零)。
  6. 第六个字段是给fsck使用的,用以决定系统非正常关机之后文件系统的检查顺序。根文件系统应该为 1,而其它的应该为 2(如果不需要文件系统自检的话可以设为 0)。
重要
Gentoo stage 文件默认提供的 /etc/fstab “不”是有效的fstab 文件,它只是提供了几个模板,可用于输入相关值。
root #nano -w /etc/fstab

在文本的其余部分,使用默认的块设备 /dev/sd* 文件作为分区标识符。

分区表和 UUID

MBR(BIOS)和GPT都支持“文件系统”标签和“文件系统”的UUID。 这些属性可以在尝试查找和挂载块设备时使用,作为 mount 命令的替代方法,在 /etc/fstab 中定义。文件系统标签和 UUID 由 LABELUUID 前缀标识,可以使用 blkid 命令查看:

root #blkid
警告
如果分区中的文件系统被擦除,则文件系统标签和UUID值将随后被更改或删除。

出于唯一性,建议使用 MBR 分区表的读者使用 UUID 来定义/etc/fstab 中的可挂载卷。

重要
LVM 卷文件系统的 UUID 与其 LVM 快照相同,因此应避免使用 UUID 挂载 LVM 卷。

分区卷标和 UUIDs

已经使用 GPT 磁盘的用户有一些更稳定的选项可用于在 /etc/fstab 中定义分区。分区卷标和分区 UUID 可以用来标识块设备的单独分区,而不管为分区本身选择了什么文件系统。分区卷标和 UUID 分别由 PARTLABEL PARTUUID 前缀标识,可以通过运行 blkid 命令在终端中很好地查看分区标签:

root #blkid

虽然对于分区表不总是正确的,但使用UUID来标识fstab 中的分区,即使将来文件系统更改,也可以保证在寻找某个卷时引导加载程序不会被混淆。对于经常重新启动并定期添加和删除SATA设备时,在 fstab 中定义分区,使用旧的默认分区文件 (/dev/sd*N非常危险) 。

块设备文件的命名取决于许多因素,包括磁盘如何以及以什么顺序加载到系统。它们也可能以不同的顺序显示,具体情况取决于在早期启动过程中内核首先检测到哪些设备。 有了这个说明,除非有人打算不断地解决磁盘排序问题,使用默认块设备文件是一个简单和直接的方法。

让我们来看看如何写下/boot/分区的选项。 这只是一个示例,应根据安装时的具体情况进行修改。 在ppc分区示例中, /boot/ 通常是/dev/sda1 ext4作为文件系统。 它需要在启动期间进行检查,所以我们写下:

FILE /etc/fstab/etc/fstab 中 /boot 行的示例
# 调整与准备磁盘步骤的任何格式差异
/dev/sda1   /boot         defaults        0 2

有些用户不希望/boot/分区自动挂载,以提高系统的安全性。 他们应该用noauto.代替 defaults。这意味着这些用户将需要在每次他们想要使用它时手动挂载这个分区。

增加符合你分区方案的规则,为你的光驱(当然,如果你有其他分区或者驱动器,也为它们加上)添加挂载规则。

下面是/etc/fstab文件的例子:


FILE /etc/fstab一个 /etc/fstab 例子
# 调整与准备磁盘步骤的任何格式差异
/dev/sda1   /boot            defaults,noatime     0 2
/dev/sda2   none         swap    sw                   0 0
/dev/sda3   /            ext4    noatime              0 1
  
/dev/cdrom  /mnt/cdrom   auto    noauto,user          0 0

auto选项可以使mount 猜测文件系统(推荐对于可移动设备采用这个选项,因为它们可能采用很多不同的文件系统),而 user选项使得非root用户可以挂载光驱。

大多数用户会添加 noatime 挂载选项来提高性能,因为访问时间没有注册(一般不需要),这将会使系统更快。也推荐使用固态硬盘(SSD)的系统添加该选项。

Tip
由于性能下降,不推荐在 /etc/fstab 定义 discard 挂载选项。一般来说,最好使用作业调度器(例如 cron 或 timer (systemd))定期丢弃块。查看 定期 fstrim 作业 来获取更多信息。

仔细检查/etc/fstab文件,保存并退出以继续。

网络信息

特别注意,以下部分可以帮助读者快速设置他们的系统接入局域网。

对于运行 OpenRC 的系统,更多网络设置的细节参考高级网络配置章节,手册末尾附近有介绍。有更具体网络需求的系统可能需要跳过此章节,然后返回此处继续后续的安装。

更多关于 systemd 具体的网络设置,请参考 systemd/zh-cn 文章的网络部分

主机名、域名信息

系统管理员必须要做的事情之一就是命名他们的机器。尽管这看上去很容易,但是很多用户觉得很难起一个合适的主机名。为了加快进度,应该知道所有你所命名的名字都是可以在今后重新修改的。因此,你可以简单命名你的系统为 tux,域名为 homenetwork

OpenRC

root #nano -w /etc/conf.d/hostname
# 设置主机名变量,选择主机名
hostname="tux"

第二,如果你需要一个域名,在/etc/conf.d/net中设定。只有你的ISP或者网络管理员说你需要一个域名,或者你有一个DNS服务器但是没有DHCP服务器的时候,你才需要域名。如果你的网络是DHCP分配IP,那么你不需要理会DNS和域名的问题。

附注
/etc/conf.d/net文件默认不存在,因此需要创建。
root #nano -w /etc/conf.d/net
# 设定dns_domain的变量值为你的域名
dns_domain_lo="homenetwork"
附注
如果你选择不设定域名,你可以去掉登录界面上的这条信息:“This is hostname.(none)”。你只需要修改/etc/issue ,把字符串.\O从该文件里删掉即可。

如果你有一个NIS域(如果你不知道这是什么,就说明你没有),你也需要定义一个:

root #nano -w /etc/conf.d/net
#设定nis_domain的变量值为你的NIS域名
nis_domain_lo="my-nisdomain"
附注
如果想知道更多关于DNS和NIS配置的信息,可以看/usr/share/doc/netifrc-*/net.example.bz2当中的例子。当然,你也可以安装net-dns/openresolv来帮助设置DNS、NIS.

systemd

使用 hostnamectl 工具在 systemd 获取系统的主机名。

可以将设置主机名为 "tux":

root #hostnamectl hostname tux

运行 hostnamectl --helpman 1 hostnamectl 查看帮助。

网络

配置网络接口有许多可用的方法。本章节只介绍了其中一些方法。你可以选择一个看起来最合适的设置方法。

通过 dhcpcd 使用 DHCP (任何 init 系统)

大多数 LAN 网络都运行 DHCP 服务器。如果是这种情况,则建议使用 dhcpcd 程序获取 IP 地址。

安装:

root #emerge --ask net-misc/dhcpcd

在 OpenRC 系统中启用和开始服务:

root #rc-update add dhcpcd default
root #rc-service dhcpcd start

在 systemd 系统中启用和开始服务:

root #systemctl enable --now dhcpcd

完成这些步骤后,下次系统启动时,dhcpcd 应该就会从 DHCP 服务器获取 IP 地址。 更多细节请查看 Dhcpcd 文章。

netifrc(OpenRC)

Tip
在 OpenRC 使用Netifrc 设置网络是一种特殊的方法。还有更简单的方法设置,比如 Dhcpcd.

配置网络

在Gentoo Linux安装时,网络已经配置。然而,这是安装的 live 环境本身的配置,并不是新的系统环境的网络配置。现在你所要设置的是 Gentoo 系统的永久网络配置。

附注
更多关于网络配置的详细信息,包括网卡绑定、网桥、802.1Q VLANs和无线网络在内的高级配置会在高级网络配置这一部分介绍.

/etc/conf.d/net 当中收集了所有的网络信息。尽管这个文件采用直接易懂的语法,如果你还是因为觉得不够直观而完全不知道如何手动进行网络配置的话,请不用担心,我们将一一解释。在 /usr/share/doc/netifrc-*/net.example.bz2 中有一个详细注释过的例子,它涵盖了许多种类不同的配置。

首先安装net-misc/netifrc:

root #emerge --ask --noreplace net-misc/netifrc

系统默认使用DHCP。如果使用DHCP的话,你需要安装一个DHCP客户端。这个将在稍后的安装必要的系统工具部分介绍。

如果你需要配置你的网络连接,不管是因为你是需要指定DHCP选项还是你不使用DHCP,打开 /etc/conf.d/net:;

root #nano -w /etc/conf.d/net

设置 config_eth0routes_eth0 输入IP地址信息和路由信息:

附注
这假定网络接口将被称为eth0。 然而,这非常依赖于系统。 如果安装介质足够新,则建议在从安装介质引导时将接口重命名。 更多信息可以在网络接口命名章节中找到。
FILE /etc/conf.d/net静态IP定义
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"

要使用DHCP,定义 config_eth0:

FILE /etc/conf.d/netDHCP 配置
config_eth0="dhcp"

请阅读 /usr/share/doc/netifrc-*/net.example.bz2 获取额外的配置文件选项的列表。如果你需要设定特殊的 DHCP 选项,请参考你的 DHCP 客户端的 man 手册页。

如果你有多个网络接口,那么重复之前对于config_eth1config_eth2等操作步骤。

现在保存配置并退出。

在启动时自动启用网络连接

为了在启动时自动激活网络接口,你必须添加这些到default运行级别。

root #cd /etc/init.d
root #ln -s net.lo net.eth0
root #rc-update add net.eth0 default

如果系统有多个网络接口,那么需要创建适当的net.* 文件,就像我们使用net.eth0一样。

如果在引导系统后,发现网络接口名称(目前写作 eth0)是错误的,那么执行以下步骤来纠正这一点:

  1. 用正确的名称更新 /etc/conf.d/net(比如说 enp3s0 或者 enp5s0 取代 eth0)。
  2. 创建符号链接(比如 /etc/init.d/net.enp3s0)。
  3. 删除旧的符号链接(rm /etc/init.d/net.eth0)。
  4. 创建新的默认运行级别。
  5. 删除旧的运行级别,使用 rc-update del net.eth0 default

hosts 文件

现在你需要告诉Linux有关你的网络的信息。这需要在/etc/hosts文件中定义,它将帮助你将那些无法被域名解析器解析的主机名解析成IP地址。

root #nano -w /etc/hosts
FILE /etc/hostsFilling in the networking information
# 定义的是现在系统
127.0.0.1     tux.homenetwork tux localhost
  
# 定义你网络上的其它系统
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny

保存并退出编辑器,继续

可选:启用PCMCIA

PCMCIA用户首先应该安装sys-apps/pcmciautils软件包。

root #emerge --ask sys-apps/pcmciautils

系统信息

Root 密码

使用passwd命令设置root密码。

root #passwd

root帐户是一个功能强大的帐户,因此请选择一个强密码。 稍后将为日常操作创建其他常规用户帐户。

配置引导和启动

OpenRC

当在 Gentoo 中使用 OpenRC 时,系统使用/etc/rc.conf配置系服务,启动和关闭。 打开 /etc/rc.conf 并查看文件中的所有注释。查看设置并根据需要进行更改。

root #nano -w /etc/rc.conf

接下来,打开/etc/conf.d/keymaps 来处理键盘设置。编辑它就可以设置你的键盘。

root #nano -w /etc/conf.d/keymaps

要特别注意keymap这个变量 。如果你选择了错误的KEYMAP,在你敲击键盘的时候会有奇怪的结果。

完成 /etc/conf.d/hwclock 的配置之后,保存并退出。

root #nano -w /etc/conf.d/hwclock

如果你机器上的时钟不用UTC,你需要在配置文件加上clock="local"。否则,你的时钟就有可能出现偏差。

systemd

首先,推荐运行 systemd-firstboot,这样会准备好系统各个组件的正确设置,以便首次启动到新的 systemd 环境。传递以下选项将提示用户设置区域设置、时区、主机名、root 密码和 root shell 值。并且会分配一个随机的机器 ID:

root #systemd-firstboot --prompt --setup-machine-id

接下来,用户应该运行 systemctl 来重置所有已安装工具的文件为预设的策略值:

root #systemctl preset-all

这两个步骤将有助于确保从 live 环境平滑过渡到安装过程的首次启动。