如何编辑和理解/ etc / fstab

如何编辑和理解/ etc / fstab – 1.1

有一个文件叫做 /etc/fstab 在您的Linux系统中。 了解其内容的含义以及如何将其与 mount 命令。 当你学会了解 fstab 文件,您也可以自己编辑其内容。

在这个tuX文件中,我假设你已经知道如何使用.this文件系统和分区 mount 命令。 如果您不这样做,建议您在阅读此文件之前先阅读Mounting tuXfile。

 

什么是fstab以及为何有用

fstab 是一个配置文件,其中包含计算机中所有分区和存储设备的信息。 该文件位于 /etc,所以这个文件的完整路径是 /etc/fstab.

/etc/fstab 包含有关分区和存储设备应安装在何处以及如何安装的信息。 如果您无法从Linux访问Windows分区,无法以普通用户的身份挂载CD或写入软盘,或者CD-RW出现问题,则可能是配置错误 /etc/fstab 文件。 因此,您通常可以通过编辑来修复安装问题 fstab 文件中。

/etc/fstab 只是纯文本文件,因此您可以使用任何熟悉的文本编辑器打开和编辑它。 但是,请注意,编辑之前必须具有root特权。 fstab。 因此,要编辑文件,您必须以root用户身份登录或使用 su 命令成为root。

文件概述 >

当然每个人都有一点不同 /etc/fstab 文件,因为不同系统上的分区,设备及其属性不同。 但基本结构 fstab 总是一样的这是一个内容示例 /etc/fstab:

的/ dev / hda2 / ext2 默认 1 1
的/ dev / hdb1 /主页 ext2 默认 1 2
的/ dev / CDROM /媒体/ CDROM 汽车 RO,NOAUTO,用户EXEC 0 0
的/ dev / fd0 /媒体/软盘 汽车 RW,NOAUTO,用户,同步 0 0
进程 / proc中 进程 默认 0 0
的/ dev / hda1 交换 交换 PRI = 42 0 0

这些胡言乱语是什么意思? 如您所见,每一行(或每一行)都包含一个设备或分区的信息。 第一列包含设备名称,第二列包含设备名称,第三列是文件系统类型,第四列是安装选项,第五(一个数字)转储选项,第六个(另一个数字)文件系统检查选项。 让我们仔细看看这些东西。

1st和2nd列:设备和默认安装点 >

第一列和第二列应该非常简单。 他们告诉了 mount 命令完全相同的东西  展示 mount 当你手动挂载东西时:设备或分区是什么,挂载点是什么。 为设备指定的挂载点 /etc/fstab 是其默认安装点。 如果在安装设备时未指定任何其他安装点,则该目录将是设备的安装目录。

就像您已经从Mounting tuXfile中学到的一样,大多数Linux发行版都为挂载点创建特殊目录。 大多数发行版都在 /mnt,但有些(至少是SuSE)下 /media。 正如您在查看示例时可能注意到的那样 fstab,我以SuSE的挂载点为例。

这是什么意思呢? 如果我输入以下命令:
mount /dev/fd0
…我的软盘将被装入 /media/floppy,因为这是在中指定的默认安装点 /etc/fstab。 如果没有条目 /dev/fd0 在我 fstab 当我发出上述命令时, mount 变得非常困惑,因为它不知道将软盘安装在哪里。

您可以自由更改列出的默认挂载点 /etc/fstab 如果您不满意默认发行版给您的默认设置。 只要确保安装点是系统上已经存在的目录即可。 如果没有,只需创建它。

Linux系统启动时,也会自动挂载某些分区和设备。 例如,看看这个例子 fstab 以上。 有些行看起来像这样:

/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /home ext2 defaults 1 2

如您所知,这些行表示 /dev/hda2 将安装到/和 /dev/hdb1 至 /home。 当您的Linux系统启动时,此操作会自动完成……否则,您将很难使用凉爽的Linux系统,因为您使用的所有程序都位于/中,如果/,您将无法运行它们。没有安装! 但是系统如何知道要挂载的位置 /dev/hda2 和 /dev/hdb1? 通过观察 /etc/fstab 文件当然。

3rd列:文件系统类型 >

第三栏 /etc/fstab 指定设备或分区的文件系统类型。 支持许多不同的文件系统,但我们仅介绍最常见的文件系统。

ext2和ext3 您的Linux分区很可能是Ext3。 Ext2曾经是Linux的标准文件系统,但是如今,Ext3和ReiserFS通常是几乎每个新Linux发行版的默认文件系统。 Ext3是一种较新的文件系统类型,与Ext2不同之处在于 轴颈,这意味着如果您在没有正确关闭计算机的情况下关闭计算机,则不会丢失任何数据,并且系统在下次启动时也不会花费时间进行文件系统检查。

ReiserFS文件系统 您的Linux分区很可能被格式化为ReiserFS。 像Ext3一样,ReiserFS是日志文件系统,但是比Ext3先进得多。 许多Linux发行版(包括SuSE)已经开始使用ReiserFS作为Linux分区的默认文件系统。

交换 文件系统名称是不言自明的。 交换分区中使用文件系统类型“ swap”。

vfat和ntfs 您的USB记忆棒很可能被格式化为Vfat(更广泛地称为FAT32)。 您的Windows分区可能是Vfat或NTFS。 9x系列(95,98,ME)都使用Vfat,NT系列(NT,2000,XP,Vista,7)使用NTFS,但它们也可以格式化为Vfat。

