首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨越文件系统边界的含义-单文件系统等

跨越文件系统边界的含义-单文件系统等
EN

Unix & Linux用户
提问于 2013-12-30 10:31:58
回答 1查看 17.7K关注 0票数 13

我计划使用r快照备份整个Linux系统,但我对-x选项( one_fs in rsnapshot.conf中的相同)感到困惑。手册页上写着:

-x一个文件系统,不要在每个备份点内交叉分区

我知道它不是一个特定的r快照选项,因为rsync、cp、tar和其他命令也提供了这个特性。

文件系统边界是指不同的分区吗?不同的坐骑点?不“交叉”他们是什么意思?

回到我的例子,我读到很多人建议使用-x和r快照,但我想知道这样做是否会损害我的备份的完整性。我想备份/下的所有内容,包括驻留在同一磁盘专用分区上的/boot/home,同时我不想备份不严格属于我的系统的文件和目录,如/mnt/media等。

在我的系统上执行mount命令将提供以下输出。实际上,使用rsnapshot -x时,哪些内容将包括在内,哪些内容将被遗漏?

代码语言:javascript
复制
/dev/sda7 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /tmp type tmpfs (rw,noexec,nosuid)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda6 on /boot type ext3 (rw)
/dev/sda8 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/myuser/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=myuser)
EN

回答 1

Unix & Linux用户

发布于 2013-12-30 10:46:36

为了简化事情,让我们只考虑两个分区。假设运行mount实际上产生了以下输出:

代码语言:javascript
复制
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
/dev/sda2 on /home type ext4 (rw)

当然,这是完全不现实的(/dev不会被填充,大量的东西依赖于sysfsprocfs等等)。我们就忽略这点吧。

跨越文件系统边界意味着更改为一个目录,其中底层文件系统(通常对应于底层分区)是不同的。通常,当有人谈到跨越文件系统边界时,他们是在遍历目录树的上下文中讨论这个问题的,不管是向下遍历还是向上遍历。

作为我意思的一个例子,以git为例。要确定某个目录是否是Git存储库,git首先检查当前工作目录中是否有一个名为".git“的文件夹。如果有,它就是一个Git存储库。如果没有,git将对当前目录的父目录执行相同的检查,依此类推。默认情况下,Git将一直这样检查,直到文件系统边界(或一旦到达/),此时它将放弃,并假设当前的工作目录实际上不是Git存储库。

假设您在git status中运行~/Desktop。Git检查是否有~/Desktop/.git目录.不是的。Git现在将检查父目录:有~/.git吗?不是的。文件系统边界起作用的关键是:由于/home是一个单独的分区,而不是检查/home/.gitgit会放弃,将警告打印到控制台,并假设当前工作目录不是Git存储库。它拒绝跨越文件系统边界。

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/107113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档