我知道,这是非常不幸的,如果更加小心的话,本来是可以避免的,但我刚刚不小心删除了我(最新的)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 的工作有很大问题
再见