汽车 不,这不是文件系统类型🙂选项“自动”仅表示自动检测到文件系统类型。 如果看这个例子 fstab 在上面的代码中,您将看到软盘和CD-ROM都具有“自动”作为其文件系统类型。 为什么? 它们的文件系统类型可能有所不同。 一张软盘可能针对Windows格式化,另一张软盘针对Linux的Ext2格式化。 这就是为什么让系统自动检测媒体的文件系统类型(例如软盘和cdrom)是明智的。

4th列:装载选项 >

第四栏 fstab 列出设备或分区的所有挂载选项。 这也是最令人困惑的一栏 fstab 文件,但是了解一些最常用的选项的含义可以使您免于头疼。 是的,有很多可用的选项,但我只会看看使用最广泛的选项。 有关更多信息,请查看的手册页。 mount.

汽车和noauto 随着 auto 选项,设备将自动挂载(启动时,就像我之前告诉你的,或者当你发布时 mount -a 命令)。 auto 是默认选项。 如果您不想自动安装设备,请使用 noauto 选项 /etc/fstab。 同 noauto,该设备只能明确安装。

用户和nouser 这些是非常有用的选择。 该 user 选项允许普通用户安装设备,而 nouser 只允许root用户挂载设备。 nouser 是默认设置,这是新Linux用户头痛的主要原因。 如果您无法以普通用户的身份挂载cdrom,软盘,Windows分区或其他东西,请添加 user 选项进入 /etc/fstab.

exec和noexec exec 允许您执行该分区上的二进制文件,而 noexec 不允许您这样做。 noexec 对于包含您不想在系统上执行的二进制文件或什至无法在系统上执行的二进制文件的分区,这可能很有用。 Windows分区可能就是这种情况。

exec 是默认选项,这是一件好事。 想象一下,如果你不小心使用了会发生什么,会发生什么 noexec Linux根分区的选项...

ro 以只读方式挂载文件系统。

rw 以读写方式挂载文件系统。 同样,使用此选项可能会解决许多新Linux用户的头痛问题,这些新用户因为无法写入软盘,Windows分区或其他内容而束手无策。

同步和异步 如何完成文件系统的输入和输出。 sync 表示它是同步完成的。 如果看这个例子 fstab,您会注意到这是与软盘一起使用的选项。 用简单的英语来说,这意味着,例如,当您将文件复制到软盘时,更改实际上是在软盘上写入的。 同时, 你发出复制命令。

但是,如果你有 async 选项 /etc/fstab,输入和输出是异步完成的。 现在,当您将文件复制到软盘时,更改可能会长时间物理写入 after 发出命令。 这还不错,有时可能是有利的,但可能会导致一些令人讨厌的事故:如果您不先卸载就卸下软盘,那么复制的文件可能还不存在于软盘上!

async 是默认值。 但是,使用它可能是明智的 sync 使用软盘,尤其是如果您已经习惯了Windows中的处理方式,并且倾向于先卸载软盘再将其卸载。

默认 使用默认选项rw,suid,dev,exec,auto,nouser和async。

5th和6th列:转储和fsck选项 >

转储,呃, 什么 选项? 好吧,dump是备份实用程序,而fsck是文件系统检查实用程序。 我不会在这里详细讨论它们(他们俩都需要他们自己的tuXfile),但是我会提到它们,因为否则,您将花费一天的剩余时间来思考这些事情在上帝的绿色地球上意味着什么。

5th列中的 /etc/fstab 是转储选项。 转储会对其进行检查,并使用该数字来确定是否应备份文件系统。 如果为零,则转储将忽略该文件系统。 如果看这个例子 fstab,您会注意到在大多数情况下,第5列为零。

第6列是fsck选项。 fsck查看第6列中的数字,以确定应该检查文件系统的顺序。 如果为零,则fsck将不检查文件系统。

示例/ etc / fstab条目 >

举个例子,我们来看几个 fstab 对于Linux的新用户来说,条目已成为无穷无尽的麻烦:软盘和CD-ROM(尽管如今,软盘已不再那么重要了)。

/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0

此行表示软盘已安装到 /media/floppy 默认情况下,自动检测其文件系统类型。 这很有用,因为软盘的类型可能会谨慎。 请特别注意 rw 和 用户选项:如果您希望能够像普通用户一样挂载和写入软盘,它们必须在那里。 如果您遇到此问题,请检查您的 fstab 文件以查看是否存在这些选项。 还要注意 同步 选项。 它也可以是异步的,但是由于前面讨论过的原因,它是同步的。

/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0

再次注意, 用户 该选项使您能够以普通用户身份安装CD。 CD-ROM具有ro选项,因为它不需要挂载可读写的CD-ROM,因为无论如何您都无法对其进行写入。 另请注意 EXEC 选项。 如果您希望能够执行CD中的某些内容,则特别有用。

还要注意 NOAUTO 该选项与软盘和CD-ROM一起使用。 这意味着当您的Linux系统启动时,它们不会自动挂载。 这对于可移动媒体很有用,因为有时在启动系统时不会有任何软盘或CD-ROM,因此没有任何理由尝试安装甚至不存在的东西。