답변:
이 작업을 수행하는 가장 쉬운 방법은 "영구적 인 데이터 파티션"으로 LiveUSB를 부팅하는 것입니다. 또는 chroot jail에서 효과를 직접 복제하려면 ro 레이어 위에 rw 레이어를 마운트하십시오. rw 파일 시스템의 스냅 샷을 새로 부팅 한 후 매우 얇아 야합니다. 그런 다음 설치 관리자를 실행하십시오. 파일이 변경되거나 생성되는 모든 파일은 rw "영구 데이터"오버레이 파티션에 있습니다. 제거 된 파일도 "마법의 도트 파일"로 나타납니다.
unionfs
기본적으로 RW 파일 시스템이 모든 쓰기를 허용하지만, RO 파일 시스템은 여전히 그 아래에 볼 수 있습니다 -. 파일이 변경되면 RW fs로 "이주"합니다. 삭제 된 경우 실제로 RW fs에“마스크”할“마법의 도트 파일”이 있습니다. 설정 unionfs
이 약간 어려울 수 있으므로 LiveUSB를 제안한 이유입니다 (해당 부분을 수행하고 시작하기 위해 "깨끗한"시스템 이미지가 있음)
tripwire를 보시겠습니까? Tripwire는 실제 예제보다 수동적이지만 여전히 효과가 있습니다.
http://www.linuxjournal.com/article/8758
Tripwire는 침입 탐지 시스템 (IDS)으로, 지속적으로 자동으로 중요한 시스템 파일과 보고서가 크래커 (또는 실수)에 의해 파괴되거나 수정 된 경우 제어 상태를 유지합니다. 시스템 관리자는 손상된 내용을 즉시 파악하고 수정할 수 있습니다.
Installwatch를보십시오 :
http://en.wikipedia.org/wiki/Installwatch#Functionality
http://asic-linux.com.mx/~izto/checkinstall/installwatch.html
설치 프로그램이 일부 패키징 기능 (예 : .deb
Debian / Ubuntu / ... .rpm
용 패키지, RedHat / CentOS / ... 용 패키지)을 사용하는 경우 패키지 설치 프로그램은 설치 및 제거시 수행 할 작업을 알아야합니다. 그리고 나는 당신이 기존의 포장 시스템 을 사용해야한다고 생각합니다 . (일반적으로 Linux에는 Windows와 같은 설치 프로그램이 없습니다).
일부 프로세스에서 수행 한 파일 변경 사항을 실제로 따르려면을 사용 strace
하거나 ltrace
시스템 호출을 잡을 수 있습니다 . 당신은 또한 inotify 및 관련 시설을 할 수 있습니다.
그러나 나는 catch-modifs
&를 모른다revert-modifs
당신이 원하는 .
난 당신의 응용 프로그램에 대한 설치를하지 것이 아니라, 따라서 제공하는 패키지 관리자를 사용하는 것이 좋습니다 않습니다 .deb
(및 / 또는 .rpm
응용 프로그램에 대한) 패키지를. 이들은 자신의 설치 관리자보다 종속성 문제를 더 잘 처리합니다.
원하는 것을 쉽게 달성 할 수있는 방법 : 새로운 가상 머신 인스턴스 (VMWare 워크 스테이션, Oracle VirtualBox 등)에 "신뢰할 수없는"애플리케이션을 설치하십시오.
더 이상 애플리케이션을 원하지 않으면 가상 머신을 삭제하십시오.
파일 액세스 시스템 콜을 잡는 다른 대안은 오류가 발생하기 쉽고 불완전 할 수 있습니다. Installwatch처럼 작동하려면 동적 연결이 필요한 솔루션에 특히주의하십시오. 설치 관리자는 합법적으로 직접 시스템 호출을 수행하거나 정적으로 링크 될 수 있습니다.