头图

Linux 文件系统基本介绍

JerryWang_汪子熙

想想有多个搁板的冰箱,可用于存放各种物品。 这些货架帮助您按形状、大小、类型等组织杂货项目。相同的概念适用于文件系统,它是一种以人类可用的形式存储和组织任意数据集合的方法的体现。

Linux 支持的不同类型的文件系统:

  • 传统磁盘文件系统:ext2、ext3、ext4、XFS、Btrfs、JFS、NTFS等。
  • 闪存文件系统:ubifs、JFFS2、YAFFS 等。
  • 数据库文件系统
  • 特殊用途的文件系统:procfs、sysfs、tmpfs、squashfs、debugfs 等。

分区是磁盘的物理连续部分,或者在某些高级设置中看起来如此。

文件系统是一种在硬盘(通常在一个分区)上存储/查找文件的方法。

人们可以将分区视为文件系统所在的容器,尽管在某些情况下,如果使用符号链接,文件系统可以跨越多个分区,我们将在稍后讨论。

附表中给出了 Windows 和 Linux 中文件系统之间的比较:

Linux 系统根据称为文件系统层次结构标准 (FHS) 的标准布局存储其重要文件,该标准由 Linux 基金会长期维护。有关更多信息,请查看文档:由 LSB 工作组创建的“文件系统层次结构标准”。制定标准旨在确保用户、管理员和开发人员可以在不同发行版之间移动,而无需重新学习系统的组织方式。

Linux 使用“/”字符来分隔路径(与 Windows 使用“\”不同),并且没有驱动器号。多个驱动器和/或分区作为目录安装在单个文件系统中。对于最近的 Linux 系统,可移动媒体(例如 USB 驱动器、CD 和 DVD)将显示为已安装在 /run/media/yourusername/disklabel 下,或者对于较旧的发行版在 /media 下。例如,如果您的用户名是学生,则可能会在 /run/media/student/FEDORA 中找到标有 FEDORA 的 USB 笔式驱动器,并且该光盘上的文件 README.txt 将位于 /run/media/student/FEDORA/ README.txt。

所有 Linux 文件系统名称都区分大小写,因此 /boot、/Boot 和 /BOOT 代表三个不同的目录(或文件夹)。 许多发行版将正确系统操作所需的核心实用程序与其他程序区分开来,并将后者放在 /usr 下的目录中(想想用户)。 要了解其他程序的组织方式,请在上图中找到 /usr 目录,并将其子目录与直接存在于系统根目录 (/) 下的子目录进行比较。

Choosing a Linux Distribution

假设您打算购买一辆新车。 您需要考虑哪些因素才能做出正确的选择? 需要考虑的要求包括适合您家人的车辆尺寸、发动机类型和燃油经济性、您的预期预算和可用融资选项、可靠性记录和售后服务等。

同样,确定要部署的发行版也需要进行规划。 该图显示了一些选择,但不是所有选择。 请注意,许多嵌入式 Linux 系统使用定制的内容,而不是 Android 或 Yocto。

在决定发行版之前值得考虑的一些问题包括:

  • 系统(服务器或桌面)的主要功能是什么?
  • 哪些类型的包对组织很重要? 例如,网络服务器、文字处理等。
  • 需要多少硬盘空间以及有多少可用空间? 例如,在嵌入式设备上安装 Linux 时,空间通常受到限制。
  • 软件包多久更新一次?
  • 每个版本的支持周期是多久? 例如,LTS 版本有长期支持。
  • 您是否需要供应商或第三方的内核定制?
  • 你在什么硬件上运行? 例如,它可能是 X86、ARM、PPC 等。
  • 您需要长期稳定性吗? 您能接受(或需要)运行最新软件的更易变的尖端系统吗?

分区布局需要在安装时确定; 以后可能很难改变。 虽然 Linux 系统通过在文件系统中的特定点挂载它们来处理多个分区,并且您可以在以后随时修改设计,但尝试并正确开始总是更容易。

几乎所有的安装程序都提供合理的默认布局,在一个大分区和一个较小的交换分区上将所有空间专用于普通文件,或者为一些空间敏感区域(如 /home 和 /var)提供单独的分区。 如果您有特殊需要,或者您想使用多个磁盘,您可能需要覆盖默认值并做一些不同的事情。

软件的选择

所有安装都包括运行 Linux 发行版的最低限度的软件。

大多数安装程序还提供用于添加软件类别的选项。常见应用程序(例如 Firefox Web 浏览器和 LibreOffice 办公套件)、开发人员工具(例如 vi 和 emacs 文本编辑器,我们将在本课程后面探讨)和其他流行服务(例如 Apache Web 服务器工具或MySQL 数据库)通常包括在内。此外,对于任何带有图形桌面的系统,默认安装一个选定的桌面(例如 GNOME 或 KDE)。

所有安装人员都在新系统上设置了一些初始安全功能。一个基本步骤包括为超级用户 (root) 设置密码和设置初始用户。在某些情况下(如 Ubuntu),只设置一个初始用户;没有配置直接 root 登录,root 访问需要先以普通用户身份登录,然后使用 sudo,我们将在后面描述。一些发行版还会安装更高级的安全框架,例如 SELinux 或 AppArmor。例如,所有基于 Red Hat 的系统,包括 Fedora 和 CentOS,默认总是使用 SELinux,而 Ubuntu 自带 AppArmor 并运行。

软件的安装

与其他操作系统一样,Linux 发行版在可移动媒体上提供,例如 USB 驱动器和 CD 或 DVD。 大多数 Linux 发行版还支持启动小映像并通过网络下载系统的其余部分。 这些小映像可在媒体上使用,或作为网络引导映像使用,在这种情况下,可以在不使用任何本地媒体的情况下执行安装。

许多安装程序可以完全自动执行安装,使用配置文件指定安装选项。 此文件对于基于 Red Hat 的系统称为 Kickstart 文件,对于基于 SUSE 的系统称为 AutoYAST 配置文件,对于基于 Debian 的系统称为 Preseed 文件。

每个发行版都提供自己的文档和工具来创建和管理这些文件。

所有发行版的实际安装过程都非常相似。

从安装介质启动后,安装程序启动并询问有关如何设置系统的问题。 如果提供了自动安装文件,则会跳过这些问题。 然后,执行安装。

最后,计算机重新启动到新安装的系统。 在某些发行版上,系统重新启动后会询问其他问题。

大多数安装程序都可以选择下载和安装更新作为安装过程的一部分; 这需要互联网访问。 否则,系统会在安装完成后使用其正常的更新机制来检索这些更新。

更多Jerry的原创文章,尽在:"汪子熙":

阅读 195

Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

719 声望
997 粉丝
0 条评论
你知道吗?

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

719 声望
997 粉丝
宣传栏