Неизвестный пользователь в файле statoverride

На моем htpc-сервере, работающем под управлением Ubuntu, было установлено приложение, называемое mediatomb, несколько месяцев назад я удалил его и заменил на Plex. На выходных при опросе существующих пользователей на машине я заметил, что пользователь и группа mediatomb все еще существуют, поэтому я использовал команду

sudo deluser mediatomb

для удаления пользователя. Примерно через день я пошел устанавливать htop sudo apt-get install htop, но обнаружил, что получаю ошибку: синтаксическая ошибка

: неизвестный пользователь 'mediatomb' в файле statoverride.

Я думал, что смогу открыть файл statoverride с помощью nano и отредактировать любые ссылки на mediatomb, но я не смог правильно открыть файл с помощью nano. Я запустил команду grep

grep 'mediatomb' /var/lib/dpkg/statoverride

, которая вернула в файл два места, которые больше не существуют в системе. Единственный способ, которым я могу сейчас обойти эту проблему, - это воссоздать медиатомбу пользователя, и тогда все работает нормально. Очевидно, что это не хорошее долгосрочное решение.

Я хотел бы знать, что такое файл statoverride и почему он сохраняет в нем пользователей, которые были удалены из системы? Я удаляю пользователей неправильным или устаревшим способом?

21
задан 11 October 2014 в 04:26

8 ответов

1112 Я знаю, что этот вопрос немного староват, но теперь уже сталкивался с этим дважды. Один раз с puppet, один раз с virtualbox. Это снова возникло, и я нашел то, что сработало. Это вариант на serverfault.com .

Вместо того, чтобы полагаться на dpkg-statoverride --remove /path/to/offending/file.ext, которое выдает ошибку

dpkg: unrecoverable fatal error, aborting:
syntax error: unknown group offendinggroup in statoverride file

Вы можете получить фантазию с sed, или вы можете просто открыть /var/lib/dpkg/statoverride в вашем любимом текстовом редакторе и удалить ] только строки, содержащие элемент (ы), которые вызывали ошибку. Я обнаружил, что это задокументированная ошибка для Debian и Ubuntu,

Тем не менее, я только что исправил Мой вручную отредактировав любую запись, которая выдавала ошибку, и я с удовольствием загружаю пакеты снова. Надеюсь, что это поможет следующему человеку, который посетит этот номер 1 в результатах поиска Google для этой проблемы.

0
ответ дан 11 October 2014 в 04:26

Хотя я не могу ответить на ваш вопрос, как спросили, я могу помочь вам с вашей дилеммой. Я столкнулся с той же самой проблемой, с которой вы столкнулись после использования «Учетных записей пользователей» для удаления пользователя «backuppc» - пользователя, которого я вручную настроил для резервного копирования. Ну, я удалил этот маршрут, но не пытался удалить пользователя, пока пару недель спустя (IE - сегодня). У меня не было никаких проблем, пока Менеджер обновлений не нашел и не попытался применить обновления; процесс не сможет прочитать

dpkg: unrecoverable fatal error, aborting:  
 syntax error: unknown user 'backuppc' in statoverride file
W: Waited for dpkg --assert-multi-arch but it wasn't there - dpkgGo (10: No child processes)
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install.  Trying to recover:

После некоторых поисков я нашел решение.

x@y ~ $ cat /var/lib/dpkg/statoverride
root postdrop 2555 /usr/sbin/postdrop
root postdrop 2555 /usr/sbin/postqueue
root mlocate 2755 /usr/bin/mlocate
postfix postdrop 2710 /var/spool/postfix/public
backuppc www-data 4750 /usr/lib/backuppc/cgi-bin/index.cgi
root ssl-cert 710 /etc/ssl/private
root crontab 2755 /usr/bin/crontab

Исправлено: sudo sed -i '/ backuppc / d' / var / lib / dpkg / statoverride

