Arch Linux systemctl 列出所有启用的网络单元并进行故障排除

Arch Linux systemctl 列出所有启用的网络单元并进行故障排除

我现在已经是 Arch Linux 的老用户了,对rc.conf全局系统配置文件非常满意。然后是 systemd。

仍在尝试适应它。因此,我的问题如下:

在我的旧电脑上,我使用 dhcpcd 启用了网络接口在启动时启动,如下所示:

# systemctl enable [email protected]

几年后,我更换了主板,现在的网络接口名称也不再一样了。我在安装 grub 和新图形驱动程序时遇到了一些问题,但总的来说,我的 Arch 运行良好。我使用上一个命令为 dhcpcd 配置了一个新的网络接口,但我找不到如何像以下命令一样删除旧网络接口,因为我不记得它的名字了……而且启动需要很长时间,因为它是一项阻止所有其他任务的工作。

# systemctl disable [email protected]

sudo systemctl list-unit-files | grep enabled也无济于事,因为它仅显示[email protected]。 sudo systemctl status没有向我提供失败的网络接口......

那么,有没有什么文件可以让我获取这些信息?或者我是否错过了手册页或优秀的 Arch Wiki 中的某些内容?

我有一些次要的问题:

  • 我如何从 chrooted 环境/live CD 执行此操作?编辑rc.conf文件很容易排除故障,但现在我有点迷茫了。
  • 我如何更改启动顺序并指定某个过程是否必须在后台完成?

当然,我会在文档的某个地方找到它,但如果有人能伸出援助之手,为我指明正确的方向。

答案1

刚刚通过浏览 systemd 文件发现了它:

cd /etc/systemd
tree

它就在系统 > multi-user.target.wants 文件夹下。

所以现在我可以禁用它了。我仍然希望有更好的方法在 systemd 下列出它 - 或者如果没有,请确保有,以便我可以提交错误报告。

我将等待其他答案。

答案2

我没有使用 Arch 而且不知道模板[email protected]是什么样子的,但是如果它已加载(并且应该加载,因为它会减慢你的启动速度)你应该在输出中看到它systemctl

如果您想了解有关 systemd 的更多信息,您应该查看systemctl --help

从 livecd 列出和配置 systemd 单元文件就像添加--root=<path>到 systemd 命令一样简单,但请记住,没有正在运行的 systemd 实例,因此只有在文件系统上运行的命令才会像 一样工作enable disable list-unit-files

正如您自己发现的那样,每个管理员生成的配置都会在/etc/systemd/ enable大多数时候创建一个从.target.wants到单元文件(可能是模板)的符号链接。如果您想知道选择了哪个目标,请阅读[Install]单元文件中的部分systemctl cat <unit name>

相关内容