Ubuntu 分区和哈希

Ubuntu 分区和哈希

我需要将 Ubuntu 拆分成两个分区:一个分区,包含所有需要不是随着时间的推移而变化,例如由于约会时间登录,另一个分区包含所有可能随时间变化的文件。为了检查第一个分区的哈希值(签名)是否保持不变(即不会随时间变化),我需要使用哈希算法,例如MD5或者SHA1

问题:

  1. 如何确定文件系统中每个分区包含哪些目录/文件?

  2. 如果 Ubuntu 保持正常工作,那么执行此分区的步骤是什么?

提前致谢 !

答案1

/总体而言,Linux 正在慢慢转向可以作为“只读”安装而其他分区可以作为“可写”安装的系统。

此移动通过将内容移动到以“run”为子目录的目录中来完成。这些是“可写的”。当您查看时,df -h您会看到其中的一些:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            5,8G     0  5,8G   0% /dev
tmpfs           1,2G  9,5M  1,2G   1% /run
/dev/sda2        46G  8,1G   36G  19% /
tmpfs           5,9G   31M  5,8G   1% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           5,9G     0  5,9G   0% /sys/fs/cgroup
/dev/sda1        47M  3,6M   43M   8% /boot/efi
/dev/sda5        34G   11G   22G  34% /home
/dev/sdb1       917G  235G  636G  27% /discworld
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs           1,2G   76K  1,2G   1% /run/user/1000

作为另一种措施,这些(通常)被安装为临时文件系统(tmpfs)。


现在来谈谈正题。

由于目前文件没有定义是否可写,因此它们分散在整个文件系统中。

遵循 FHS 并坚持主要目录:

  • /bin/lib/sbin/usr可以以只读方式安装。
  • /etc,,,,必须是/home可写的。/srv/tmp/var
  • /dev、、/proc/selinux/sys特殊的文件系统处理。

只读根Debian 页面上有一篇关于阻止目录变为只读的特定文件的更深入的文章。例如,/etc/在将其分为只读文件和可写文件方面,情况相当混乱。


链接末尾的命令仅适用于zsh。在聊天中@serg 提出了以下替代方案:

{ lsof +L1; lsof|sed -n '/SYSV/d; /DEL\|(path /p;' ; } |grep -Ev '/(dev|home|tmp|var)'

此命令列出打开的进程:

lsof /

这里有一个过滤器,仅显示阻止您以只读方式挂载的进程 ID:

lsof -F pa /home | awk '/^p/ {pid = substr($0, 2)} /^a.*w/ {print pid}'

Gilles 提出了最后一个所以赞同他的回答:)

相关内容