소스에서 설치된 git를 제거하는 방법은 무엇입니까? [닫은] 적합하지 않습니다. 답변, 사실,

이 기사를 사용하여 자식을 설치했습니다 . 이제 자식을 제거하고 싶습니다. 어떻게합니까?



답변

여기 에서 해결책을 찾았습니다 .

2012 년 2 월 11 일 업데이트

충분히 똑똑하고 / opt / git와 같은 특정 계층 구조로 설치되도록 Git을 구성 할 때 비표준 접두사를 사용한 경우 해당 계층 구조를 재귀 적으로 삭제하십시오.

그렇지 않은 경우 다음과 같이 갈 수 있습니다.

1) 빌드하고 설치 한 버전의 소스 타르볼을 가져 와서 압축을 풉니 다.

2) 설치 위치 (접두사, exec- 접두사 등)와 관련하여 원래 설치와 동일하게 구성하십시오. 아마도 당신은 아무것도 무시해서는 안됩니다.

3) 다음과 같이 설치를 수행 할 임시 디렉토리를 작성하십시오. $ mkdir / var / tmp / git

4) 적절한 DESTDIR 변수를 전달하여 Git을 설치하십시오 : $ make DESTDIR = / var / tmp / git install Git 계층 구조는 해당 임시 디렉토리 아래에 생성됩니다.

5) 작성된 계층 구조를 사용하여 실제 계층 구조 ( “/”자체)에서 삭제할 파일을 결정하십시오.

마지막 단계는 “마술”이 일어나는 곳이므로 더 많은 설명이 필요합니다. 예를 들어, 당신은 실행할 수 있습니다

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

(루트로) 루트 파일 시스템에 첫 번째 잘못 설치하여 설치된 파일을 삭제하십시오. 위의 encantation은 / var / tmp / git 계층 구조를 사용하여 발견 된 파일 목록을 인쇄하지만 “/ var / tmp / git”접두어를 “/ var”로 대체하여 “/ var / tmp / git 출력에서 / usr / bin / git “는”/ usr / bin / git “로 표시됩니다. 그런 다음이 목록은
10 개의 팩으로 읽은 파일 이름에서 xargs실행 rm됩니다 (호출 횟수를 rm1 배 줄입니다).

파일을 다룬 후 다음을 실행하십시오.

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

설치된 디렉토리 목록을 검사합니다. 수동 접근 방식이 필요하므로 생성 된 목록을보고 rmdir시스템에서 안전하게 어떤 것 ( “/ usr / libexec / git”또는 이와 유사한 디렉토리가 될 것입니다. “/ usr / share / man / mann”또는 비어있는 경우).

추신 : 앞으로는 절대로 시스템에 아무것도 설치
하지 마십시오make install ! 요즘 대부분의 makefile은 테스트를 위해 개인 스크래치 위치에 설치하거나 패키지 (.rpm, .deb 등)를 만드는 데 사용되는 “제거”대상을 지원하지 않으며 패키지 관리자가 정리를 처리합니다. 무언가를 설치해야하는 경우 공식 패키지를 찾거나 사용 가능한 경우 최신 버전의 OS에서 다른 공식 패키지를 백 포트하십시오. 최후의 수단으로 실행 checkinstall중에 바이너리 패키지를 만드는 도구를 사용해보십시오 make install. 이것은 짜증이지만 여전히 맨손보다 낫습니다 make install.


답변

나는 2691 라인의 Makefile을 갔다. 실제로 제거하지 마십시오. 드랏.

이 경우 해결 방법이 make rpm옵션 을 사용하는 것일 수 있습니다 . rpm을 설치하십시오 (설치된 모든 파일을 덮어 씁니다. 이미 설치된 파일과 동일해야 함). 그런 다음 rpm을 제거하십시오.

향후 모든 경우에 패키지 (RPM, yum 등)를 빌드하십시오. 유지 보수가 훨씬 쉬워졌습니다.


답변