回答:
使用しているコマンドは両方とも正しいです。マニュアルも参照してください。
unmask
へのシンボリックリンク以外にシステムに既存のユニットファイルがない場合、コマンドは失敗するよう/dev/null
です。あなたの場合はmask
サービス、そしてそれは、新しいシンボリックリンクを作成/dev/null
中/etc/systemd/system
ユニットファイルのためにsystemdルックスは、ブート時にロードする場所。この場合、実際のユニットファイルはありません。
x11-common.service
私のシステムでもマスクされていました。次のように修正できます。
最初に、ユニットファイルがへのシンボリックリンクであることを確認します /dev/null
file /lib/systemd/system/x11-common.service
返されるはずです:
/lib/systemd/system/x11-common.service: symbolic link to /dev/null
その場合は削除してください
sudo rm /lib/systemd/system/x11-common.service
ユニットファイルを変更したため、これを実行する必要があります。
sudo systemctl daemon-reload
ステータスを確認してください:
systemctl status x11-common
ロードされて実行されていると表示されない場合(円がまだ赤の場合)、パッケージを再インストールします
sudo apt-get install --reinstall x11-common
デーモンを再度リロードします
sudo systemctl daemon-reload
ステータスをもう一度確認します
systemctl status x11-common
現在は緑色で実行されています:)このサービスにはsystemdユニットファイルはありませんが、systemdは喜んでスクリプトを使用します/etc/init.d
。
/etc/init/
...にファイルがあります)。新しい質問をしたいかもしれません。私がやったことは明らかな違いはなく、ロードされたマスクされたデッド(赤)ではなく、サービスがロードされ、有効化され、停止された(起動時にアクティブ)(緑)として表示されます。ログを読む必要があります
/dev/null
ますか?あなたは私の答えについては正しいです。私はsystemdにの...行動を混乱...のための回避策このソリューションを呼ぶだろう
以下の手順に従ってください:
systemctl edit systemd-hostnamed
以下の2行を追加して、エディターを終了します(プロンプトが表示されたら保存することを忘れないでください)。
[Service]
PrivateNetwork=no
これにより、ディレクトリに上記の2行のoverride.confファイルが作成されます。
/etc/systemd/system/systemd-hostnamed.service.d/
systemdの更新:
systemctl daemon-reload
次に、サービスを再起動します。
systemctl restart systemd-hostnamed
hostnamectl
これで、ハングすることなく実行できるはずです。