Archを実行する小さなarmサーバーがあります。イーサネット接続にdhcpcdのみを使用したかったため、netctl.serviceおよびnetctl-ifplugd.serviceを無効にしました。それはうまくいかず、私はもはやマシンに接続する手段がありません。
netctlを無効にした後、dhcpcdを確実に有効にしましたか?
そのUSB上のファイルやシンボリックリンクを操作して「systemctl enable netctl.service」を実行するにはどうすればよいですか?
同等の代替質問は、「systemctl enable netctl.service」は何をするのですか?
すべてはsystemctl enable
ありませんからシンボリックリンクを作成している/usr/lib/systemd/system/
か/etc/systemd/system/
で、適切なターゲットディレクトリに/etc/systemd/system/
後者のディレクトリ内のサービスは前者ではものをオーバーライドして、。
systemctl(1)のmanページ:
enable NAME...
Enable one or more unit files or unit file instances, as
specified on the command line. This will create a number
of symlinks as encoded in the "[Install]" sections of the
unit files.
使用systemctl enable
する代わりに、次のコマンドを使用して手動でnetctlサービスを有効にすることができます。
ln -s /usr/lib/systemd/system/netctl.service \
/etc/systemd/system/multi-user.target.wants/netctl.service
また、手動で無効にするには、次のコマンドを使用して、前のln
コマンドで作成されたシンボリックリンクを削除します。
rm /etc/systemd/system/multi-user.target.wants/netctl.service
問題のサービスファイルのセクションでWantedBy
設定を探すことで、適切なターゲットディレクトリを見つけることができます[Install]
。ただし、古いサービスファイルのAlias
代わりにWantedBy
、代わりに使用することもできますWantedBy
が、どちらも同様に機能します。
代わりにnetctlを使用してに戻すのは、最初にdhcpcdを、サービスが正常に有効になっていることを確認することができ、そしてそれはあなたが使用することができた場合journalctl
の--directory
か、--root
あなたの他のマシン上のファイルシステムをマウントした後、dhcpcdをサービスのログをチェックし、そのことができるかどうかを確認するためのフラグをそれが正しく機能しなかった理由についての手がかりを与えます。
systemctl enable netctl && systemctl start netctl
かsystemctl enable dhcpd && systemctl start dhcpd
、接続できないマシンから使用することです。