A situação em que me encontrei é que estou tendo que executar o Fedora Linux a partir de um local semi-somente leitura. Posso fazer edições no sistema de arquivos, colocar arquivos e coisas assim, mas tudo se perde na reinicialização e, como um incômodo adicional, também não consigo aumentar facilmente o espaço de armazenamento disponível. Porém, tenho acesso a algumas mídias graváveis, então pensei em fazer o seguinte:
sudo mount --bind /usr /home/username/Store/Orig/usr
sudo mount -t overlay ovl_usr -o lowerdir=/usr,upperdir=/home/username/Store/usr,workdir=/home/username/Store/Work/usr /usr
A segunda linha funciona bem, é a primeira linha que não está funcionando. O objetivo é me dar acesso não sobreposto ao conteúdo original do arquivo /usr
. Eu esperaria que, como a montagem de ligação é criada antes da sobreposição ser montada /usr
, /home/username/Store/Orig/usr
ainda veria o conteúdo antigo. Mas não, /home/username/Store/Orig/usr
mostra os arquivos sobrepostos, assim como /usr
.
Existe uma maneira de acessar o conteúdo original de /usr
?
Responder1
Acho que você está experimentando um comportamento "compartilhado", enquanto precisa de "privado". Verman 8 mount
:
As operações de subárvores compartilhadas.
Desde o Linux 2.6.15 é possível marcar uma montagem e suas submontagens como compartilhada, privada, escrava ou não vinculável. Uma montagem compartilhada fornece a capacidade de criar espelhos dessa montagem, de modo que as montagens e desmontagens dentro de qualquer um dos espelhos se propaguem para o outro espelho. […] Uma montaria privada não possui habilidades de propagação. […]
Solução: depois mount --bind …
e antes mount -t overlay …
da invocação:
sudo mount --make-private /home/username/Store/Orig/usr