어제 이 질문을 하려고 했는데 댓글 버튼을 눌렀더니 '유사 질문' 창이 수정되어 다음과 같은 질문이 표시되었습니다.make를 사용하여 어떤 파일이 설치되었는지 확인하는 방법은 무엇입니까?
충분히 좋다고 생각하는데 만족스럽지 못해요
나는 lfs의 책을 읽고 있고 관련 장을 읽고 있습니다.패키지 관리. 해당 주제를 보다 광범위하게 살펴볼 수 있는 팁 섹션에 대한 링크가 있습니다. 팁 중 하나는 다음과 같습니다.
그 외에도 현재 "make install"(또는 다른 명령) 중에 어떤 파일이 수정되었는지 알 수 있는 100% 신뢰할 수 있는 방법이 없다는 점도 알아냈습니다.
물론 fakeroot 방법은 패키지가 원하는 위치에 파일을 설치하는 것을 방해하지 않습니다.
내 이해는 다음과 같습니다
- makefile이 $DESTDIR을 올바르게 사용하지 못할 수 있습니다.
- 해당 텍스트는 2006년에 작성된 것이므로 최신이 아닐 수 있습니다(하지만 그런 일이 일어났습니다).
나는 항상 미리 컴파일된 패키지 관리자를 사용해 왔으며 그 뒤에 있는 팀이 이러한 오류를 얼마나 자주 수정해야 하는지 궁금합니다. makefile 구문 분석이 왜 "100% 신뢰할 수" 없는지 이해가 되지 않습니다.
답변1
완료된 파일 작업 목록을 얻는 방법의 예 make install
는 다음과 같습니다.
make -n install
이 명령은 아무 것도 설치/변경하지 않으며 키 없이 실제로 수행된 내용만 인쇄합니다 -n
(일반 설치).
답변2
stow
:
GNU Stow는 /usr/local의 소프트웨어 설치 관리자입니다. GNU Stow는 기호 링크를 사용하여 설치를 별도로 유지(예: /usr/local/stow/emacs 및 /usr/local/stow/perl)하는 동시에 둘 다 /usr/local 아래에 있다는 환상을 유지하는 데 도움을 줄 수 있습니다.
그리고 CheckInstall
:
CheckInstall은 설치 스크립트("make install", "make install_modules", "setup" 등)에 의해 생성되거나 수정된 모든 파일을 추적하고, 표준 바이너리 패키지를 빌드하여 시스템에 설치하며, 다음 명령을 사용하여 제거할 수 있습니다. : 배포판의 표준 패키지 관리 유틸리티입니다.