更新到 ubuntu 15.04 后出现 udev 问题

0 upgrade udev 15.04

升级到 Ubuntu 15.04 后,我在 udev 上遇到了一个奇怪的错误。

-> sudo apt-get dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  init
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
228 not fully installed or removed.
Need to get 0 B/3,734 B of archives.
After this operation, 30.7 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Setting up udev (219-7ubuntu3) ...
dpkg: error processing package udev (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 udev
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

经过大约一个小时的搜索,我了解到您可以通过更改/etc/init.d/udev文件来修复它。但问题是该系统在 Ubuntu 15.04 中被 systemd 系统取代。所以我回到了1号广场。

所以我的问题是,我该如何解决这个问题?

提前致谢。

编辑: 我在回答前一天重新安装了我的 Ubuntu 太遗憾了我不能说它是否有效:(。但我仍然必须将我的笔记本电脑升级到 Ubuntu 15.04 所以如果我遇到同样的问题,我肯定会测试从下面解决。

编辑 2: 所以我最终将我的笔记本电脑升级到 Ubuntu 15.04,但我遇到了同样的问题,所以我尝试了@Shengolol 的第一个修复程序。我可以告诉你它确实有效:D。

所以非常感谢神洛尔 :)。

小智 8

昨天我偶然发现了同样的问题。我从 14.10 升级到 15.04,在升级过程中我遇到了和你一样的错误。幸运的是,我能够查明问题的原因。有两种方法可以解决这个问题:

第一种方式(简单)转到终端并执行命令sudo groupdel input。现在运行sudo apt-get update && sudo apt-get dist-upgrade

如果您对问题的原因感兴趣或第一种方法不起作用,请仅阅读第二种方法。

第二种方式(我只是发布这个来解释这个问题)

dpkg 配置脚本中的某行有问题,我们想删除这一行。首先通过终端打开文件:

sudo nano /var/lib/dpkg/info/udev.postinst
Run Code Online (Sandbox Code Playgroud)

现在搜索该行addgroup --quiet --system input并将其删除。这一行是配置脚本的第一部分。它将组“输入”添加到您的系统中。奇怪的是,当该组已经存在时,它会使整个脚本崩溃。显然,该组的成员可以访问您的系统输入,但这不是必需的,因为没有该组的输入也可以使用。保存您编辑的文件并运行sudo apt-get update && sudo apt-get dist-upgrade.

我希望这为您解决了问题,并且将来对其他用户有所帮助。在修复此问题之前,每次有 udev 更新时,我们都必须应用其中一个修复程序。我不知道如何报告此错误,否则我会这样做。

此致,

神乐尔