x@y ~ $ sudo sed -i '/backuppc/d' /var/lib/dpkg/statoverride; cat /var/lib/dpkg/statoverride
[sudo] password for x: 
root postdrop 2555 /usr/sbin/postdrop
root postdrop 2555 /usr/sbin/postqueue
root mlocate 2755 /usr/bin/mlocate
postfix postdrop 2710 /var/spool/postfix/public
root ssl-cert 710 /etc/ssl/private
root crontab 2755 /usr/bin/crontab

Извините, я не могу ответьте на ваш вопрос, но это был второй результат в Google, поэтому я хотел бы выложить решение здесь для людей. Мой ответ возник из http://rickfoosusa.blogspot.com/2012/04/howto-ubuntu-unknown-user-in.html .

0
ответ дан 11 October 2014 в 04:26

Я получаю следующую ошибку:

dpkg: unrecoverable fatal error, aborting:
syntax error: unknown group "crontab" in statoverride file,
 E: Sub-process /usr/bin/dpkg returned an error code (2)
dpkg: unrecoverable fatal error, aborting:
 unknown group 'messagebus' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)

Нижеприведенная команда решила мою проблему установки apt-get

sudo sed -i '/crontab/d' /var/lib/dpkg/statoverride

Вы можете изменить слово crontab, но удерживайте «/ d» до Вы можете успешно установить любой apt-get без синтаксической ошибки.

root@localhost:~# sudo sed -i '/messagebus/d' /var/lib/dpkg/statoverride
root@localhost:~# apt-get install wifite
Reading package lists... Done
0
ответ дан 11 October 2014 в 04:26

Когда я установил DelugeD, он создал пользователя с именем debian-deluged. Позже я изменил конфигурацию Deluge для использования другого идентификатора пользователя и удалил автоматически созданного пользователя. Это привело к ошибке statoverride при установке пакетного спидометра.

Я запустил sudo nano /var/lib/dpkg/statoverride и вручную заменил автоматически созданного пользователя назначенным идентификатором пользователя, и ошибка была устранена.

0
ответ дан 11 October 2014 в 04:26

У меня была похожая ошибка, и я исправил ее, сначала сделав резервную копию файла statoverride , а затем удалив все строки, содержащие слово postdrop .

Не забудьте добавить новую строку в конец файла statoverride .

0
ответ дан 11 October 2014 в 04:26

Это потому, что вы, возможно, удалили пользователя, и теперь dpkg запрашивает /etc/passwd для сравнения с файлом statoverride, он проверяет, что все записи файла statoverride находятся в passwd, и, если это не так, выдает предупреждение, что и происходит.

Это легко исправить, если вы переконфигурируете / переустановите соответствующий пакет (в вашем случае это был mediatomb, это может быть что угодно, к счастью, Debian (на основе ОС Ubuntu)) использует то же имя пользователя, что и имя обычно), и он (повторно) создаст пользователя в файле passwd.

sudo apt-get --reinstall install package

или

sudo dpkg-reconfigure package
0
ответ дан 11 October 2014 в 04:26

У меня возникла проблема с установкой mongo. Я пробовал разные решения, но единственное, что помогло, - это редактирование файла вручную.

 sudo vim  /var/lib/dpkg/statoverride

Итак, я удалил оттуда ссылки на mongodb и, наконец, смог установить mongo полностью без каких-либо препятствий. Произошла ошибка, указанная ниже.

dpkg: unrecoverable fatal error, aborting:
unknown user 'mongodb' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)

Надеюсь, это поможет кому-нибудь

1
ответ дан 9 March 2020 в 05:14

При проблемах с установкой MongoDB, таких как неизвестный пользователь 'mongodb' в файле statoverride: откройте терминал, затем перейдите по адресу: sudo vim /var/lib/dpkg/statoverride

Удалите:

mongodb mongodb 755 /var/log/mongodb

Затем переустановите mongodb.

2
ответ дан 6 July 2020 в 10:36

Другие вопросы по тегам:

Похожие вопросы: