그래서 저는 Ghost 파일이라는 기능이 있는 RPM(Redhat Package Manager)을 사용했습니다. 이 유형의 파일은 패키지가 소유하지만 설치 프로세스에서 반드시 설치되지는 않은 파일을 지정합니다(프로그램 실행 후 생성된 파일에 유용함). RPM의 Ghost 지시문에 대한 자세한 내용은 아래 링크를 참조하세요.
http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-files-list-directives.html
지금까지 .deb 패키지에서 Ghost 동작을 대략적으로 알아낸 유일한 방법은 필요한 파일을 터치하고 이를 debian/conffiles 파일에 구성 파일로 지정하는 것입니다. 이렇게 하면 패키지가 소유하지만 새 버전이 설치될 때마다 업데이트되지 않습니다.
주로 Ubuntu를 살펴보는 데비안 패키지 관리자에 이 동작과 더 공식적으로 동등한 것이 있는지 궁금합니다. debuild
패키지를 만드는 데 사용하고 있습니다 . 어떤 도움이나 조언이라도 대단히 감사하겠습니다.
추가 정보:
내가 달성해야 할 일은 프로그램이 실행될 때 어떤 파일이 생성될 수 있는지 패키지 관리자에게 알리는 것입니다. 이러한 파일은 새 버전을 설치할 때 업데이트되어서는 안 되며, 패키지가 제거될 때 삭제되어서도 안 됩니다. 이러한 파일은 패키지 정리 중에만 삭제해야 합니다.
답변1
를 사용하는 conffiles
것은 올바른 접근 방식이 아닙니다. 주로 패키지가 업데이트될 때 사용자에게 이전 "config" 파일을 유지할지 아니면 새 패키지 버전을 수락할지 묻는 메시지가 표시되기 때문입니다.
내 마음에 떠오르는 대안은 이러한 파일을 직접 정리하는 것입니다후기 단계이 스크립트를 사용하면 패키지를 완전히 제거할 수 있지만 해당 파일을 패키지 소유로 표시하지는 않습니다. preinst
패키지가 파일을 소유하고 설정했음을 인식하고 (업그레이드 중 제거/설치 단계가 아닌) 초기 설치 및 최종 제거 시에만 작업을 수행하도록 스크립트를 사용하여 처음에 파일을 설치할 preinst
수 postrm
있습니다 .