Embora não tenha atualmente tempo para fornecer uma resposta super detalhada, posso descrever uma possível estratégia para executar executáveis a partir de um pacote git
pré-criado em seu diretório inicial. Esta resposta é destinada ao Debian, já que é o que você disse que está usando, mas o conceito básico é aplicável a outros sistemas operacionais e distribuições também.
Primeiro, vá para o link e analise as dependências do pacote git
. Felizmente, você verá que git
não tem tantos. A maioria dos importantes provavelmente já está instalada, talvez com exceção de libcurl3-gnutls
e libexpat1
.
Em seguida, baixe o pacote binário .deb e extraia seu conteúdo (pesquise na web para descobrir como extrair um pacote .deb manualmente). Você encontrará um arquivo data.tar.gz
. Extraia isso e você receberá os arquivos usr/bin/git*
e usr/lib/git-core/*
. Você pode colocar esses arquivos em algum lugar em seu diretório inicial. Agora, a parte crítica: /usr/bin/git
chama vários programas "auxiliares" em /usr/lib/git-core
e esse último caminho é codificado em /usr/bin/git
. Felizmente, você pode substituir o valor codificado definindo a variável de ambiente GIT_EXEC_PATH
, portanto, atualize seus dotfiles para apontar para onde você decidiu manter os vários arquivos /usr/lib/git-core
.
Por fim, é possível que nem todas as dependências da biblioteca (e suas dependências, etc, etc) tenham sido instaladas em seu sistema (por exemplo, libcurl3-gnutls
, libexpat1
). Você também pode fazer o download dos pacotes binários para eles e extraí-los em seu diretório pessoal e, em seguida, ajudar git
a localizá-los definindo a variável de ambiente LD_LIBRARY_PATH
apropriadamente.
P.S. Eu provavelmente tive mais do que o meu quinhão de estar em sua posição, então o que eu descrevi acima é mais do que teórico. Mas trabalhar em torno desse tipo de problema é um pouco de arte negra, então normalmente haverá alguma agitação adicional envolvida. Boa sorte.