0

私はiPhone用の脱獄プログラムを開発しています。ディスク容量が不足している場合でも、インストールは続行されるため、ファイルの一部がコピーされ、他のファイルはコピーされませんでした。これにより、ディスクがダーティになります。

debパッケージの制御ファイルであるpreinstおよびprermスクリプトでディスク容量チェックコードを記述しました。ディスク容量が不足している場合、制御スクリプトはゼロ以外のコードで終了します。しかし、問題は、パッケージをアップグレードするときに、ディスク容量が十分でない場合、prermスクリプトがゼロ以外のステータスで終了しても、dpkgは古いファイルを削除するため、アップグレードは削除になりますが、これは私の期待する結果ではありません。

4

1 に答える 1

0

Cydiaについては特によくわかりませんが、dpkgとまったく同じように機能する場合は、これで解決できるはずです。パッケージのアップグレードについては、 http://people.debian.org/~srivasta/MaintainerScripts.html#sec-3.4.3のアクティビティ図を参照してください。

これは、prermsとpreinstを実行する過程でとられる可能性のあるいくつかの異なるパスを示しており、システムをクリーンな古いバージョンがまだインストールされている状態に戻します。たとえば、new-preinstが失敗した場合、new-postrmはパラメータとして「abort-upgrade」を使用して実行されます。それが成功した場合、old-postinstも「abort-upgrade」で実行されます。それが成功すると、クリーンなインストール状態に戻ります。

于 2012-05-08T15:58:48.553 に答える