在 Arch Linux 中删除了 /etc/systemd/system/

在 Arch Linux 中删除了 /etc/systemd/system/

我知道,这是非常不幸的,如果更加小心的话,本来是可以避免的,但我刚刚不小心删除了我(最新的)Arch Linux 机器上的整个目录 /etc/systemd/system/。

该目录以前的内容为:

  • dbus-org.freedesktop.Avahi.service-> /usr/lib/systemd/system/avahi-daemon.service getty.target.wants
  • 多用户.目标.想要
  • 打印机.目标.想要
  • 睡眠.目标.想要
  • systemd-用户会话.service.d

如果这里有人能帮我尽快解决我应该做的事情,我会非常高兴。我现在有点担心。提前谢谢大家!

此致

答案1

你好

这不是一个严重的问题,因为该目录仅包含指向 /usr/lib/systemd/system 内实际服务文件的符号链接

我无法像大规模删除之前那样帮助您备份系统,但您可以确保您的系统将再次工作

我总是重新创建严格最小的符号链接,以保证你的系统在下次重启时能够正常工作

sudo systemctl enable [email protected]
sudo systemctl enable remote-fs.target

我认为只有这样,您的系统才能顺利重启。您只是无法获得图形界面,因为您的显示管理器在启动时仍未启动。因此,您可以使用显示管理器服务名称(sddm、gdm、kdm、lightdm 等)输入与上述相同的命令

此后,您应该恢复一个正常工作的系统,但您需要手动启用您记得之前在启动时自动启动的每个服务,以下命令应该可以帮助您检索要重新启用的守护进程列表:

sudo systemctl list-unit-files

我不知道,但 systemd 可能会缓存或保留当前守护进程的状态不变,因此也许你可以简单地使用此命令获取之前启用的所有守护进程,而不必记住

最后,为了安全起见,您可以重新安装当前的软件包列表来创建其文件(如果不存在),例如使用如下命令:

for pkg in $(pacman -Q | cut -d' ' -f1); do
    sudo pacman -S --noconfirm $pkg
done

我希望它能帮到你,但我不认为你的删除对 archlinux 的工作有很大问题

再见

相关内容