Fallback de link simbólico

1

Existe uma maneira de os links simbólicos terem fallback? Se o destino não for encontrado, outro deve ser usado.

Eu quero usar um arquivo de configuração para um programa que é diferente se uma unidade está montada ou não. Então, eu teria um link simbólico para uma configuração nessa unidade específica e, se não fosse encontrado, usaria uma alternativa.

Acho que eu poderia usar um script wrapper que verificasse se uma unidade está montada, vincule a uma configuração desejada e execute o aplicativo, mas um script de wrapper parece estranho.

    
por JonnyRobbie 26.09.2016 / 17:08

2 respostas

1

Não há nenhuma maneira de links simbólicos padrão. Eles sempre apontam para um único caminho de destino.

No entanto, no seu caso particular, você poderia usar como uma unidade cria uma sombra: se você apontar o arquivo de configuração para /path/to/mount/config.cnf, você tem um que está no sistema de arquivos pai ( usado quando a montagem não está presente) e um no sistema de arquivos montado (usado quando a montagem está presente).

Mas eu não recomendaria isso - por um lado, é difícil abrir os dois de uma vez para, por exemplo, compará-los. Eu pessoalmente iria para um script wrapper sobre isso, muitas vezes. Também pode haver formas específicas do programa, mas você não nomeou o programa.

    
por 26.09.2016 / 17:26
0

Você pode usar um conjunto de sindicatos para isso. Mostrando um arquivo, se presente em um determinado local e outro arquivo, se a primeira escolha não estava presente é o ponto inteiro de montagens de união. Os links simbólicos não ajudarão, exceto se mostrarem o arquivo em um local diferente de onde está a montagem.

mkdir ~/overridden
unionfs-fuse "/media/external:$HOME/overridable" ~/overridden

~/overridden mostra uma mesclagem das árvores de diretório em ~/overridable e /media/external . Quando um arquivo está presente em ambos, o de /media/external é mostrado.

Veja também Montagem da união no Linux (quando alguém atende…).

    
por 27.09.2016 / 02:38

Tags