全新安装 Debian buster 操作系统和软件包后:command-not-found
运行命令:
$ curl
Could not find the database of available applications, run update-command-not-found as root to fix this
Sorry, command-not-found has crashed! Please file a bug report at:
http://www.debian.org/Bugs/Reporting
Please include the following information with the report:
command-not-found version: 0.3
Python version: 3.7.3 final 0
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Exception information:
local variable 'cnf' referenced before assignment
Traceback (most recent call last):
File "/usr/share/command-not-found/CommandNotFound/util.py", line 23, in crash_guard
callback()
File "/usr/lib/command-not-found", line 93, in main
if not cnf.advise(args[0], options.ignore_installed) and not options.no_failure_msg:
UnboundLocalError: local variable 'cnf' referenced before assignment
以 root身份发布update-command-not-found
并不能解决问题。有错误报告,但似乎尚未修复。
答案1
不直观,但错误立即消失apt update
:
# apt update
Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Hit:3 http://security.debian.org/debian-security buster/updates InRelease
Get:4 http://deb.debian.org/debian buster/main amd64 Contents (deb) [36.1 MB]
Get:5 http://deb.debian.org/debian buster-updates/main amd64 Contents (deb) [42.3 kB]
Fetched 36.2 MB in 7s (5,009 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
# curl
Command 'curl' not found, but can be installed with:
apt install curl
附言。对于那些好奇的人来说,其原因是在全新安装时缺少数据库:
ls -l /var/lib/command-not-found
total 0
之后apt update
我们:
ls -l /var/lib/command-not-found
total 2504
-rw-r--r-- 1 root root 2560000 Jul 29 12:34 commands.db
-rw-r--r-- 1 root root 983 Jul 29 12:34 commands.db.metadata
答案2
更改权限位于
sudo chmod o+r /var/lib/command-not-found/commands.db*
但在那之前
检查权限变量状态信息
ls -l /var/lib/command-not-found
total 2588
-rw-r----- 1 root root 2834432 Dec 18 05:25 commands.db
-rw-r----- 1 root root 4712 Dec 18 05:25 commands.db.metadata
它应该是:
ls -l /var/lib/command-not-found
total 2588
-rw-r--r-- 1 root root 2641920 Jan 16 00:27 commands.db
-rw-r--r-- 1 root root 1175 Jan 16 00:27 commands.db.metadata