Particionamento e hashing do Ubuntu

2

Eu preciso dividir o Ubuntu em duas partições : uma partição que contém todos os arquivos que não mudam com o tempo, por exemplo, devido a alterações na > data / hora e logins , e outra partição que contém todos os arquivos que podem realmente mudar ao longo do tempo. Para verificar se o hashing (assinatura) da primeira partição permanece o mesmo (ou seja, ele não muda com o tempo), é necessário usar um algoritmo de hashing como MD5 ou SHA1 .

Perguntas:

  1. Como determinar quais diretórios / arquivos no sistema de arquivos devem ser incluídos em cada partição?

  2. Passos para fazer este particionamento, desde que o Ubuntu continue funcionando normalmente?

Obrigado antecipadamente!

    
por ekremer 25.07.2016 / 23:12

1 resposta

4

O Linux em geral está se movendo lentamente em direção a um sistema onde / pode ser montado como "somente leitura" e outras partições podem ser montadas como "graváveis".

Este movimento é feito movendo coisas para diretórios com "run" como um sub-diretório. Aqueles são "graváveis". Quando você olhar para df -h , verá alguns deles:

$ 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

Como outra medida, eles são (frequentemente) montados como um sistema de arquivos temporário (tmpfs).

Agora, para chegar ao ponto.

Como os arquivos no momento não são definidos por serem graváveis ou não, eles estão espalhados por todo o sistema de arquivos.

Seguindo o FHS e seguindo os diretórios principais:

  • /bin , /lib , /sbin e /usr podem ser montados somente leitura.
  • /etc , /home , /srv , /tmp , /var deve ser gravável.
  • /dev , /proc , /selinux e /sys são manipulados por sistemas de arquivos especiais.

Readonlyroot nas páginas do Debian tem um artigo mais aprofundado sobre arquivos específicos que impedem que um diretório seja somente de leitura. Por exemplo, /etc/ é praticamente uma bagunça no que diz respeito a separá-lo em arquivos somente para leitura e graváveis.

O comando no final do link funciona apenas para zsh . No chat @serg surgiu isso como uma alternativa:

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

Esta lista de comandos está aberta:

lsof /

E aqui está um filtro para mostrar apenas os IDs do processo que impedem que você monte como somente leitura:

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

Gilles apareceu com o último então vote na sua resposta:)

    
por Rinzwind 25.07.2016 / 23:35