O que acontece com o antigo binário quando um novo compilado a partir da fonte?

2

Eu compilei o git do source após o git do repositório que já estava instalado através do gerenciador de pacotes.

Nesse processo, o "from source" git tomou o seu lugar como o "sistema principal git".

user@jeanny:~$ git --version
git version 1.8.3.2

Existe uma maneira de definir o git do repositório como o "sistema principal git"?

    
por TheMeaningfulEngineer 16.07.2013 / 15:37

1 resposta

3

Você pode confirmar isso fazendo o seguinte:

$ /usr/bin/git --version

$ /usr/local/bin/git --version

É provável que agora você tenha 2 versões de git instaladas, o que é completamente correto, desde que elas sejam mantidas em diretórios separados.

A versão recém-compilada de git é provavelmente a que está no diretório /usr/local/bin .

Você pode usar a variável de ambiente $PATH para controlar qual git é usado controlando a ordem de como as coisas aparecem no $PATH .

Por exemplo:

  • versão do sistema de git é o padrão

    PATH=/usr/bin:/usr/local/bin
    
  • A versão recém-compilada de git é o padrão

    PATH=/usr/local/bin:/usr/bin
    

E as alternativas?

O OP fez a seguinte pergunta de acompanhamento nos comentários:

Where does update-alternatives fit into this picture?

Alternativas é um mecanismo que permite ao seu sistema incorporar ferramentas que não estão instaladas em /usr/bin acessível por /usr/bin colocando um link no diretório /usr/bin que é gerenciado por software. Um exemplo diz isso melhor. No meu sistema, o Java é gerenciado como um aplicativo alternativo:

$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Dec 26  2010 /usr/bin/java -> /etc/alternatives/java

Você pode dizer por causa do link acima em /usr/bin . Dado este é um link gerenciado por alternativas não muda o fato de que o link ainda está sob o diretório /usr/bin . Portanto, quando manipulamos o $PATH , conforme descrito acima, as alternativas não são um problema.

    
por 16.07.2013 / 16:32