No Linux (e UNIX em geral), a maioria dos executáveis pode ser movimentada livremente. Eles normalmente encontram suas dependências automaticamente ... algumas vezes usando ~ /.* ("arquivos de ponto") ... convencionalmente nomeados como ~ /. rc (onde 'rc' significava originalmente "comando de execução", mas pode ser considerado como configurações de "recurso / configuração"). Às vezes (cada vez mais) pacotes UNIX / Linux criam um ~ /. diretório (como ~ / .gnome /, ~ / .firefox / e assim por diante).
Geralmente, um aplicativo verifica se há um arquivo ~ /.* e depois procura um arquivo / etc / configuration. Pode procurar em outros lugares (como / opt / etc / ou / usr / local / etc).
Também é bastante comum que esses programas respeitem uma configuração de ambiente ... para que você export(conchas da família Bourne) ou setenv(csh / tcsh) seja uma configuração de configuração apropriada para eles. É claro que também é comum que eles usem uma opção de linha de comando para apontar para qualquer arquivo ou recurso de configuração.
Geralmente, é melhor consultar a documentação de um programa para descobrir os arquivos e as configurações do ambiente. Normalmente, um programa permite que um comutador da linha de comando substitua qualquer configuração do ambiente, substituindo qualquer configuração ~ /.*, que substitua qualquer configuração / etc / * que possa substituir qualquer configuração compilada. No entanto, isso é apenas uma convenção pouco seguida. Verifique os documentos!
Em geral, os programas UNIX / Linux são muito menos frágeis que os programas MS Windows ou MacOS mais antigos no gerenciamento de seus locais de recursos. Geralmente, não existe um "registro" opaco ou "garfos de recursos" para ocultar essas coisas.