我无法使用apt-offline
来更新我的软件包列表,这意味着当我尝试安装旧版本的软件包时,它会认为是从它生成的 .sig 文件下载的,因此会出现许多 404 错误。我可以apt-get --simulate install
或upgrade
,但我无法模拟update
(如在软件包列表中),它显示“ E: command line option --simulate is not understood
”。在我的 Ubuntu 机器上(连接到互联网),我可以apt-get --simulate update
正常使用,它会在任何帐户上模拟更新。
答案1
使用最新版本的 Ubuntu 时我也遇到了同样的错误。我目前没有遇到这些问题的机器,但我找到了一种解决方法。
首先,找到 apt-offline 使用的 python 文件,如果是内存服务,我认为是 /usr/lib/python2.7/distribution-files/apt_offline_core/ 或类似文件。我认为有一个名为 apt_offline_core.py 的文件,其中有一行执行命令“apt-get update -qq --simulate --print-uris update”。我通过删除 --simulate 更改了该行(我认为 --simulate 没有必要,因为 --print-uris 使 apt-get 实际上不执行任何操作),并且我还必须删除其中一个 -q。所以现在它显示为:
apt-get -q --print-uris 更新
这有效。显然,错误出在 apt-get 包中,而不是 apt-offline 本身。我正在运行较旧的 ubuntu 安装和较旧版本的 apt-offline,该安装有效,带有 --simulate 的代码行没有变化。所以错误出在 apt 系统中。
答案2
该问题已在 14.04 中修复(apt-offline 升级至 1.3.1 但 -v 仍报告 1.3)
https://bugs.launchpad.net/ubuntu/+source/apt-offline/+bug/1323976