Как Вы сравниваете две корневых файловых системы - но игнорируете точки монтирования?

У меня есть rootfs / но в этом я имею /mnt/another_rootfs то, которое содержит секунду, смонтировало rootfs.

Я хочу сравнить файлы в них..., но когда я делаю somthng как: diff -r / /mnt/another_rootfs Я начинаю получать все сравниваемые точки монтирования (который я не так интересуюсь), но также и / rootfs будет также содержать смонтированное второе /mnt/another_rootfs ... это вызывает проблемы также.

Таким образом, я действительно просто хочу к разности файлы, которые на самом деле смонтированы на / по сравнению с файлами, смонтированными на /mnt/another_rootfs и не рекурсивно вызывают в другое монтирование.

Это возможно?

1
задан 1 October 2018 в 19:20

2 ответа

Решение для командной строки легко при инвертировании вопроса, "Я хочу 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
1
ответ дан 7 December 2019 в 13:21

Можно смонтировать раздел, который содержит /- файловая система в настоящее время загруженной установки на второй точке монтирования и сравнивает эту точку монтирования с точкой монтирования другого /- файловая система.

Использовать lsblk -f проверять, в котором смонтирован раздел /.

Затем смонтируйте раздел с

sudo mount -t ext4 /dev/sdXY /mnt (replace XY with the found value)

Выдержать сравнение /mnt с папка, которая является точкой монтирования другого /- файловая система.

Размонтирование с sudo umount /mnt

1
ответ дан 7 December 2019 в 13:21

Другие вопросы по тегам:

Похожие вопросы: