因此,在尝试升级到 14.04 时我遇到了此错误:
无法计算升舱
计算升级时出现无法解决的问题。
请报告针对“update-manager”包的这个错误并包含以下错误消息:“E:Error,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.
答案1
我刚才也遇到了这个错误,最后终于解决了。我这样做了:
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
。如果显示其他错误文件,请将其删除。如果没有其他错误文件,您现在应该会获得新用户。
这对我来说非常有用,所以我希望你能解决这个问题 =)。抱歉我的英语不好,因为我是西班牙人。再见,祝你好运。
答案2
我在尝试安装时遇到了类似的问题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
答案3
您很可能当时正在运行另一个 useradd 实例。您可以使用以下命令找出原因:
sudo lsof /etc/subuid
我的系统上没有这个文件,但它是由 passwd 包提供的。我建议您验证没有进程阻止该文件,然后如果它不起作用,请重新启动系统。