Eu instalei o git usando este artigo . Agora eu quero desinstalar o git. Como fazer isso?
Eu instalei o git usando este artigo . Agora eu quero desinstalar o git. Como fazer isso?
Respostas:
Encontrei a solução aqui .
ATUALIZADO 2.11.2012
Se você era esperto o suficiente e usou algum prefixo não padrão ao configurar o Git para que ele fosse instalado sob uma hierarquia específica, como em / opt / git, basta excluir essa hierarquia recursivamente.
Se não, então você poderia ir assim:
1) Busque o tarball de origem exatamente da versão que você construiu e instalou, descompacte.
2) Configure exatamente como você fez com a instalação original em relação aos locais de instalação (prefixo, exec-prefix etc); supostamente você não deveria substituir nada.
3) Crie um diretório temporário para executar a instalação, como este: $ 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 será criada nesse diretório temporário.
5) Use a hierarquia criada para decidir quais arquivos serão excluídos na hierarquia real ("/").
O último passo é onde "a mágica" acontece, para dar mais explicações. Por exemplo, você pode executar
$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f
(como root) exclui os arquivos instalados pela primeira instalação incorreta no sistema de arquivos raiz. A encantação acima usa a hierarquia / var / tmp / git para imprimir a lista de arquivos encontrados, mas substitui o prefixo "/ var / tmp / git" neles por "/", para que o "/ var / tmp / git / usr / bin / git "na saída será listado como" / usr / bin / git ". Essa lista é então canalizada para a xargs
qual é executada rm
nos nomes dos arquivos que lê em pacotes de dez (apenas para reduzir o número de chamadas de rm
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. Isso requer abordagem manual, basta olhar para a lista gerada e pensar qual deles você poderia rmdir
usar com segurança do seu sistema (esses serão os diretórios como "/ usr / libexec / git" ou algo parecido com isto; você provavelmente não deseja excluir "/ usr / share / man / mann" ou algo que esteja vazio).
PS No futuro, nunca instale nada em um sistema executando
make install
! Atualmente, a maioria dos makefiles não suporta o destino de "desinstalação", pois eles são usados para instalar em um local de rascunho privado para teste ou criar um pacote (.rpm, .deb etc.) e, em seguida, o gerenciador de pacotes cuida da limpeza. Se você precisar instalar algo, tente encontrar um pacote oficial ou faça o backport de outro pacote oficial de uma versão mais recente do seu sistema operacional, se disponível. Como último recurso, tente usar a checkinstall
ferramenta que tenta criar um pacote binário fora da sua make install
execução. Isso é péssimo, mas ainda melhor do que nu make install
.
./configure
. sudo make && sudo make DESTDIR=/var/tmp/git install
. sudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
Eu apenas fui através de 2691 linhas de Makefile. Na verdade, não faça desinstalação. Drat.
Nesse caso, uma solução alternativa pode ser usar a make rpm
opção Instale o rpm (substituindo 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, qualquer que seja). Isso facilita muito a manutenção.
make install
coloca as coisas no prefixo, /usr/local
enquanto o rpm / deb / your-package-here é executado ./configure
com parâmetros diferentes para que os arquivos que eles instalam terminem com prefixo /usr
.
make rpm
comando. O que devo fazer na próxima?
man rpm
ou 'rpm --help
. Provavelmente lhe dirá para usar rpm -i packagename.rpm
. No entanto, pode ser melhor pedir ao administrador do sistema na umbrella-web para ajudá-lo. Há muito o que podemos fazer à distância.
make install
?