【问题标题】:How to abort the installation of a deb package if the disk space is not enough如果磁盘空间不足,如何中止 deb 包的安装
【发布时间】:2012-04-12 07:59:22
【问题描述】:

我正在为 iPhone 开发越狱程序。当磁盘空间不足时,安装仍会继续,因此部分文件被复制,而其他文件没有,这使磁盘变脏。

我在 preinst 和 prerm 脚本中编写了磁盘空间检查代码,它们是 deb 包的控制文件。当磁盘空间不足时,控制脚本将以非零代码退出。但问题是,当我们升级一个包时,如果磁盘空间不够,dpkg 仍然会删除旧文件,即使 prerm 脚本以非零状态退出,因此升级变成了删除,这不是我期望的结果。

【问题讨论】:

    标签: iphone jailbreak deb dpkg


    【解决方案1】:

    我对 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”运行。如果成功,您将回到干净的安装状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-08
      • 2013-10-09
      • 2015-12-04
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      相关资源
      最近更新 更多