热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

《LinuxFromScratch》第二部分:准备构建第二章:准备新分区2.2.创建新分区...

与绝大多数其它操作系统相同,安装LFS通常需要专门的分区。构建LFS系统比较推荐的方法是使用可用的空分区,或者如果条件允许,最好是在未分区

与绝大多数其它操作系统相同,安装 LFS 通常需要专门的分区。构建 LFS 系统比较推荐的方法是使用可用的空分区,或者如果条件允许,最好是在未分区的空间里新建分区。

最小化的系统需要大约 4 GB 的分区,这足以存储所有的源码包及满足编译的需求。但如果要将 LFS 作为主要的 Linux 系统,可能需要安装其它附加的软件,这将需要额外的空间。考虑到了日后所需的空间,一个 10 GB 的分区是比较合理的。LFS 系统本身并不会占用这么多的空间。但满足此要求的大分区将能提供足够大的临时储存空间。编译软件包可能需要较大的磁盘空间,但这些空间可以在软件包安装后回收。

由于编译过程中所需的内存(RAM)可能不足,需要使用一个小型的磁盘分区作为 swap 分区。内核会在此分区中储存较少使用的数据,从而为活动进程提供更多的内存。LFS 系统可以与宿主系统共用 swap 分区,这样就没有必要再新建一个了。

启动磁盘分区程序,如 cfdiskfdisk,参数是新分区所在的磁盘名,例如 IDE 主硬盘叫做 /dev/sda。你需要创建一个 Linux 本地分区,并按需创建 swap 分区 。如果你还不知道如何使用这些程序,请参考 cfdisk(8)fdisk(8)

[注意]

注意

对于有经验的用户,也可自行定制分区分案。新版 LFS 系统支持软 RAID 或 LVM 逻辑卷。然而,这些方案需要用到 initramfs ,而这涉及到比较复杂的话题。因此不建议首次尝试 LFS 的用户使用这样的分区方法。

请记住新分区的位置(例如,sda5 )。本书中将称其为 LFS 分区。还需要记住 swap 分区的位置。这些名称将会在 /etc/fstab 文件中用到。

2.2.1. 其它分区问题

LFS 邮件列表中经常有人问到关于系统分区的建议。这一话题非常主观。大多数发行版默认情况下会使用整个磁盘,仅为交换分区保留一小部分空间,但由于种种原因,这并不适合 LFS。这样做会降低灵活性,使得多个发行版或几个 LFS 版本之间共享数据变得困难,也让备份更耗时,还会导致文件系统结构分配不合理而浪费磁盘空间。

2.2.1.1. 根分区

为 LFS 根分区(不要与 /root 目录混淆)分配 10 GB的空间是适用于大多数系统的折中方案。这为构建 LFS 和大多数 BLFS 提供了足够的空间,但也不是很大,因此能很容易的创建多个用于实验的分区。

2.2.1.2. 交换分区 (Swap)

大多数发行版会自动创建交换分区。一般来说,交换分区的推荐大小为物理内存的两倍左右,实际上并无此必要。若磁盘空间有限,可以将交换分区设置为 2 GB,并注意交换分区的使用情况。

(译者注:因为现代电脑大多拥有较大的内存,所以在大多数情况下,都不需要设置 swap 分区。但是,Fedora、Ubuntu 这样的操作系统,可能会在系统安装过程中提醒用户因为没有创建 swap 而导致一些问题。这样的“恐吓”也许会让不少用户选择重新设置 swap 分区。但是对于 LFS 或者是 Gentoo 总是编译源代码的发行版来说,swap 分区是极其有必要的。在编译过程中,编译系统会将那些不总是变化的文件寄存在 swap 分区中,而为软件编译过程提供更多的内存空间。)

发生内存交换其实并不好。通常,你只需要观察磁盘活动以及系统对命令的响应程度就能知道这个系统是否在进行交换。通常在使用非常不合理的命令时才会发生交换,如尝试编辑一个大小为 5 GB 的文件时。如果交换在你的系统上是常态,那最好的办法就是为你的系统添置更多的物理内存。

2.2.1.3. 常用分区

