У меня есть rootfs /
но в этом я имею /mnt/another_rootfs
то, которое содержит секунду, смонтировало rootfs.
Я хочу сравнить файлы в них..., но когда я делаю somthng как: diff -r / /mnt/another_rootfs
Я начинаю получать все сравниваемые точки монтирования (который я не так интересуюсь), но также и /
rootfs будет также содержать смонтированное второе /mnt/another_rootfs
... это вызывает проблемы также.
Таким образом, я действительно просто хочу к разности файлы, которые на самом деле смонтированы на /
по сравнению с файлами, смонтированными на /mnt/another_rootfs
и не рекурсивно вызывают в другое монтирование.
Это возможно?
Решение для командной строки легко при инвертировании вопроса, "Я хочу diff /mnt/another_rootfs /
":
find /mnt/another_rootfs -xdev -type f -print0 | \
xargs -0 -r $HOME/bin/diffwithslash
Где $HOME/bin/diffwithslash
что-то как:
#!/bin/bash
while [[ $# -gt 0 ]] ; do
afile="$1"
shift
bfile="${afile#/mnt/another_rootfs}"
if [[ -f "$afile" ]] && [[ -f "$bfile" ]] ; then
diff "$bfile" "$afile"
fi
done
exit 0
Можно смонтировать раздел, который содержит /
- файловая система в настоящее время загруженной установки на второй точке монтирования и сравнивает эту точку монтирования с точкой монтирования другого /
- файловая система.
Использовать lsblk -f
проверять, в котором смонтирован раздел /
.
Затем смонтируйте раздел с
sudo mount -t ext4 /dev/sdXY /mnt (replace XY with the found value)
Выдержать сравнение /mnt
с папка, которая является точкой монтирования другого /
- файловая система.
Размонтирование с sudo umount /mnt