Ubuntu 上的哪些目录实际上不在硬盘上?

Ubuntu 上的哪些目录实际上不在硬盘上?

我的 Ubuntu 计算机上的哪些目录实际上不在我的硬盘上?我正在制作个人备份软件,有些目录不是“真实的”。哪些目录实际上不在我的硬盘上?

谢谢

答案1

要列出所有已安装的文件系统及其虚拟的(即没有物理磁盘存储支持的)挂载点目录,您可以解析该命令的输出mount

/dev/sd为简单起见,我仅过滤掉所有以或开头的设备对应的挂载/dev/mmcblk,这些挂载应涵盖大多数硬盘分区和可移动媒体。这并不完美,因为您可能有显示不同的设备,因此不会被过滤掉,但由于您稍后仍会在输出中看到挂载的内容,因此我更喜欢这里的假阳性结果而不是假阴性。如果您发现需要添加某些内容,只需将其添加到第一个grep命令的正则表达式模式中,放在括号内(...),并用竖线与其他过滤行开头分隔开|

mount | grep -vE '^(/dev/sd|/dev/mmcblk)' | grep -oE '\S+ on \S+' | sort -k3 | column -t

这将生成一个挂载列表,就像我的示例机器上的挂载列表一样:

$ mount | grep -vE '^(/dev/sd|/dev/mmcblk)' | grep -oE '\S+ on \S+' | sort -k3 | column -t
udev           on  /dev
hugetlbfs      on  /dev/hugepages
mqueue         on  /dev/mqueue
devpts         on  /dev/pts
tmpfs          on  /dev/shm
proc           on  /proc
binfmt_misc    on  /proc/sys/fs/binfmt_misc
systemd-1      on  /proc/sys/fs/binfmt_misc
tmpfs          on  /run
cgmfs          on  /run/cgmanager/fs
hugetlbfs-kvm  on  /run/hugepages/kvm
tmpfs          on  /run/lock
tmpfs          on  /run/user/1000
gvfsd-fuse     on  /run/user/1000/gvfs
sysfs          on  /sys
efivarfs       on  /sys/firmware/efi/efivars
tmpfs          on  /sys/fs/cgroup
cgroup         on  /sys/fs/cgroup/blkio
cgroup         on  /sys/fs/cgroup/cpu,cpuacct
cgroup         on  /sys/fs/cgroup/cpuset
cgroup         on  /sys/fs/cgroup/devices
cgroup         on  /sys/fs/cgroup/freezer
cgroup         on  /sys/fs/cgroup/hugetlb
cgroup         on  /sys/fs/cgroup/memory
cgroup         on  /sys/fs/cgroup/net_cls,net_prio
cgroup         on  /sys/fs/cgroup/perf_event
cgroup         on  /sys/fs/cgroup/pids
cgroup         on  /sys/fs/cgroup/systemd
fusectl        on  /sys/fs/fuse/connections
pstore         on  /sys/fs/pstore
debugfs        on  /sys/kernel/debug
securityfs     on  /sys/kernel/security
none           on  /tmp

此列表应在右侧显示已安装虚拟文件系统的所有路径,并在左侧显示相应的文件系统类型。如上所述,由于/dev/sd*仅进行过滤,列表中可能会出现一些误报结果。

因此,从该列表我们可以得出结论/dev,、、和是纯虚拟的。请注意,虽然前四个目录在所有 Ubuntu 安装中都是虚拟的,但通常存储在硬盘上,除非您像我一样手动将/proc其设为 tmpfs。无论如何,它都不应包含在备份中。/run/sys/tmp/tmp

如果您想要一种方法来减少路径列表并过滤掉所有仅仅是已经提到的路径的子目录(例如/dev/pts可以省略因为/dev已经列出),请查看有了路径列表,我如何过滤掉前面提到的路径的子目录?

答案2

这实际上取决于您要如何恢复系统。如果您要重建,那么您只需要服务的配置/数据文件(例如:/etc、/opt、/var、/home)

如果您想要完全恢复系统,那么您可以忽略 /proc、/boot 和 /dev。然后您可以从启动媒体安装最小操作系统,然后通过备份恢复系统。

https://serverfault.com/questions/74696/linux-what-directories-should-i-exclude-when-backing-up-a-server

相关内容