如何让 `command-not-found` 在 Debian Stretch 上工作

Qua*_*one 6 debian command-not-found

我已经设置了两个 Debian Stretch 系统,一个是通过 'netinst' CD 新安装的,另一个是从 Jessie 升级的。

之后,我安装了command-not-found包。

apt install command-not-found
Run Code Online (Sandbox Code Playgroud)

安装运行顺利,既没有错误也没有警告。正如安装过程输出中所建议的那样,我update-command-not-found随后运行。此命令根本不提供任何输出并返回退出代码 0 - 没有错误。

但是,当我输入一些不存在的命令时,我仍然收到错误消息:

找不到可用应用程序的数据库,请以 root 身份运行 update-command-not-found 来修复此
foob​​arbaz: command not found

这发生在两个系统上。我不知道如何解决这个问题。我错过了什么?


更新: 出于某种原因update-command-not-found,刚刚在我的本地系统上工作。它显示了一些从中获取数据的下载 URL。现在,控制台按预期工作。从今天早上起我什么也没做,系统在我不在时进入睡眠模式。

在远程系统上,问题仍然存在。

Qua*_*one 11

解决方案:

文件中有错误的条目/etc/apt/sources.list。该软件包需要通过更新存储库进行更新。来自提供者的本地 Jessie 镜像存储库的条目有误。我已将 URL 更改为原始 Stretch 报告,但未能用破折号 ( stretch/updates=> stretch-updates)替换斜线。

添加到文件/etc/apt/sources.list

# stretch-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
Run Code Online (Sandbox Code Playgroud)

跑:

apt update
update-command-not-found
Run Code Online (Sandbox Code Playgroud)

  • 实际上,正是 apt update 命令发挥了作用。编辑sources.list 可能不正确。 (3认同)
  • 有趣的是:您可以花费数小时或数天时间而找不到答案。就在发布问题后,您会突然获得灵感。:) (2认同)