Я должен разделить Ubuntu в двух разделах: один раздел, который содержит все файлы, которые не изменяются со временем, например, из-за изменений в дате/времени и логинах и другом разделе, который содержит все те файлы, которые могли бы на самом деле изменяться со временем. Чтобы проверить, что хеширование первого раздела (подпись) остается таким же (т.е. это не изменяется со временем), я обязан использовать алгоритм хеширования как MD5 или SHA1.
Вопросы:
Как определить что каталоги/файлы в файловой системе включать в каждый раздел?
Шаги, чтобы сделать это разделение, при условии, что Ubuntu продолжает работать, как обычно?
Заранее спасибо!
Linux в целом перемещается медленно к системе где /
может быть смонтирован столь же и другие разделы "только для чтения" могут быть смонтированы как "перезаписываемые".
Это перемещение сделано движущимися вещами в каталоги с "выполненным" как подкаталог. Это "перезаписываемо". Когда Вы смотрите на 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
обрабатываются специальными файловыми системами.Readonlyroot на страницах Debian имеет более всестороннюю статью об определенных файлах, которые препятствуют тому, чтобы каталог был только для чтения. Например, /etc/
в значительной степени путаница в отношении получения, оно распалось на и перезаписываемые файлы только для чтения.
Команда в конце ссылки только работает на zsh
. В чате @serg придумал это как альтернативу:
{ lsof +L1; lsof|sed -n '/SYSV/d; /DEL\|(path /p;' ; } |grep -Ev '/(dev|home|tmp|var)'
Эти процессы списка команд, которые открыты:
lsof /
И вот фильтр, чтобы только показать идентификаторы процесса, которые предотвращают Вас для монтирования как только для чтения:
lsof -F pa /home | awk '/^p/ {pid = substr($0, 2)} /^a.*w/ {print pid}'
Gilles придумал тот последний так upvote его ответ :)