I uninstalled today quagga 0.99.23 from a Debian Stretch server to install bird.

After deinstalling quagga, I have found out that I am unable to install any other package.

Whenever I try to install any new package, I got back the error:

unknown user 'quagga' in statoverride file

What to do?

  • That’s odd, uninstalling quagga shouldn’t have removed the corresponding system user... I know you found a workaround, but could you please file a bug too? The main issue is that the statoverride setup in the postinst doesn’t have a corresponding removal in the postrm. – Stephen Kitt Jul 21 '17 at 15:51
  • @StephenKitt I may file a bug later on. I am done with quagga in Debian after them dropping SysV support abruptly. I will have to test with their new packages still have this bug. I edited the question to add the version. – Rui F Ribeiro Jul 21 '17 at 15:54
  • 2
    Ah, right, you uninstalled an old version... That old version did indeed remove the system user, the current version doesn’t, which would avoid the issue. (That’s actually a decent tip in general: paradoxically, before uninstalling an old package, make sure it’s up-to-date, even if that involves losing the initscripts.) – Stephen Kitt Jul 21 '17 at 16:01
  • I confirmed it, 1.1.1 is not affected; it does not affect Jessie too. Interesting. – Rui F Ribeiro Jul 21 '17 at 16:02
  • @StephenKitt Doing today the final migration to bird: it did not happen with 2 more servers, but it happened again with a 4th server. – Rui F Ribeiro Jul 26 '17 at 12:43

I found the line

quagga quaggavty 775 /etc/quagga

in the file /var/lib/dpkg/statoverride.

After deleting that line, I was able to install bird.

Apparently, the oficial way to do it is (this also happened later on another server, and this time I used this form):

sudo dpkg-statoverride --remove /etc/quagga

And to list all overrides:

dpkg-statoverride --list

From man dpkg-statoverride

   --remove path
          Remove an override for path, the status of path is left
          unchanged by this command.

   --list [glob-pattern]
          List all overrides. If a glob pattern is specified restrict
          the output to overrides which match the glob. If there are no
          overrides or none match the glob dpkg-statoverride will exit
          with an exitcode of 1.

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.