소스에서 빌드된 소프트웨어 제거 [중복]

소스에서 빌드된 소프트웨어 제거 [중복]

소스에서 빌드 및 설치된 소프트웨어를 제거하는 방법은 무엇입니까? (사용 make install?)

답변1

소스 코드 패키지를 아직 사용할 수 있나요? Makefile을 구문 분석하여 설치 명령을 얻거나 Makefile을 다시 설치하여(다른 명령을 사용하여 $PREFIX) 설치된 파일 목록을 캡처할 수 있습니다. 또한 STDOUT으로 인쇄됩니다. 그런 다음 원래 설치된 디렉터리에서 해당 파일을 삭제할 수 있습니다.

편집하다:

방금 제거 프로그램 스크립트 작성에 대한 메모를 파헤쳤습니다. 여기서 설명하는 동안 양해해 주시기 바랍니다.

임시 대상 디렉터리에 빌드하고 설치한 후 다음을 수행합니다. ( $PREFIX당신이 사용한 물건은 어디에 있습니까 ./configure?)

cd $PREFIX
find . -type f | cut -b 1 --complement | sed 's/^/rm -f \/usr\/local/g' > uninstall.sh
find . -type d | cut -b 1 --complement | sed 's/^/rmdir --ignore-fail-on-non-empty \/usr\/local/g' >> uninstall.sh

출력은 다음과 같습니다.

rm -f /usr/local/lib/somelib.so
rm -f /usr/local/bin/somebin
rm -f /usr/local/include/someapp/someheaders.h
rmdir --ignore-fail-on-non-empty /usr/local/share
rmdir --ignore-fail-on-non-empty /usr/local/bin
rmdir --ignore-fail-on-non-empty /usr/local/include/someapp
...

/usr/local/bin중요한 시스템 디렉터리( 등)은 비어 있지 않으므로 실제로 삭제되지는 않습니다 . 또한 필요에 따라 스크립트가 기본값을 ./configure사용하는지 확인해야 합니다 ./usr/local$PREFIXsed

답변2

PHP 버전 5.4.16을 확인했습니다.

cdphp-5.4.16

깨끗하게 하다
모두 청소하다

찾기/-namephp

rm -fr /usr/local/php /usr/local/lib/php /usr/local/bin/php /usr/local/include/php

그 중 {php-config,phpize,php-cgi}
rm /usr/local/bin/php-config /usr/local/bin/phpize /usr/local/bin/php-cgi

그중 {pear, peardev}
rm /usr/local/bin/배

rm /usr/local/bin/peardev


내가 phpize와 php-config를 선택한 이유
./configure 이후에 이 출력이 표시되기 때문입니다.

config.status: php5.spec 생성
config.status: main/build-defs.h 생성
config.status: 스크립트/phpize 생성
config.status: script/man1/phpize.1 생성
config.status: 스크립트/php-config 생성
config.status: script/man1/php-config.1 생성
config.status: sapi/cli/php.1 생성
config.status: main/php_config.h 생성

답변3

무차별 대입 크래킹을 시도해 볼 수 있습니다.

a를 실행 find / > /tmp/all_files하고 파일에 저장합니다 all_files. (sysfs, procfs 및 기타 파일이 존재하지 않는 경우 제외)

rpm -qa | xargs rpm -al > /tmp/all_owned_filesrpm이 "소유한" 모든 파일 목록을 얻으려면 a를 실행하십시오 . (rpm 기반 시스템이라고 가정하고, rpm이 아닌 시스템에는 다른 명령을 사용하십시오)

두 파일을 비교한 후 정렬하세요.

답변4

소스 디렉터리에서 명령을 확인하세요.

깨끗하게 하다

모두 청소하다

아니면 Aaron의 설명에 따라 모든 파일을 삭제해야 합니다.

관련 정보