Arch Linuxで/ etc / systemd / system /を削除しました


0

これは非常に残念なことであり、予防することもできたので、もっと注意を払っていたはずですが、(最新の)Arch Linuxマシンの/ etc / systemd / system /ディレクトリ全体を誤って削除してしまいました。

以前のディレクトリの内容は次のとおりでした。

  • dbus-org.freedesktop.Avahi.service-> /usr/lib/systemd/system/avahi-daemon.service getty.target.wants
  • multi-user.target.wants
  • printer.target.wants
  • sleep.target.wants
  • systemd-user-sessions.service.d

ここの誰かが私がすぐに知っておくべきことで私を助けることができれば、私はとても幸せです。私は今少し心配しています。事前に感謝します!

宜しくお願いします


提供するものはあまりありませんが、これはlug.wsu.edu/node/414
サイモンシーハン

回答:


1

こんにちは

このディレクトリには/ usr / lib / systemd / system内の実際のサービスファイルへのシンボリックリンクしか含まれていないため、これは実際には深刻な問題ではありません。

大規模な削除の前のようにシステムをバックアップすることはできませんでしたが、システムが再び動作することを確認できます

次回の再起動時にシステムが機能することを保証するために、常に最小限のシンボリックリンクを再作成します

sudo systemctl enable getty@tty1.service
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の動作にとって非常に問題があるとは思わない

さようなら

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.