Como desinstalar o git instalado a partir da fonte? [fechadas]

18

Eu instalei o git usando este artigo . Agora eu quero desinstalar o git. Como fazer isso?

    
por Mikhail 01.11.2012 / 08:21

2 respostas

13

Encontrei a solução aqui .

ATUALIZADO em 2.11.2012

Se você fosse inteligente o suficiente e usasse algum prefixo não padrão quando configurou o Git para que ele tenha sido instalado sob uma hierarquia específica, como em / opt / git, basta excluir essa hierarquia, de forma recursiva.

Se não, então você poderia ir assim:

1) Busque o tarball de origem exatamente da versão que você criou e    instalado, descompacte.

2) Configure exatamente como você fez com a instalação original com    em relação aos locais de instalação (prefixo, exec-prefix etc);    supostamente você não deve simplesmente anular nada.

3) Crie um diretório temporário para realizar a instalação, assim:    $ mkdir / var / tmp / git

4) Instale o Git passando uma variável DESTDIR apropriada para fazer:    $ make DESTDIR = / var / tmp / git install    A hierarquia do Git terminará criada sob o diretório temporário.

5) Use a hierarquia criada para decidir quais arquivos serão excluídos    a hierarquia real ("/" propriamente dito).

O último passo é onde "a magia" acontece, então tem mais explicação. Por exemplo, você pode executar

$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f

(como root) exclua os arquivos instalados pela primeira instalação incorreta no sistema de arquivos raiz. A encantation acima usa o / var / tmp / git hierarquia para imprimir a lista de arquivos encontrados, mas substitui "/ var / tmp / git" prefixo neles com "/", para que o "/ var / tmp / git / usr / bin / git" na saída será listado como "/ usr / bin / git". Essa lista é então canalizada para xargs , que executa rm nos nomes dos arquivos, ele lê em pacotes de dez (apenas para reduzir o número de invocações de rm em uma ordem de magnitude).

Depois de lidar com arquivos, execute

$ find /var/tmp/git -type d -printf '/%P\n'

para inspecionar a lista de diretórios instalados. Estes requerem manual abordagem então basta olhar para a lista gerada e pensar qual deles você poderia seguramente rmdir do seu sistema (estes serão os diretórios como "/ usr / libexec / git" ou algo assim; você provavelmente não deseja excluir "/ usr / share / man / mann" ou algo parecido se estiver vazio).

P.S. No futuro, nunca instale qualquer coisa em um sistema executando %código%! A maioria dos makefiles atualmente não suportam "uninstall" alvo como eles são usados para a instalação em um risco privado local para teste ou para fazer um pacote (.rpm, .deb etc) e, em seguida, o O gerenciador de pacotes cuida da limpeza. Se você precisar instalar algo, tente encontrar um pacote oficial ou tente para backport outro pacote oficial de uma versão mais recente do seu sistema operacional, se disponível. Como último recurso, tente usar a ferramenta make install que tenta crie um pacote binário fora de sua checkinstall run. Isso é uma droga mas ainda melhor que nua make install .

    
por 01.11.2012 / 09:47
2

Eu só fui embora 2691 linhas de Makefile. Na verdade, não faça desinstalação. Drat.

Nesse caso, uma solução alternativa pode ser usar a opção make rpm . Instale o rpm (sobrescrevendo todos os arquivos instalados, que devem ser idênticos aos arquivos já instalados). Em seguida, desinstale o rpm.

Em todos os casos futuros, construa um pacote (RPM, yum, o que for). Isso torna a manutenção muito mais fácil.

    
por 01.11.2012 / 08:41