After fresh installing Debian buster OS and Package: command-not-found

running command:

$ 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:
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
  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

Issuing update-command-not-found as root does not fix the problem. There is bug report, but seems no fix yet.


Not intuitive, but error goes away immediately after 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

PS. For those curious, the reason for that is missing db upon fresh install:

ls -l /var/lib/command-not-found
total 0

and after apt update we have:

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
  • Yep, worked for me. Do you know why that works, if it somehow fixes permissions on the db file (re the other answer) or something else?
    – Mu Mind
    Jul 29 at 2:30
  • please upvote if this helped. Just checked fresh install to make sure, after install the db is missing, and apt update builds the db. Jul 29 at 9:35

Change permission at

sudo chmod o+r /var/lib/command-not-found/commands.db*

but before that

Check permission variable state information

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

It should be:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.