如何在Windows 10 Spring Creators更新中解决Ubuntu中的运行级别错误?

时间:2018-05-31 20:11:50

标签: ubuntu windows-subsystem-for-linux ebtables

在Windows 10 Spring Creators Update(RS4)上运行的Ubuntu 18.04中执行SQL>select * from table_name; id id_order name phone price =========== ======== ==== =========== =========== 1 4E0 A 789 100 2 4E0 A 789 100 3 4LK A 789 200 4 2LP B 420 50 5 DK2 B 420 80 5 rows found SQL>select t1.* SQL&from table_name t1 SQL&join (select min(id) minid, id_order SQL& from table_name SQL& group by id_order) t2 SQL& on t1.id = t2.minid and t1.id_order = t2.id_order SQL&where t1.phone = 789; id id_order name phone price =========== ======== ==== =========== =========== 1 4E0 A 789 100 3 4LK A 789 200 2 rows found 时,出现此错误:

apt-get dist-upgrade

我不太关心ebtables(它似乎是默认/内置程序包)但我不想筛选每个更新的输出以确定是否有&# 39;除此之外的新错误。

2 个答案:

答案 0 :(得分:0)

事实证明,WSL不支持init / runlevels(这是有道理的,因为它实际上没有正常的Linux启动过程),如下所述: https://github.com/Microsoft/WSL/issues/1761#issuecomment-393154803

好消息是在Ubuntu Cosmic中进行了修复,过滤到Bionic(18.04)和Xenial(16.04): https://github.com/Microsoft/WSL/issues/1761#issuecomment-393652849

如果之前遇到此问题,现在应该解决。

答案 1 :(得分:0)

问题可能是因为service_control脚本尝试使用invoke-rc.d(这无效,因为Docker容器中没有运行级别),然后才尝试使用service命令(它将起作用)。

因此,请在脚本中更改if条件,或者采用一种懒惰的方式,即使其查找不存在的路径,以便它将使用service命令。例如:

if [ -x /xxxusr/sbin/invoke-rc.d ]; then
  /usr/sbin/invoke-rc.d $OMSAGENT_WS start
  elif [ -x /sbin/service ]; then
  /sbin/service $OMSAGENT_WS start