Fedora 8 和 Fedora 15 文件系统之间的区别

Fedora 8 和 Fedora 15 文件系统之间的区别

我在开发 Amazon EC2 实例上运行 Fedora。我最近从 Fedora 8 迁移到了 Fedora 15。我注意到,当我执行“cat /etc/fstab”时,我在 Fedora 15 上看到以下内容:

LABEL=79d3d2d4    /         ext4    defaults         1 1
none       /dev/pts  devpts  gid=5,mode=620   0 0
none       /dev/shm  tmpfs   defaults         0 0
none       /proc     proc    defaults         0 0
none       /sys      sysfs   defaults         0 0

当我在较旧的 Fedora 8 实例上运行“cat /etc/fstab”时,我看到以下内容:

/dev/sda1               /                       ext3    defaults 1 1
/dev/sda2               /mnt                     ext3    defaults 0 0
/dev/sda3               swap                    swap    defaults 0 0
none                    /dev/pts                devpts  gid=5,mode=620 0 0
none                    /dev/shm                tmpfs   defaults 0 0
none                    /proc                   proc    defaults 0 0
none                    /sys                    sysfs   defaults 0 0

从我对 Linux 的理解来看,我一直认为根驱动器始终位于 /dev/sda1 上。因此 Fedora 8 fstab 对我来说很有意义。

为什么 Fedora 15 文件系统不同?为什么 /dev/sda1 没有以 root 身份挂载?Fedora 15 上的 /mnt 和 /swap 去哪儿了?我的 Fedora 15 没有任何问题,只是试图了解这些变化并更好地学习。

答案1

第一条条目可能确实提到了sda1;使用标签或 UUID 现在已成为常态,因为同一个磁盘可能并不总是sda1像您假设的那样。例如,假设您升级了内核,驱动程序中的微小变化意味着您的磁盘控制器驱动程序以新的顺序加载。突然间,它sda变成了曾经的样子sdb,反之亦然。再举一个例子,插入的 USB 设备将使用下一个可用的驱动器,而不是上次插入时使用的驱动器。通过使用 UUID 或标签映射,您可以为特定的 USB 驱动器创建挂载点。

关于 swap 和 /mnt:您没有附加任何 swap 或 /mnt 卷。如果您使用的是 Amazon EC2 映像,则应查看此查找图表。它列出了您的实例附带的临时存储(免费!)。如果您使用的实例类型显示交换或 /mnt 卷,请将它们添加到您的 fstab。

/mnt是通用存储空间,而 swap 用于内存缓存。如果您的应用性能在没有 swap 的情况下下降,您可以添加本地文件,如下所示:

dd if=/dev/zero of=/swapfile bs=1024 count=`echo ${NUM_MEGS}*1024|bc`
mkswap /swapfile
echo /swapfile swap swap defaults 0 0 >> /etc/fstab

答案2

根驱动器不一定是 /dev/sda1,它可以是任何驱动器,这实际上赋予了 unix 文件系统如此大的灵活性。

按照 F8 实例的方式执行时,问题在于设备是根据其 SCSI ID(或总线顺序)命名的。因此,假设您有一个 SCSI 驱动器,ID 为 4,并且这是系统上唯一的驱动器。它将获得 /dev/sda,一切正常。现在您想添加一个新驱动器,并且它被设置为 SCSI ID 3。现在,新驱动器变为 /dev/sda,而旧驱动器变为 /dev/sdb,并且 fstab 中的所有值都无效。

标记驱动器并按标签挂载可让您灵活地不关心总线顺序,无论物理地址是什么,它始终都会挂载。您可以对 UUID 执行相同操作。您可以通过执行查看这些值tune2fs -l /dev/sda。标记的驱动器很可能仍在实际挂载 /dev/sda1。

答案3

在 Linux 中,持久命名有不同的方案:

  • 设备名称:/dev/sd[abc]x
  • LABEL:文件系统的标签
  • UUID:每个文件系统唯一的标识符

您可以通过以下方式检查blkid或查看/dev/disk

# blkid /dev/sda3
/dev/sda3: LABEL="/" UUID="dfe84dbf-d7fd-4038-872c-6dfc31f0be6f" TYPE="ext3" SEC_TYPE="ext2" 

# ls -lF /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 May 10 15:02 boot -> ../../sda1
lrwxrwxrwx 1 root root 10 May 10 15:02 SWAP-sda2 -> ../../sda2

# ls -lF /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 10 15:02 588a12e5-a032-43e7-a21c-99a1ddacd6fb -> ../../sda1
lrwxrwxrwx 1 root root 10 May 10 15:02 dfe84dbf-d7fd-4038-872c-6dfc31f0be6f -> ../../sda3

swap安装时分区可能存在,也可能不存在。

相关内容