2012-04-12 3 views
0

iPhone 용 jailbroken 프로그램을 개발 중입니다. 디스크 공간이 충분하지 않으면 설치가 계속 진행되므로 파일의 일부가 복사되고 다른 파일은 복사되지 않으므로 디스크가 더러워집니다.디스크 공간이 충분하지 않은 경우 deb 패키지 설치를 중단하는 방법

나는 deb 패키지의 제어 파일 인 preinst 및 prerm 스크립트에 디스크 공간 검사 코드를 작성했습니다. 디스크 공간이 충분하지 않으면 제어 스크립트가 0이 아닌 코드로 종료됩니다. 하지만 문제는 패키지를 업그레이드 할 때 디스크 공간이 충분하지 않으면 drm 명령은 prerm 스크립트가 종료 된 상태에서도 이전 파일을 제거하므로 업그레이드가 예상 결과가 아닌 제거가됩니다.

답변

0

나는 Cydia에 관해서 많이 알지 못하지만, 그것이 dpkg와 정확히 똑같이 작동한다면, 이것은 해결 가능해야합니다. 패키지 업그레이드에 대한 활동 다이어그램은 http://people.debian.org/~srivasta/MaintainerScripts.html#sec-3.4.3입니다.

prerms 및 preinsts를 실행하는 과정에서 취할 수있는 몇 가지 다른 경로가 표시되어 시스템이 깨끗한 구 버전 설치 상태로 돌아 가게됩니다. 예를 들어, new-preinst가 실패하면 new-postrm은 "abort-upgrade"를 매개 변수로 사용하여 실행됩니다. 성공하면 old-postinst도 "abort-upgrade"로 실행됩니다. 성공하면 깨끗한 설치 상태로 되돌아갑니다.

관련 문제