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

Dat*_*fty 5 backup hard-drive 16.04

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

谢谢

Byt*_*der 4

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

为简单起见,我仅过滤掉与以/dev/sd或开头的设备相对应的所有安装/dev/mmcblk,这应该涵盖大多数硬盘分区和可移动介质。这并不完美,因为您可能拥有显示不同的设备,这些设备不会被过滤掉,但当您稍后仍然看到输出中安装的内容时,我更喜欢这里的误报结果而不是漏报。如果您发现需要添加某些内容,只需将其添加到第一个grep命令的正则表达式模式中,放在(...)括号内,并与其他以|管道开头的过滤行分隔开。

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

这将产生一个安装列表,就像我的示例机器上的列表一样:

$ 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
Run Code Online (Sandbox Code Playgroud)

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

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

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


Kyl*_*e H 1

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

如果您要进行完整的系统还原,那么您可以省略 /proc、/boot 和 /dev。然后,您可以从启动介质安装最低操作系统,然后通过备份恢复系统。

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