Criando symlink profundo

2

Alguns pacotes python têm a seguinte estrutura: código python em /usr/shared/pyshared/lib_name e symlinks em fontes python em /usr/lib/python2.x/dist-packages/lib_name . No entanto, lib_name in /usr/lib não é um link simbólico em si. Em vez disso, a árvore de diretórios de pyshared/lib_name é profundamente copiada e cada arquivo é linkado por links simbólicos.

Eu quero reproduzir esse comportamento. Dada uma árvore de diretórios eu quero fazer uma cópia profunda do symlink dele. É claro que isso pode ser feito com um script simples com o comando find , mas talvez isso possa ser feito de maneira mais padronizada?

P.S. Ubuntu 14.04 Trusty, se importa.

    
por Ivan Smirnov 17.06.2015 / 22:51

1 resposta

2

Dependendo do que exatamente você está tentando realizar, você pode querer considerar GNU Stow - ele é projetado para age basicamente como um gerenciador de pacotes para coisas construídas do zero, e funciona criando links simbólicos do tipo que você está descrevendo a partir do diretório de construção não compartilhado de cada pacote para um diretório comum de implementação.

Ele deve ser capaz de fazer o que você está pedindo, e você estará particularmente interessado na opção --no-folding , que cria diretórios e arquivos de links simbólicos, em vez de seu comportamento padrão de diretórios simbólicos diretamente quando um pacote se refere a eles.

    
por 17.06.2015 / 23:24

Tags