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, поэтому я удалил чтобы увидеть, смог ли я получить правильное обновление.
Это не сработало.
Сейчас я получаю ошибку о неразрешенных зависимостях и не могу ничего сделать. Я попробовал следующие способы, чтобы выбраться из этого:
- sudo apt-get -f install, это вывод (на итальянском, извините за это)
Исходя из этого, он не может установить этот "usermetricsservice_1.1.1+13.10.20131003-0ubuntu1_amd64.deb" и даже при использовании программного центра, открывающего его вручную, выдает ошибку.
- sudo apt-get -u dist-upgrade, вывод такой же, как и раньше
Это вывод с помощью "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. Я бы порекомендовал вам убедиться, что ни один процесс не блокирует файл, а затем перезапустить систему, если она не работает.