头图

Linux 文件系统基本介绍

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

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的原创文章,尽在:"汪子熙":


Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使
884 声望
1.6k 粉丝
0 条评论
推荐阅读
SAP UI5 XML 视图中数据绑定路径语法的难点和易混淆点的专题讲解
本教程我们花费了四个篇幅的文章,讲解了 SAP UI5 XML 视图里控件的数据绑定的语法:SAP UI5 应用开发教程之七 - JSON 模型初探SAP UI5 应用开发教程之八 - 多语言的支持SAP UI5 应用开发教程之十七 - 聚合绑定在...

JerryWang_汪子熙

封面图
使用kubeasz部署高可用kubernetes集群
本实验采用kubeasz作为kubernetes环境部署工具,它是一个基于二进制方式部署和利用ansible-playbook实现自动化来快速部署高可用kubernetes集群的工具,详细介绍请查看kubeasz官方。本实验用到的所有虚拟机默认软...

李朝阳4阅读 786

麒麟操作系统 (kylinos) 从入门到精通 - 故障排查篇
OS平台:银河麒麟桌面操作系统(飞腾版)V10 SP1操作系统镜像:Kylin-Desktop-V10-SP1-General-Release-2203-ARM64

Oulaa3阅读 1.6k

封面图
linux中用户登录加载配置文件的过程
shell的类型(站在用户登录登录的角度)登录式shell正常通过某终端登录su - USERNAMEsu -l USERNAME非登录式shellsu USERNAME图形终端下打开命令窗口自动执行的shell脚本用户登录时相关的bash配置文件全局配置文件/...

Dabric阅读 5.3k评论 3

在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。

扣钉日记3阅读 1k

封面图
Ubuntu 20.04 搭建 Elasticsearch 7.x 小集群(qbit)
环境ES 节点硬件:3 台 AWS m5.4xlarge(16 vCPU/64GB 内存)Kibana 硬件:1 台 AWS m5.large(2 vCPU/8GB 内存)操作系统:Ubuntu 20.04 LTSElasticsearch 7.9.3Kibana 7.9.3机器示意图操作系统这里主要讲 EBS ...

qbit阅读 3.8k

9个超有用的 Linux Touch 命令实例讲解
touch 命令用于创建空文件,也用于更改 Linux 系统中现有文件的时间戳。这里更改时间戳意味着更新文件和目录的访问和修改时间。命令语法touch {options} {file}语法选项1) 创建一个空文件touch 命令创建一个空文...

鸠摩智首席音效师1阅读 1.7k

884 声望
1.6k 粉丝
宣传栏