% cat /etc/fstab
/dev/sda1 / ext2 defaults 1 1
/dev/sda2 /usr/local ext2 defaults 1 1
/dev/sda4 /home ext2 defaults 1 1
/dev/sdb1 swap swap defaults 0 0
/dev/sdb3 /export ext2 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
/dev/fd0 /mnt ext2 defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 ro 0 0
这是我在尝试了解设备安装时从网站上获得的一个随机示例。作为一个有 Windows 背景的人,我很难理解挂载点的概念。
以下是我的理解,有错误的地方请指正:
- 所有检测到的设备都会进入该
/dev
文件夹。 /sda1
是 SCSI 驱动器的第一个分区,安装在根目录上,因为传说必须将一个驱动器安装在根目录上。swap
不需要挂载点。
我不明白的是为什么其他sda
分区有不同的安装点。他们不应该都去吗/mnt
?
答案1
为了更好地理解你应该记住一些 Linux 概念:“你是老板,你应该可以选择任何你想要的”。 每个分区的数量可以通过以下方式挂载
- 静态(每次启动):通过记录
/etc/fstab
- 手动:当您使用
mount
命令时 - 自动(切换到时):由
udev
恶魔根据其规则文件,像往常一样可以作为/media/$USER/$DISK_LABEL
挂载点。
一切都可以根据你自己的想法改变。仅同意用作/mnt
手动安装的地方。像往常一样,在安装之前已在文件夹中创建了一个子文件夹(例如,/mnt/DATA
用于包含数据文件的分区、/mnt/MUSIC
用于包含音乐文件的分区等)。但我更喜欢将此类分区直接安装到我的文件夹中的适当文件夹中$HOME
。一切都由你选择。
只是为了记住“权力越大,责任越大!“有很多规则和协议,所以为什么这样做或那样做。所以你最好在改变一些东西之前研究问题。
答案2
他们不应该都去/mnt吗?
他们为什么要这么做?您创建了不同的分区,每个分区都有一个用途,并根据分区的用途为分区分配了挂载点。没有一个地方应该安装所有分区,如果需要,您可以选择根本不安装它们。
在示例中,您说为/home
、/usr/local
和分配一个单独的分区/export
,我可以随意猜测,这样您就可以重新安装并重用这些分区,而不必担心丢失数据。
总结:没有分区的目录应该被安装。您可以将它们安装在任何您想要满足您需要的地方(尽量避免明显的警告,例如,,,/run
... )。/sys
/dev
答案3
要了解 UNIX 文件系统是如何组织的,您需要了解文件系统层次结构标准。
一般来说,要安装 Linux 机器,您至少需要有 2 个分区/
和swap
.如果您没有需要大量交换的进程,您也可以省略swap
。
据说它/
是文件系统的根,swap
用于内存交换。其他目录如/boot
、/home
、/usr
、/var
、/tmp
等可以放置在不同的分区中,也可以与所在分区一起放置/
。
人们必须根据自己的具体要求来决定这种布局。例如,数据库服务器需要有一个巨大的/var
单独分区,/tmp
如果服务器/服务写入太多临时数据,则需要单独保存,以避免填满/
分区。选择在不同分区中使用不同的目录是基于场景以及哪种文件系统适合他们的需要。
/dev
是一个挂载了名为 的虚拟文件系统sysfs
。该/dev
目录包含内核检测到的所有设备。中的文件/dev
是根据硬件删除/插入创建和删除的,这是由udev
守护进程控制的。
/mnt
是放置临时挂载文件系统的空间。
答案4
关于 Unix,需要了解的最重要的一点是,挂载分区和目录之间没有重大区别:对于大多数用途来说,它们是相同的。
这就是为什么他们不只是将所有安装点都推到/mnt
或下/media
。它们并不像 Windows 上那样特殊,它们只是目录!
相反,Unix 从挂载点和目录中构建了一个层次结构(现在通常基于文件系统层次结构标准)。
唯一的“警告”是,某些东西需要位于根分区上,以便内核自行引导(尽管用于引导的 ramdisk 稍微改变了这一点,但这是另一个答案的故事)