本节书摘来自异步社区《Raspberry Pi用户指南》一书中的第2章,第2.6节,作者【英】Eben Upton , 【美】Gareth Halfacree,译者 王伟 , 许金超 , 郭栋 , 梁黎颖,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.6 文件系统布局
SD 卡中的内容是我们所介绍过的文件系统,它被分成多个部分,每个部分都带有特定的目的和功能。虽然了解各部分的作用对于用户来说不是必须的,但为了让用户更好地使用树莓派,了解一些基本的背景知识是没有坏处的。
2.6.1 逻辑布局
Linux对驱动器、文件、文件夹和设备的处理方式与其他的操作系统有所不同。不需要对每个驱动器都标有一个字母,所有的都作为根文件系统下面的一个分支。
如果你登录到派,输入 ls/你会看到不同的目录(参见图2-3)。其中有些是SD卡中的文件,有些是访问操作系统或硬件的虚拟目录。
Debian发行版可见的默认目录如下。
- boot:包含了启动Pi需要的Linux内核和其他软件包。
- bin:操作系统中相关的二进制文件都存储在这里,如需要运行的GUI。
- dev:这是一个虚拟目录,实际上并不存储在 SD 卡上。所有的连接到系统的设备包括存储设备、声卡和HDMI端口,可以从这里访问。
- etc:存储配置文件,包括用户列表和加密的密码。
- home:每个用户在该目录拥有一个子目录来存储所有的个人文件。
- lib:用来存储不同应用程序所需代码共享的库文件。
- lost+found:在系统崩溃时存储丢失文件碎片的特殊目录。
- media:可移动存储设备目录,如USB记忆棒或外部CD驱动器。
- mnt:此文件夹用于手动挂载的存储设备,如外部硬盘驱动器。
- opt:用来存储不是操作系统本身自带的软件。你安装到Pi的新软件通常会在这里。
- proc:这是另外一个虚拟目录,包含正在运行的程序的信息,即Linux中的进程。
- selinux:Linux内核中提供的强制访问控制(MAC)的安全系统,最初是由美国国家安全局开发。
- sbin:存储特殊二进制文件的目录,主要用于root(超级用户)账户对系统进行维护时使用。
- sys:操作系统文件存储目录。
- tmp:临时文件自动存储在这里。
- usr:此目录提供存储用户访问的程序。
- var:这是一个虚拟的目录,用它来存储程序运行时改变的值或变量。
2.6.2 物理布局
尽管前面的列表中显示了Linux中文件系统是如何组织的,但它并未说明文件是如何布局到SD卡上的。对于默认的Debian发行版,SD卡分为两个主要部分,每部分称作分区,分区可用来组织不同的内容,正如后面章节所做的那样。
在磁盘上的第一个分区是一个很小的(75 MB)、vfat格式的分区,和Windows为可移动驱动器使用的分区是一样的。该分区挂载在 / boot目录下,可从/boot目录访问,包含配置派和加载Linux本身需要的所有文件。
第二个分区更大些,是EXT4格式的,是原生的Linux文件系统为高速访问和数据安全设计的。此分区包括分布的主块。所有的程序、桌面、用户文件和任何你自己安装的软件都存储在这里。这占用了SD卡大部分空间。