Existe alguma maneira de montar automaticamente um sistema de arquivos quando abro um link simbólico para um diretório nesse sistema de arquivos?

21

Estou usando o Arch com Xfce.

Recentemente, criei um link simbólico para um diretório em um sistema de arquivos.

Mas não quero montar o sistema de arquivos durante a inicialização ou montá-lo manualmente antes de abrir o link simbólico.

Existe uma maneira de montar automaticamente esse sistema de arquivos quando abro o link simbólico para o diretório nesse sistema de arquivos?

Tho H. Ho
fonte

Respostas:

23

autofspode fazer isso por você. Você pode configurar qualquer número de pontos de montagem com várias opções, e os sistemas de arquivos correspondentes são montados sempre que o ponto de montagem é acessado. Após uma determinada quantidade de inatividade, os sistemas de arquivos são desmontados novamente.

Não há dúvida de várias maneiras de usar autofs, mas aqui está uma maneira de fazer o que você está tentando fazer, com base na maneira como eu costumava usá-lo.

Você começa com um diretório que conterá vários autofspontos de montagem (bem, pelo menos um); dizer /misc. Você não precisa criá-lo, mas precisa criar um arquivo de configuração que descreva todos os sistemas de arquivos que você deseja montar lá; por exemplo, eu poderia montar CDs, DVDs e Blu-Rays com o seguinte arquivo, salvo como /etc/auto.misc:

cd              -fstype=iso9660,ro,nosuid,nodev    :/dev/cdrom
br              -fstype=udf,ro,nosuid,nodev        :/dev/cdrom

A sintaxe geral é o ponto de montagem, seguido por todas as opções apresentadas por e -, em seguida, o ponto de montagem introduzido por :em um sistema local. (Estou simplificando aqui, consulte a página de autofs(5)manual para obter detalhes.)

Então esse arquivo é ativado adicionando uma entrada em /etc/auto.master:

/misc   /etc/auto.misc

Reinicie autofscom

sudo service autofs restart

e você deve ser capaz de executar

ls /misc/cd

e veja o conteúdo de qualquer CD na sua unidade. (Obviamente, substitua o nome e monte o destino pelo que for apropriado no seu caso.)

Depois disso, é possível vincular qualquer coisa nos sistemas de arquivos montados automaticamente a partir de qualquer outro lugar, da mesma forma como se fossem sistemas de arquivos padrão, não montados automaticamente. Então, no meu exemplo,

ln -s /misc/br blu-ray

cria um blu-raylink onde quer que o comando seja executado. Você também pode conectar-se ao sistema de arquivos,

ln -s /misc/br/BDMV autolinktest

cria um autolinktestlink para o conteúdo do filme. O acesso aos links montará o sistema de arquivos de destino.

Stephen Kitt
fonte
12

Você pode fazer isso com systemd, para não precisar instalar software extra e apenas ter uma pequena quantidade de configuração extra.

Basta adicionar noauto,x-systemd.automountàs opções em fstab.

noautopara não montar automaticamente na inicialização e x-systemd.automountpermitir que o systemd o monte no acesso.

Depois de adicionar x-systemd.automount a uma fstablinha, você precisa executar:

  sudo systemctl daemon-reload

E então um, ou ambos, do seguinte:

  sudo systemctl restart remote-fs.target
  sudo systemctl restart local-fs.target

Então a montagem automática se tornará ativa e utilizável.

Fonte: ArchWiki - fstab

bvolkmer
fonte