Como instalar o git no CentOS5 sem acesso root?

3

Estou tentando adicionar a funcionalidade git a um sistema CentOS 5.5 de produção que não possui ferramentas de desenvolvimento (já que é um sistema de produção). Então eu não tenho acesso para fazer / gcc / etc. Eu basicamente quero instalar o Git para poder facilmente & sincronize rapidamente um diretório de sites com meu repositório Git, então não tenho necessidade de compilar nenhum arquivo de código-fonte.

Eu não tenho acesso root e, por razões óbvias, o root não quer instalar o Git em um sistema prod, mas tudo bem se eu puder configurá-lo localmente para meu próprio uso.

Eu tentei baixar e descompactar um git-core.rpm no meu diretório home e, embora eu possa executar algumas funcionalidades do git, nenhuma das dependências do git está onde ele as espera e, portanto, ele falha.

Minha estrutura é semelhante à seguinte:

~/git
~/git/usr
~/git/usr/bin
~/git/usr/share
~/git/usr/share/doc
~/git/usr/share/git-core
~/git/usr/share/locale
~/git/usr/share/man

Quando executo algo como git help clone , recebo um erro msg No manual entry for git-clone . Isso é confirmado por git --man-path (/ usr / share / man). Outros comandos falham de maneira semelhante.

Como posso dizer ao git para usar ~/git como a raiz em vez de / como a raiz para todas as dependências do git sem recompilar? Eu não consigo encontrar nenhum ambiente vars ou git vars que eu possa definir.

Há uma pergunta semelhante postada em ASSIM , mas infelizmente ambas as soluções oferecidas não são viáveis - por exemplo: recompile git (Eu não tenho nenhuma ferramenta make) ou descompacte o rpm (tentei mas, como indicado, o git procura caminhos predefinidos).

Como sugerido aqui , tentei configurar o GIT_EXEC_PATH, mas com o mínimo de sucesso:

[eric ~]$ export GIT_EXEC_PATH=~/git/usr/bin/git
[eric ~]$ git --man-path
/usr/share/man
[eric ~]$ git help clone
No manual entry for git-clone
[eric ~]$ git --exec-path
/home/eric/git/usr/bin/git
    
por Eric B. 20.12.2012 / 17:06

1 resposta

1

A menos que o RPM esteja configurado para realocação (a grande maioria não é), você não pode fazer isso dessa maneira. A melhor aposta é fazer com que as coisas sejam instaladas oficialmente, para que elas sejam rastreadas / atualizadas com o resto do sistema.

Se isso não puder ser feito, você pode fazer algo como:

  1. Buscar a última fonte
  2. Configurar com, por exemplo "configure o prefixo = $ HOME ..."
  3. Construa e instale, por exemplo "make install"
  4. Descobrir o que vem do git, pelo menos, coisas em ~ / bin /, ~ / share / man /, ~ / libexec /, embale-o e transfira-o para a máquina da vítima
  5. Desempacote a vítima e experimente. Coloque ~ / bin no fim do seu PATH

Mas, por favor, não faça isso sem antes certificar-se com os Poderes Que isso é o que está certo para eles.

    
por 14.01.2013 / 18:40

Tags