如何将 mlocate.db 与现有的进行比较?

如何将 mlocate.db 与现有的进行比较?

我继续运行rm -rf/var/cache/lxc没有意识到它充满了符号链接。我丢失了很多文件,包括大部分 /dev。我有mlocate.db16 小时前的。如何将文件列表mlocate.db与仍然存在的文件列表进行比较以获得丢失内容的完整列表? locate -e说它会给我仍然存在的文件,我基本上需要相反的东西。

编辑:谢谢你,cas。我花了一段时间,终于找到了问题所在:

#mount | grep /var/cache/lxc
devtmpfs on /var/cache/lxc/fedora/x86_64/bootstrap/dev type devtmpfs (rw,nosuid,seclabel,size=74173740k,nr_inodes=18543435,mode=755)
proc on /var/cache/lxc/fedora/x86_64/bootstrap/proc type proc (rw,relatime)
proc on /var/cache/lxc/yakkety/rootfs-amd64/proc type proc (rw,relatime)

答案1

  1. 制作备份副本/var/lib/mlocate/mlocate.db 现在,在 mlocate Updatedb cron 作业再次运行之前。

  2. 转储mlocate.db到文本文件:

    mlocate / | sort > /var/lib/mlocate/mlocate-old.txt

  3. 更新您的 mlocate.db。根据您使用的 UNIX 克隆或 Linux 发行版的类型,执行此操作的方法略有不同。例如,在 Debian 机器上,运行/etc/cron.daily/mlocate或仅运行updatedb.mlocate.

  4. 将新内容转储mlocate.db到文件中:

    mlocate / | sort > /var/lib/mlocate/mlocate-new.txt

  5. 使用例如 来查看更改diff -u /var/lib/mlocate/mlocate-{old,new}.txt

    输出可能很大,因此重定向到文件或通过管道进入less.

相关内容