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
.