手册:SPARC/安装/准备磁盘
SPARC 手册 |
---|
安装 |
关于安装 |
选择安装媒介 |
配置网络 |
准备磁盘 |
安装 Stage3 |
安装基本系统 |
配置内核 |
配置系统 |
安装系统工具 |
配置引导程序 |
安装收尾 |
使用Gentoo |
Portage 介绍 |
USE 标记 |
Portage 功能特性 |
Initscript 系统 |
环境变量 |
使用Portage |
文件和目录 |
变量 |
混合使用不同的软件分支 |
额外的工具 |
自定义软件包仓库 |
高级特性 |
网络配置 |
介绍 |
高级配置 |
模块化网络 |
无线 |
添加功能 |
动态管理 |
块设备简介
块设备
让我们来好好看看Gentoo Linux以及普通Linux中有关磁盘方面的知识,包括块设备、分区和Linux文件系统。一旦磁盘的来龙去脉都了解了,我们将设置分区和文件系统以进行安装。
首先,让我们来看看块设备。SCSI和SATA磁盘以/dev/sda,/dev/sdb,/dev/sdc等形式被标注。在更先进的设备中,基于PCI Express的NVMe固态磁盘一般以/dev/nvme0n1,/dev/nvme0n2等形式被标注。
下表将帮助读者确定在系统中哪里可以找到块设备的类型:
设备类型 | 默认设备句柄 | 社论笔记和注意事项 |
---|---|---|
SATA,SAS,SCSI 或 USB 闪存 | /dev/sda | 从大约 2007 年到现在,这可能是 Linux 中最常用的设备句柄。这类设备可以连接在 SATA 总线,SCSI,USB 总线上作为块储存。例如,在第一个 SATA 设备的第一个分区称为 /dev/sda1。 |
NVM Express (NVMe) | /dev/nvme0n1 | NVMe设备是最新的固态技术,它连接在 PCI Express 总线,并且拥有市面上最快的传输速度。2014 年前后的系统可能会支持 NVMe 硬件。在第一个 NVMe 设备的第一个分区称为 /dev/nvme0n1p1。 |
MMC,eMMC 和 SD | /dev/mmcblk0 | 嵌入式 MMC 设备,SD 卡和其它类型的记忆卡 可以作为数据存储使用。也就是说,许多系统可能不允许从这些类型的设备启动。建议不使用这些设备用来安装 Linux,而是考虑用它们来传输文件,这也是它们的设计目的。另外,它们可以用来做短期的备份。 |
上面的块设备代表磁盘的抽象接口。用户程序可以使用这些块设备来与你的磁盘进行交互,而无需担心驱动器到底是 SATA,SCSI 还是其他什么东西。该程序可以把磁盘当作一系列连续的,可随机访问的 4096 字节块(4K)的存储。
Handbook:SPARC/Blocks/Disks/zh-cn
创建文件系统
介绍
现在分区已经创建,该在上面设置文件系统了。下一章节中描述了 Linux 所支持的众多文件系统。知道使用哪一个文件系统的读者可以继续阅读为分区应用文件系统。剩下的人应该学习可用的文件系统……
文件系统
Linux 支持数十种文件系统,尽管其中许多只是为了特定目的而部署。在 sparc 架构上只能找到某些稳定的文件系统 - 建议在为重要分区选择更具实验性的文件系统之前查阅文件系统及其支持状态。ext4是推荐的全平台通用的文件系统。以下是一个非详尽的列表。
- btrfs
- 下一代文件系统,提供许多高级功能,例如快照、通过校验和进行自我修复、透明压缩、子卷和集成 RAID。不能保证 5.4.y 之前的内核在生产中与 btrfs 一起使用是安全的,因为对严重问题的修复仅存在于 LTS 内核分支的最新版本中。文件系统损坏问题在较旧的内核分支上很常见,任何早于 4.4.y 的版本都特别不安全且容易损坏。启用压缩后,较旧的内核(比 5.4.y)更可能发生损坏。 RAID 5/6 和配额组在所有版本的 btrfs 上都不安全。此外,当 df 报告由于内部碎片(由 DATA + SYSTEM 块固定但在 METADATA 块中需要的可用空间)导致的可用空间时,btrfs 可能会反直觉地失败使用 ENOSPC 的文件系统操作。此外,对 btrfs 内 128M 范围的单个 4K 引用可能会导致出现可用空间,但无法分配。当 df 报告可用空间时,这也可能导致 btrfs 返回 ENOSPC。安装 sys-fs/btrfsmaintenance 并将脚本配置为定期运行可以通过重新平衡 btrfs 来帮助减少 ENOSPC 问题的可能性,但是当存在可用空间时它不会消除 ENOSPC 的风险。一些工作负载永远不会达到 ENOSPC,而另一些工作负载会。如果 ENOSPC 在生产中的风险是不可接受的,你应该使用别的东西。如果使用 btrfs,请务必避免已知存在问题的配置。除 ENOSPC 外,有关最新内核分支中 btrfs 中存在的问题的信息可在 btrfs wiki 状态页面 上找到。
- ext4
- 最初创建时为 ext3 的一个分支,ext4 带来了新功能、性能改进和删除大小限制,并对磁盘格式进行了适度的更改。它可以跨越高达 1 EB 的卷,最大文件大小为 16 TB。代替经典的 ext2/3 位图块分配 ext4 使用扩展区,这提高了大文件的性能并减少了碎片。 Ext4 还提供了更复杂的块分配算法(延迟分配和多块分配),为文件系统驱动程序提供了更多优化磁盘数据布局的方法。 Ext4 是推荐的通用全平台文件系统。
- f2fs
- Flash-Friendly File System 最初是由三星为与 NAND 闪存一起使用而创建的。截至 2016 年第二季度,这个文件系统仍然被认为是不成熟的,但在将 Gentoo 安装到 microSD 卡、USB 驱动器或其他基于闪存的存储设备上时,它是一个不错的选择。
- JFS
- IBM 的高性能日志文件系统。 JFS 是一个轻量、快速、可靠的基于 B+tree 的文件系统,在各种条件下都具有良好的性能。
- XFS
- 具有元数据日志的文件系统,具有强大的功能集并针对可扩展性进行了优化。 XFS 似乎对各种硬件问题不太宽容,但已不断升级以包含现代功能。
- VFAT
- 也称为 FAT32,Linux 支持但不支持标准的 UNIX 权限设置。它主要用于与其他操作系统(Microsoft Windows 或 Apple 的 macOS)的互操作和交换,但也是某些系统引导加载程序固件(如 UEFI)的必需品。UEFI 系统的用户需要使用 VFAT 格式化的 EFI 系统分区才能启动。
- NTFS
- 这个“新技术”文件系统是自 Windows NT 3.1 以来 Microsoft Windows 的旗舰文件系统。与 vfat 类似,它不存储 BSD 或 Linux 正常运行所需的 UNIX 权限设置或扩展属性,大多数情况下,不应将其用作文件系统。它应该仅用于与Microsoft Windows 系统的互操作和交换(注意强调仅)。
为分区应用文件系统
在一个分区或卷上创建一个文件系统,这里有用于每一个可能的分区的工具。 单击下表中的文件系统名称,了解每个文件系统的更多信息:
文件系统 | 创建命令 | 是否在最小化 CD 中已包含? | 软件包 |
---|---|---|---|
ext4 | mkfs.ext4 | 是 | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | 是 | sys-fs/f2fs-tools |
jfs | mkfs.jfs | 是 | sys-fs/jfsutils |
reiserfs(已废弃) | mkfs.reiserfs | 是 | sys-fs/reiserfsprogs |
xfs | mkfs.xfs | 是 | sys-fs/xfsprogs |
vfat | mkfs.vfat | 是 | sys-fs/dosfstools |
NTFS | mkfs.ntfs | 是 | sys-fs/ntfs3g |
比如,在示例分区结构中,有使用 ext4 的根分区(/dev/sda1),会使用下面的命令:
root #
mkfs.ext4 /dev/sda1
当在一个小的分区(少于8 GiB)上使用 ext4,则创建文件系统时必须带适当的选项以保留足够的 inode。可以使用以下命令创建文件系统:
root #
mkfs.ext4 -T small /dev/<device>
这一般将是对于给定的文件系统inode数量的四倍,它的“字节每inode”从16kB每个减少到4kB每个。
现在在新创建的分区(或逻辑卷)上创建文件系统。
激活swap分区
mkswap是用来初始化swap分区的命令:
root #
mkswap /dev/sda2
要激活swap分区,使用swapon:
root #
swapon /dev/sda2
使用上面提到的命令创建和激活swap。
挂载 root 分区
非 Gentoo 安装介质的用户需要通过运行以下命令来创建挂载点:
root #
mkdir --parents /mnt/gentoo
现在分区都已初始化并有文件系统,接下来该挂载那些分区了。使用 mount 命令,但是不要忘记为每一个创建的分区创建需要的挂载目录。比如示例中我们挂载根分区:
root #
mount /dev/sda1 /mnt/gentoo
如果/tmp/需要放在一个独立分区,确保在挂载后变更它的权限:
root #
chmod 1777 /mnt/gentoo/tmp
后面的介绍中将挂载proc文件系统(一个内核的虚拟接口)和其它内核伪文件系统。不过我们首先安装Gentoo安装文件。