На этот вопрос уже есть ответ:
Каких каталогов на моем компьютере с Ubuntu на самом деле нет на моем жестком диске? Я делаю личное программное обеспечение для резервного копирования, и некоторые каталоги не являются «настоящими». Какие каталоги на самом деле отсутствуют на моем жестком диске?
Спасибо
Для списка всех смонтированных файловых систем и их каталогов точки монтирования, которые являются виртуальными т.е. не поддержанные устройством хранения данных физического диска можно проанализировать вывод эти 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
, /proc
, /run
, /sys
и /tmp
являются чисто виртуальными. Обратите внимание, что, в то время как первые четыре каталога являются виртуальными на всех установках Ubuntu, /tmp
, обычно хранится на нем жесткий диск, если Вы вручную не делаете его tmpfs как, я сделал. Это никогда не должно включаться в резервное копирование так или иначе все же.
, Если Вы хотите способ уменьшить тот список путей и отфильтровать все те, которые являются только подкаталогами уже упомянутых путей (как, например, /dev/pts
может быть опущен, потому что /dev
уже перечислен), посмотрите Наличие списка путей, как я могу отфильтровать подкаталоги ранее упомянутых путей?
Это действительно зависит от того, как Вы собираетесь восстановить свою систему. Если Вы восстановите затем, Вам только нужна конфигурация/файлы данных для Ваших сервисов (например: / и т.д., / выбирают, / var, / домой)
, Если Вы после полного восстановления системы затем он Вы могли бы опустить/proc, / загружают &/dev. Затем можно установить минимальную ОС от загрузочного носителя и затем восстановить систему через резервное копирование.