useradd: не может заблокировать /etc/subuid; Попробуйте позже

Итак, при попытке обновить до 14.04 я столкнулся с этой ошибкой:

Не удалось рассчитать обновление

При вычислении обновления возникла неразрешимая проблема.

Пожалуйста, сообщите об этой ошибке в пакете 'update-manager' и включите следующее сообщение об ошибке: 'E: Ошибка, pkgProblemResolver::Resolve генерирует разрывы, это может быть вызвано задержанными пакетами.'

Я заглянул в него и открыл файл журнала /var/log/dist-upgrade/apt.log в текстовом редакторе, обнаружив "поврежденные" пакеты и удалив их с помощью sudo apt-get remove. У меня было 33 сломанных пакета.

Я набрал "sudo apt-get update && sudo apt-get upgrade", чтобы посмотреть, есть ли какие-либо пакеты: было 2 пакета, которые не нужно обновлять: libboost-filesystem-dev и libboost-thread-dev, поэтому я удалил чтобы увидеть, смог ли я получить правильное обновление.

Это не сработало.

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

  1. sudo apt-get -f install, это вывод (на итальянском, извините за это)

http://pastebin.com/y2DTqxdQ

Исходя из этого, он не может установить этот "usermetricsservice_1.1.1+13.10.20131003-0ubuntu1_amd64.deb" и даже при использовании программного центра, открывающего его вручную, выдает ошибку.

  1. sudo apt-get -u dist-upgrade, вывод такой же, как и раньше

http://pastebin.com/k6DETpzV

Это вывод с помощью "sudo dpkg --configure -a": http://pastebin.com/SEj83RSP

Изменить: После перезагрузки мне удалось исправить нарушенные зависимости с помощью "sudo apt-get -f install", но я не могу обновить Ubuntu для той же ошибки, что и раньше, и я не уверен, в чем здесь проблема.

Это вывод "sudo lsof /etc/subuid"

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
  Output information may be incomplete.

3 ответа

У меня была эта ошибка всего минуту назад, и наконец я исправил. Я сделал это:

1- Попробуйте $ sudo useradd nickname,

2- Ответ, если у вас есть ошибка, должен выглядеть следующим образом: 'useradd: существующий файл блокировки /etc/subgid.lock без PID useradd: невозможно заблокировать /etc/subgid, пожалуйста, попробуйте еще раз.'

3. Теперь вы должны удалить все файлы, которые делают ошибку, они, в моем случае subgid.lock, (Вы можете видеть, что в ответе говорится "существующий файл блокировки /etc/subgid.lock", поэтому вам нужно удалить все файлы, которые помещены в ответ). Сделай это: $ sudo mv subgid.lock /home/youruser/subuid.lock.sav, Подставляя subgid.lock для вашего файла ошибок.

4- Попробуй еще раз $ sudo useradd nickname, Если показывает другой файл ошибки, удалите его. Если больше нет файлов ошибок, вы должны получить нового пользователя.

Это было очень полезно для меня, поэтому я надеюсь, что вы можете решить проблему =). И извините за мой английский, потому что я испанский. Пока и удачи.

Я столкнулся с подобной проблемой при попытке установить пользовательскую группу hadoop hduser и я решил это, удалив два файла. Вот ошибка, которую я получил:

useradd: existing lock file /etc/subuid.lock without a PID useradd: cannot lock /etc/subuid; try again later.

решение:

sudo rm /etc/subgid.lock
sudo rm /etc/subgid

Скорее всего, у вас в данный момент работает другой экземпляр useradd. Вы можете понять это, используя:

sudo lsof /etc/subuid

У меня нет файла в моей системе, но он предоставляется пакетом passwd. Я бы порекомендовал вам убедиться, что ни один процесс не блокирует файл, а затем перезапустить систему, если она не работает.

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