root@gcomputer:~# systemctl status x11-common
● x11-common.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
systemctl unmask x11-common
とsystemctl unmask x11-common.service
を試しましたが、何も変わりませんでした。
どうすればマスクを解除できますか?
使用しているコマンドは 両方とも正しい です。 マニュアル も参照してください。
システムに/dev/null
へのシンボリックリンク以外に既存のユニットファイルがない場合、unmask
コマンドは失敗するようです。サービス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
のスクリプトを使用します。
次のように、サービスに空のオーバーライドファイルがある可能性があります。
●redis-server.service-高度なキーと値のストアロード済み:ロード済み(/lib/systemd/system/redis-server.service;マスク済み、ベンダープリセット:有効)ドロップイン:/ etc/systemd/system/redis-server .service.d└─limit.conf
Limit.confが空のファイルかどうかを確認してください。ある場合は、削除してください。次に、サービスのマスクを解除する必要があります。
以下の手順に従ってください:
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
をハングさせずに実行できるはずです。