Usando links simbólicos e git para gerenciar versões de compilação

4

Em geral, sigo o seguinte fluxo de trabalho ao criar qualquer programa (por exemplo, emacs , tmux , etc.)

/home/opt/[name of the program]/builds/[version]/

bin
lib
share

Por exemplo, para um programa como tmux , tenho o seguinte:

/my_local_opt/tmux/builds/1.7.-227/

bin
lib
share

Eu, então, criar links sym em /home/bin/ , apontando para as compilações específicas que eu tenho, e nunca preciso tocar na minha variável PATH , já que corrigi-lo para incluir /home/bin .

Por exemplo Para o exemplo acima, eu faria

  • Crie um link sym: de: /home/bin/tmux para: /my_local_opt/tmux/builds/1.7.-227/bin/tmux
  • Tenha PATH apenas /home/bin

No entanto, não tenho certeza se posso seguir uma abordagem semelhante para os caminhos man ( MANPATH ) e lib ( LD_LIBRARY_PATH ).

  1. Por exemplo, depois de criar tmux , percebo que isso cria:

    .. /share/man/man1/tmux.1

    , tentei criar um link simbólico para esse arquivo em um local como /home/share e, em seguida, corrigi MANPATH para incluir esse caminho. Mas quando eu digitei man tmux não funcionou (ele disse " No manual entry for tmux "). Por quê?

  2. Que tal lib ? Eu pensei que talvez pudesse corrigir LD_LIBRARY_PATH para um diretório específico para cada programa e, em seguida, usar links sym para controlar qual versão é incluída. Isso seria uma boa ideia?

Em geral, é uma boa ideia gerenciar versões em um sistema usando links sym? No longo prazo, espero deixar os links sym em um repositório git para acompanhar várias configurações.

Caso isso ajude, eu não tenho privilégios de administrador na máquina onde eu construo software, então eu espero usar isso como uma maneira de organizar e gerenciar facilmente minhas compilações (sem ter que editar constantemente minhas variáveis de ambiente mantendo caminhos )

    
por Amelio Vazquez-Reina 14.03.2013 / 18:40

1 resposta

2

Seu objetivo é muito parecido com o sistema Prefixo do Gentoo ; no entanto, ele não mantém os aplicativos construídos separadamente, nem armazena os links simbólicos no Git.

No entanto, ele corrigirá suas necessidades de manpage e biblioteca (com a ressalva de que LD_LIBRARY_PATH precisa ser definido, ou os & binários de configuração têm um caminho específico codificado).

Separadamente, o modelo de git-of-symlinks em si é similar em conceito ao modelo OverlayFS / AUFS, com mais mix & combinar no lugar.

    
por 28.03.2017 / 07:54