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

21

Estou usando o Arch com o 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 alguma maneira de montar automaticamente esse sistema de arquivos quando eu abro o link simbólico para o diretório naquele sistema de arquivos?

    
por Tho H. Ho 15.04.2015 / 14:59

2 respostas

23

autofs pode 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úvidas 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 autofs mount-points (bem, pelo menos um); diga /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; 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, seguida por quaisquer opções introduzidas por - , em seguida, o ponto de montagem introduzido por : em um sistema local. (Estou simplificando aqui, consulte a autofs(5) página para detalhes.)

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

/misc   /etc/auto.misc

Reinicie o autofs com

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 alvo pelo que for apropriado no seu caso.)

Depois de ter isso, você pode vincular a qualquer coisa nos sistemas de arquivos montados automaticamente 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 link blu-ray onde quer que o comando seja executado. Você pode se conectar ainda mais ao sistema de arquivos,

ln -s /misc/br/BDMV autolinktest

cria um link autolinktest para o conteúdo do filme. Acessar os links montará o sistema de arquivos de destino.

    
por 15.04.2015 / 15:04
12

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

Adicione simplesmente noauto,x-systemd.automount às opções em fstab .

noauto para não ser montado automaticamente na inicialização e x-systemd.automount para permitir que o systemd o monte no acesso.

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

  sudo systemctl daemon-reload

E, em seguida, um ou ambos dos seguintes:

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

Em seguida, o automount se tornará ativo e utilizável.

Fonte: ArchWiki - fstab

    
por 16.04.2015 / 08:01