我在 14.04 上进行软件更新时遇到了问题。
sudo apt-get update
sudo apt-get upgrade
输出以下内容后终端无限期挂起:
Setting up bluez (5.23-2ubuntu0trusty1) ...
我尝试重新启动机器,但任何进一步的更新都会出现此消息:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
跑步:
sudo dpkg --configure -a
导致同样的问题:
Setting up bluez (5.23-2ubuntu0trusty1) ...
bluez 是否存在已知问题?或者是否有解决更新过程中出现问题的软件包的办法?
答案1
似乎 5.x 版本中缺少将 bluetoothd 作为守护进程运行的代码。我刚刚添加了 4.x 中的代码,它就起作用了。请参阅下面的补丁。
diff --git a/src/main.c b/src/main.c
index 4c94a69..979521e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -583,6 +583,13 @@ int main(int argc, char *argv[])
exit(0);
}
+ if (option_detach == TRUE) {
+ if (daemon(0, 0)) {
+ perror("Can't start daemon");
+ exit(1);
+ }
+ }
+
umask(0077);
event_loop = g_main_loop_new(NULL, FALSE);
答案2
1/ 首先
sudo dpkg --configure -a
sudo apt-get update && sudo apt-get upgrade -y
2/ 如果不起作用:
sudo apt-get install -f
sudo apt-get update && sudo apt-get upgrade -y
3/如果不起作用:
sudo dpkg --force-all --configure -a
sudo apt-get update && sudo apt-get upgrade -y
4/ 如果不起作用:
sudo dpkg -P --force-all bluez
sudo apt-get update && sudo apt-get upgrade -y