与平原德班 debdelta-upgrade
工作正常:它获取可升级文件、下载的列表全部可用的增量,并创建所需的.deb升级文件。所以如果包富,酒吧, 和巴兹有可用的增量,然后debdelta-upgrade
将获取富,酒吧, 和巴兹,然后退出。
但下乌班图发行版,(测试过薄荷和卢本图),当有多个包具有可用增量时,debdelta-upgrade
一次仅获取一个增量。如果运行一次它获取富,然后退出;如果再次运行它会获取酒吧;如果再次运行,它会获取巴兹。
在下面乌班图,这个拼凑作品有效;它通过debdelta-upgrade
为每个可升级包运行一次来获取所有可用的增量:
apt list --upgradable 2> /dev/null | sed -n '1!s#/.*##p' | \
xargs -n 1 debdelta-upgrade
但比它慢很多德班,因为每次debdelta-upgrade
运行都需要 5 秒左右的时间来初始化 ("更新 apt 缓存") -- 如果有 10 个软件包需要升级,则会增加 50 秒的延迟 (5秒x 10包) 在下面乌班图变体。
有解决办法吗?
答案1
这是一个一直困扰我的问题,这是我在互联网上找到的唯一询问这个问题的帖子。
我不确定它是否有效。德布德尔塔正在检查它位于哪个部分(主要、向后移植或稳定安全),并使用单独的debdeltas.debian.net每个部分的 URI。
该脚本在以下行失败:
delta_uri_base=delta_uri_from_config(config,
Origin=origin.origin,
Label=origin.label,
Site=origin.site,
Archive=origin.archive,
PackageName=p.name)
...这是因为delta_uri_base
返回没有任何在Ubuntu中。
delta_uri_from_config
似乎正在解析/etc/debdelta/sources.conf其中包含许多 Debian 档案的 Debian 特定条目 - 并且没有 Ubuntu 的相关部分。
因此,例如我们发现它正在寻找的原点是:
origin.origin :
origin.site:gb.archive.ubuntu.com
origin.label :Ubuntu
origin.archive: bionic-updates
看着/etc/debdelta/sources.conf:
[main debian archive]
Origin=Debian
Label=Debian
delta_uri=http://debdeltas.debian.net/debian-deltas
[backports debian archive]
Origin=Debian Backports
Label=Debian Backports
delta_uri=http://debdeltas.debian.net/debian-deltas
[stable security debian archive]
Origin=Debian
Label=Debian-Security
delta_uri=http://debdeltas.debian.net/debian-security-deltas
没有匹配的部分。如果没有相应的条目,则没有可从中获取增量的 URI。这意味着升级的增量队列不会被填满,因此它不会循环为每个升级生成增量。
目前我不清楚的是为什么它会生成一个.deb在/var/cache/apt/archives/根本不。
据我所知,要修复它,需要有人托管一个特定于 Ubuntu 的debdelta
实例,并更正源文件。好像很久以前就有人尝试过这个,但我没听说有人这样做。