systemctl mask 解除する方法

systemctl mask について

systemctl mask [サービス] 」で、指定のサービスを無効化できます。「systemctl disable [サービス]」では指定したサービスの自動起動はしなくなりましたが、「systemctl start [サービス]」とするとサービスを起動できますが、mask を指定すると手動でのサービス起動もできなくなります

# nginx のサービスにmaskを設定します
$ sudo systemctl mask nginx
Created symlink /etc/systemd/system/nginx.service → /dev/null.

# nginx は、/dev/null にシンボリクリックが貼られます
$ ls -l /etc/systemd/system | grep nginx
lrwxrwxrwx  1 root root    9 Sep 12 13:19 nginx.service -> /dev/null
drwxr-xr-x. 2 root root 4096 Jun 28 08:36 nginx.service.d

# systemctl status で確認すると、maskが設定されています
$ sudo systemctl status nginx
Warning: The unit file, source configuration file or drop-ins of nginx.service changed on>
○ nginx.service
     Loaded: masked (Reason: Unit nginx.service is masked.)
    Drop-In: /usr/lib/systemd/system/nginx.service.d
             └─php-fpm.conf
     Active: inactive (dead)

maskしたサービスは「/dev/null」にシンボリクリックが貼られ、手動での起動でもできなくなります。

systemctl mask の解除

maskしたサービスの解除ですが、「systemctl unmask [サービス] 」とすれば、maskの解除ができます。

# nginxのmaskを解除します
$ sudo systemctl unmask nginx
Removed "/etc/systemd/system/nginx.service".

# /dev/null へのシンボリクリックが削除されたのを確認できます
$ ls -l /etc/systemd/system | grep nginx
drwxr-xr-x. 2 root root 4096 Jun 28 08:36 nginx.service.d

# systemctl status でもLoaded: masked (Reason: Unit nginx.service is masked.)の表記は消えています
$ sudo systemctl status nginx
○ nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disa>
    Drop-In: /usr/lib/systemd/system/nginx.service.d
             └─php-fpm.conf
     Active: inactive (dead)

 

スポンサーリンク

0
0