make를 사용하여 어떤 파일이 설치되었는지 확인하는 방법은 무엇입니까?

make를 사용하여 어떤 파일이 설치되었는지 확인하는 방법은 무엇입니까?

Github의 많은 저장소에는 아래와 같이 "자동" 설치 프로그램이 있습니다. 어떤 바이너리가 설치될지 어떻게 알아내는지 늘 궁금했는데, 스크립트로는 알 수 없습니다.

이것은 예이다libbitcoin-탐색기.

답변1

대부분의 "설치 프로그램"(링크한 것과 같은 사용자 정의 설치 프로그램, GNU autotools configure스크립트에서 생성된 Makefile, CMake 또는 Meson 빌드 사양 등)에서는 설치 접두사를 설정할 수 있습니다. 예를 들어, 귀하가 언급하고 있는 항목에는 --prefix옵션이 있는 것 같습니다. --prefixGNU autotools 스크립트와 Meson도 이 옵션을 사용하는 configure반면 CMake는 -DCMAKE_INSTALL_PREFIX.

일반적으로 기본 설치 접두사는 ​​이지만 /usr/local이를 다른 위치로 설정하면 이전에 채워지지 않은 깨끗한 파일 계층 구조에 소프트웨어를 설치할 수 있습니다.

--prefix옵션을 사용하여 기본이 아닌 위치 /tmp/testdir( 예: 해당 경로 밖에서는 스크립트를 읽어서 이것이 사실인지 확인해야 합니다.

답변2

이를 사용하여 checkinstall설치할 패키지를 만들 수 있습니다.

그런 다음 패키지 관리자를 사용하여 설치한 다음 패키지 관리자를 사용하여 파일을 표시합니다.dpkg -l package

man checkinstall(강조 내) 에서 :

checkinstall은 설치 프로세스를 모니터링하는 프로그램입니다(make install, install.sh 등), 배포용 표준 패키지를 생성합니다(현재deb, rpm 및 tgz 패키지 지원), 배포판의 패키지 관리 시스템(dpkg, rpm 또는 installpkg)을 통해 설치할 수 있습니다.

tgz-package를 생성했다면 설치할 필요도 없습니다. tar --list thepackage.tgz패키지의 내용이 나열됩니다.

관련 정보