在分配磁盘时,有些分区不是必须的,但却值得你考虑。以下列表并不全面,仅供参考。

  • /boot 分区 - 强烈推荐。此分区用于存储内核和其它启动信息。为了减少大容量磁盘启动时的潜在问题,尽量将该分区设为磁盘驱动器上第一个物理分区。100 MB 的空间就十分充裕了。

  • /home 分区 - 强烈推荐。home 目录可用于跨发行版或多个 LFS 版本之间共享用户自定义内容。应该将尽量多的磁盘都分配给 home 分区。(译者注:home 分区尽量大的意义在于,传统的 Linux 哲学思想中 home 分区用于存储用户的个人文件。且即使系统重装,也无须格式化 home 分区。甚至,新的Linux 系统的用户名完全可以和之前的一样。不过,其实笔者建议用户再单独给出一个分区,用于存储那些“永恒”不变的内容,比如下载的系统镜像等。这样的分区可以挂载在 /mnt 目录下。)

  • /usr 分区 - 独立的 /usr 分区常见于服务器或无盘工作站。LFS 通常不需要。5 GB 大小足以应付大部分安装。

  • /opt 分区 - 这个分区在 BLFS 中比较有用,因为像 Gnome 或 KDE 这样的大型安装包可以装在此分区中,而不需要将文件塞到 /usr 分区。如果使用的话,5 到 10 GB 的空间就足够了。

  • /tmp 分区 - 独立的 /tmp 分区是比较少见的,但这在配置瘦客户端时会有用。如果使用的话,很少超过几 GB 。

  • /usr/src 分区 - 这个分区可用于存储 BLFS 源文件并在构建不同版本的 LFS 中共享。它也可用于构建 BLFS 软件包。30 - 50 GB 的分区可以提供足够的空间。

任何你需要在启动时自动挂载的单独分区都需要写入到 /etc/fstab 文件中。有关如何指定分区的细节将在 第8.2节,“创建 /etc/fstab 文件”中讨论 。  


创建者:Gerard Beekmans

编辑者:Matthew Burgess 和 Armin K.

翻译团队:LCTT

译者/校对:kevinSJ,dongfengweixiao,wxy

原文链接 




推荐阅读
  • 本项目旨在开发一款能够高效转换MODBUS协议至MQTT协议的设备,以适应现代物联网环境下的数据传输需求。通过此装置,可以有效解决不同品牌传感器协议不兼容的问题,简化云端接入流程,提高数据处理效率。 ... [详细]
  • 本文探讨了为何在Linux系统上进行项目开发的重要性,并详细介绍了如何在Ubuntu系统上安装PyCharm这一流行的Python集成开发环境(IDE)。通过本文,您将了解在Linux环境下进行Python开发的优势及具体安装步骤。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 本文探讨了在使用 ClickOnce 部署方式时遇到的自动更新失败问题,包括本地安装与服务器安装的不同表现,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了MySQL表分区的概念、类型及其在实际应用中的实施方法,特别是针对Zabbix数据库的优化策略。 ... [详细]
  • 我们正在使用GNU Make来构建我们的系统,在makefile文件的末尾,我们通过一个名为Makedepends的包含来生成一系列的.d文件。然而,当文件被删除或移动时,依赖关系会中断,我们需要寻找一种方法来优雅地处理这种情况。 ... [详细]
  • 使用PHP与织梦正则表达式提取顶级域名
    本文介绍如何利用PHP和织梦CMS中的正则表达式功能来高效地提取URL中的顶级域名。文章不仅提供了代码示例,还讨论了相关的技术细节。 ... [详细]
  • 本文介绍如何通过配置Linux服务器作为路由器来实现两个不同网段(192.168.1.0/24 和 192.168.2.0/24)之间的互联互通。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • 本文详细介绍了如何在Ubuntu操作系统中安装和配置Maven,包括必要的环境准备和验证步骤。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
  • 本文详细介绍了Python中的流程控制与条件判断技术,包括数据导入、数据变换、统计描述、假设检验、可视化以及自定义函数的创建等方面的内容。 ... [详细]
author-avatar
小薇虫虫_851_413
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有