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
).
-
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ê?
-
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 )