2011-09-11 127 views
0

我已经编写了一个代码来分析RHEL的文件系统统计信息(比如io,总共没有文件等)。现在用户删除文件系统并创建一个新的文件系统,但名称相同。 现在我的代码无法区分文件系统和显示有关FS的数据,这些数据会让用户感到困惑,比如属于哪个用户,哪些属于旧FS。 由于我的代码正在通过名称读取文件系统。所以,如果我得到操作系统分配的文件系统的唯一ID,它会有所帮助。 我希望操作系统在每次创建文件系统时都会分配唯一的ID。区分具有相同名称的不同文件系统

有人可以帮我解决这个问题吗?

+0

您已经在...中编写代码? –

+0

其bash脚本 – Joe

回答

1

您可以检查的UUID文件系统,每个文件系统都应该是唯一的。

看一看:

[[email protected]]# ls -l /dev/disk/by-uuid/ 

如果/dev/disk/by-uuid默认情况下没有(例如,在RHEL4)存在,你仍然可以查询使用tune2fsblkid的UUID。例如:

[[email protected]]# tune2fs -l /dev/sda1 | awk '/Filesystem UUID/{print $3}' 

[[email protected]]# blkid /dev/sda1 | awk '{print $3}' 

P.S.如果您需要执行反向映射(找到具有特定UUID的设备),则可以使用findfs UUID=<the-uuid>

+0

请注意,一个*可以*设置一个任意的UUID,所以如果你需要*绝对可靠性*,那么这是不够的。如果只有在没有人做任何恶意(或愚蠢)行为时才需要它,那么这应该就足够了。 –

+1

同意。这对于任务关键或安全驱动的目的来说是不够的,但作为一种方便的工具,只有很多人可以做到防范恶意使用。 –

+0

这几乎是我的意思,但你把它好多了。 –

1

您最好的选择很可能是用于存储有关文件系统的其他识别信息,除了它的名字,比如它的元数据,类型,它是在分区的UUID,等...

相关问题