我昨天在跑步sudo apt update && sudo apt upgrade -y
。有一个软件包更新ebtables
(我查了一下,显然它是 iptables,但用于以太网?)。但是,apt
无法安装它。
root@win10:~# apt dist-upgrade -V 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 计算升级...完成 以下软件包将会升级: ebtables(2.0.10.4-3.5ubuntu2 => 2.0.10.4-3.5ubuntu2.18.04.1) 1 个已升级,0 个新安装,0 个要删除,0 个未升级。 需要获取 0 B/79.9 kB 的档案。 此操作后将使用0B的额外磁盘空间。 您想继续吗?[Y/n] (正在读取数据库...当前安装了 29277 个文件和目录。) 准备解压 .../ebtables_2.0.10.4-3.5ubuntu2.18.04.1_amd64.deb ... invoke-rc.d:无法确定当前运行级别 * 错误:权限不足,无法访问 ebtables 规则集。 invoke-rc.d: initscript ebtables,操作“停止”失败。 dpkg:警告:旧的 ebtables 包预删除脚本子进程返回错误退出状态 1 dpkg: 尝试使用新包中的脚本... invoke-rc.d:无法确定当前运行级别 * 错误:权限不足,无法访问 ebtables 规则集。 invoke-rc.d: initscript ebtables,操作“停止”失败。 dpkg: 处理档案 /var/cache/apt/archives/ebtables_2.0.10.4-3.5ubuntu2.18.04.1_amd64.deb (--unpack) 时出错: 新的 ebtables 包预删除脚本子进程返回错误退出状态 1 update-rc.d:警告:不再支持启动和停止操作;恢复为默认值 invoke-rc.d:无法确定当前运行级别 E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
我尝试了重新启动、、sudo dpkg --configure -a
和sudo apt clean/autoclean/remove/install -f/update/...
,但没有任何效果。
我现在应该做什么?我应该保留该包吗(sudo apt-mark hold ebtables
)?有没有安装它的解决方法?
答案1
sudo cp -p /bin/true /sbin/ebtables
sudo apt update -y
sudo apt upgrade -y
答案2
在 WSL 下应该不需要它,因为表由 Linux 内核管理,而在 WSL 中您没有使用 Linux 内核。由于此错误,似乎无法将其删除,但您可以放心地忽略它。
更新:预删除脚本和 ebtables 停止脚本已在 ubuntu 包中修复,因此升级现在可以进行。
https://bugs.launchpad.net/ubuntu/+source/ebtables/+bug/1774120