apt-get install 输出中的“尝试启动延迟项目”...“但失败”

apt-get install 输出中的“尝试启动延迟项目”...“但失败”

我最近开始使用新的发行版(Linux Mint 21,我读过它是基于 Ubuntu 22.04 的)。在安装某些软件包时,我经常在输出末尾看到许多相同的行apt-get install

“尝试启动延迟项目”http...ubuntu jammy package-name“但失败”

网络搜索“尝试启动延迟项目”“但失败”只发现几个链接,有错误(我只看到提交的错误,没有讨论)。我也无法找到 apt-get 的“延迟项目”,它是什么。

这些延迟的项目是什么以及错误意味着什么? TIA

答案1

将文件复制deb到 dpkg 缓存文件夹(通常/var/cache/apt/archives/)并运行apt-get install /cache_folder/*.deb,如果这样做,则不会出现此类警告。

长话短说

正如我对问题的评论中所指出的,警告是在离线模式下安装 deb 文件时,生成它的代码位于aquire.cc(https://salsa.debian.org/apt-team/apt.git):

if (I->Items->Owner->Status == pkgAcquire::Item::StatIdle)
        {
           _error->Warning("Tried to start delayed item %s, but failed", I->Items->Description.c_str());
        }

从许多测试运行中我注意到,当 deb 文件位于缓存文件夹中时,apt不会尝试重新获取(从存储库下载)。当 deb 文件在其他地方时,apt尝试获取与deb文件相对应的包,因此每个的输出中都会出现“注意:选择包名而不是 debfile”? deb 文件(不知道为什么,也许有新版本可用?)。

尝试从存储库获取包似乎有一些超时,之后它就会放弃(例如,在终端中运行时,警告数量约为 500,但当输出直接重定向到文件时,它约为 7000。)。为什么警告只针对一些罕见的“延迟项目”,我还没有确定。

我没有注意到安装后的功能缺陷(缓存与其他文件夹),但是“尝试启动”的行数有时达到数千行,并且它们在读取输出时出现问题。

我已经能够使用 Linux Mint 21 liveISO 和一组 3 个 deb 文件重新执行(这些是 sqlitebrowser 的一部分,例如apt-get install --download-only sqlitebrowser):

libqscintilla2-qt5-l10n_2.11.6+dfsg-4_amd64.deb
libqscintilla2-qt5-15_2.11.6+dfsg-4_all.deb
libqtprintsupport5_5.15.3+dfsg-2ubuntu0.2_amd64.deb

有趣的是,该警告列出了 libqscintilla2-qt5-l10n,它没有依赖项,并且在自行安装时(在 liveISO 启动后立即)不会导致警告。

相关内容