Montando o mesmo dispositivo em / como somente leitura, no subdiretório (/ mnt / rootfs) como R / W

1

Eu tenho o dispositivo UBIFS / dev / ubi0_1. O dispositivo é root para linux rootfs, montado na inicialização do kernel como Read-Only.

Então eu tenho / dev / ubi0_1 montado em / como RO.

Mais tarde eu quero montar / dev / ubi0_1 em / mnt / rootfs como R / W pelo comando:

mount -t ubifs -o rw /dev/ubi0_1 /mnt/rootfs

mas falha com EBUSY.

Este comando:

mount -t ubifs -o ro /dev/ubi0_1 /mnt/rootfs

é bem sucedido.

Portanto, parece que deve haver os mesmos direitos em ambos os pontos de montagem.

Eu tentei remontar, mas sempre direitos (RO ou RW) se propagam automaticamente entre pontos de montagem separados.

Minha pergunta é se existe possibilidade de montar / como RO e / mnt / rootfs como R / W.

    
por sibislaw 19.06.2017 / 09:05

2 respostas

2

I tried remounting but always rights (RO or RW) propagate automatically between separate mountpoints.

Se você ler a documentação muito longa em man mount (ou continuar procurando "somente leitura"), saberá que isso não é verdadeiro ao usar montagens de ligação.

Para alterar o status de um ponto de montagem individual "(entrada do VFS)", ao contrário do "superbloco do sistema de arquivos original", é necessário remontá-lo com a opção bind incluída.

Tenho o prazer de informar que isso funcionou para mim, independentemente de o ponto de montagem original ter sido criado usando bind .

Sugiro a seguinte sequência.

mount -oremount,bind,ro /
mount -oremount,rw /

mount -o bind,rw / /mnt/rootfs

# OR - this should have the same effect as the last command
mount -t ubifs -o rw /dev/ubi0_1 /mnt/rootfs

findmnt mostrará o status geral e efetivo - ro ou rw - de cada ponto de montagem individualmente.

    
por 19.06.2017 / 09:29
0

Funcionou para mim no formulário mostrado abaixo (depois de inicializar o / é rw, o diretório que eu montei segundo mountpoint é / layers / rootfs).

mount -o remount,ro /
mount --bind / /layers/rootfs
mount -o remount,rw /layers/rootfs

Citação do homem:

      Note that the filesystem mount options will remain the same as those  on  the  original
      mount  point, and cannot be changed by passing the -o option along with --bind/--rbind.
      The mount options can be changed by a separate remount command, for example:

             mount --bind olddir newdir
             mount -o remount,ro newdir
    
por 19.06.2017 / 09:50