Many errors in journalctl from Tracker-miner and Pulseaudio

Actual Behaviour:

Very munch errors from Tracker-miner and Pulseaudio appear in journalctl on Ubuntu 20.04.
It seems to be caused by the user pihole linked to a home directory which doesn’t exist.

cat /etc/passwd | grep pihole

Errors inside journalctl:

Cannot initialize database: Could not open sqlite3 database:'/home/pihole/.cache/tracker/meta.db': unable to open database file
tracker-store.service: Main process exited, code=exited, status=1/FAILURE
tracker-store.service: Failed with result 'exit-code'.

Failed to create secure directory (/home/pihole/.config/pulse): No such file or directory
Failed to start Sound Service.

In forums, it’s recommended to create a home directory (doesn’t work for me) or disable/remove tracker services.

However, for another system like mysql, ntp …, users are created without a home directory by using --no-create-home --home /nonexistent.

cat /etc/passwd | grep nobody


  1. Do you believe that it’s possible to add these same options into install script to prevent error in journalctl?
    adduser or useradd don’t seem to produce the same result.

  2. For those with this problem, it’s possible to change user’s home directory to /nonexistent?
    usermod -d /nonexistent pihole

Many thanks

I've found an old bug of the user _apt, where a similar fix is apply.

usermod --home /nonexistent _apt

Pi-hole's user is created with a system account, so also without a home directory.

Your second grep is for the nobody pseudo-user, not for the mysql or ntp users.
Could you please provide those as well?

Indeed, I misspoke. The home directory is not created, but for user systems pihole is linked to a dummy directory.

Sorry, it's a mistake. I also added the user _apt.

mysql:x:126:133:MySQL Server,,,:/nonexistent:/bin/false

It is linked to an non-existing directory, but that would also apply for /nonexistent.

Run from your Pi-hole host machine, what's the output of the following command:

sudo pwck -r /etc/passwd

You’re right. However I think it’s a special argument that seems more appropriate.

Home directory. If this field is left empty, it will be automatically created by appending the username to the home partition. The /nonexistent home directory is considered special and is understood to mean that no home directory is to be created for the user.

Output of sudo pwck -r /etc/passwd :

user 'lp': directory '/var/spool/lpd' does not exist
user 'news': directory '/var/spool/news' does not exist
user 'uucp': directory '/var/spool/uucp' does not exist
user 'list': directory '/var/list' does not exist
user 'irc': directory '/var/run/ircd' does not exist
user 'gnats': directory '/var/lib/gnats' does not exist
user 'nobody': directory '/nonexistent' does not exist
pwck: no changes