Ramdisk / tmpfs que não remove subpastas e links simbólicos ao reiniciar

0

Eu criei um disco rígido temporário que usa a memória do sistema (ramdisk) com estes comandos:

sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk

Depois disso eu criei uma subpasta (stream) no ramdisk

Consegui manter o ramdisk reinicializado adicionando esta linha:

grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab

Eu criei um link simbólico da minha pasta / home / ubuntumaster / stream para minha pasta / media / ramdisk / stream com o seguinte comando:

ln -s /media/ramdisk/stream /home/ubuntumaster/streamer/stream

Mas ao reinicializar o link simbólico e a subpasta no ramdisk está sendo removido. Como posso tornar este link simbólico permanente? O mesmo é para a subpasta no ramdisk.

Caso contrário, terei que criar a subpasta no ramdisk e no link simbólico em cada reinicialização.

    
por Sambir 28.09.2016 / 15:15

1 resposta

0

Uma reinicialização não é necessária para esvaziar a tmpfs mount. Se você for mount a tmpfs mount, preencha (por exemplo, crie um subdiretório abaixo da montagem), então umount it, seu subdiretório sumiu (se você refazer a montagem, ela começará vazia). Se você quiser persistência nas montagens (sem falar em reinicializações), tmpfs por si só não será suficiente.

Uma maneira de usar tmpfs de tal forma que a montagem inicialmente não é vazia é usar OverlayFS , com um diretório inferior não vazio e um tmpfs mount como o diretório superior.

Sua pergunta diz que o symlink desaparece como resultado da reinicialização, mas não acredito que seja o que acontece. O link simbólico, em um diretório persistente, aponta para um diretório (possivelmente inexistente) no tmpfs mount.

Uma abordagem mais simples que pode atender aos seus propósitos é substituir o link simbólico por um ponto de montagem tmpfs , usando algo assim:

rm /home/ubuntumaster/streamer/stream
mkdir /home/ubuntumaster/streamer/stream
sudo mount -t tmpfs -o size=2048M tmpfs /home/ubuntumaster/streamer/stream

Se você optar por usar /home/ubuntumaster/streamer/stream como um ponto de montagem em vez de um link simbólico, o /etc/fstab para isso pode ser assim:

tmpfs /home/ubuntumaster/streamer/stream tmpfs rw,size=2048M 0 0

Se você preferir usar um link simbólico, o destino do link simbólico pode ser o ponto de montagem tmpfs ; que pode ser algo assim:

sudo mkdir -p /media/stream
sudo mount -t tmpfs -o size=2048M tmpfs /media/stream
ln -s /media/stream /home/ubuntumaster/streamer/stream

Você pode evitar problemas durante a reinicialização testando alterações em /etc/fstab usando o comando mount antes de reinicializar. No caso em que /home/ubuntumaster/streamer/stream não é um link simbólico, pode ser isso (depois de editar /etc/fstab ):

sudo mount /home/ubuntumaster/streamer/stream

Se, por exemplo, você ignorar por engano o mkdir , mount reclamará do ponto de montagem ausente.

    
por Eirik Fuller 28.09.2016 / 17:07