소스에서 빌드 및 설치된 소프트웨어를 제거하는 방법은 무엇입니까? (사용 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
$PREFIX
sed
답변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_files
rpm이 "소유한" 모든 파일 목록을 얻으려면 a를 실행하십시오 . (rpm 기반 시스템이라고 가정하고, rpm이 아닌 시스템에는 다른 명령을 사용하십시오)
두 파일을 비교한 후 정렬하세요.
답변4
소스 디렉터리에서 명령을 확인하세요.
깨끗하게 하다
모두 청소하다
아니면 Aaron의 설명에 따라 모든 파일을 삭제해야 합니다.