GNU/Linux >> Linux の 問題 >  >> Linux

10の便利なsystemdコマンド:リファレンス

貧弱なsystemd 中傷者のシェアを持っていますが、Linux管理者のためにここにとどまるように思われるので、私たちはそれに慣れたほうがよいでしょう。この便利なsystemd コマンドリファレンスは、通常の管理タスクを実行しようとするときに正気を保つのに役立ちます。したがって、systemdよりも使いやすく、口当たりが良く、望ましいものが得られるまでは 、便利な10個の便利なコマンドのリストをお楽しみください。これらのコマンドは、重要性や関連性の特定の順序ではありません。

ユニットファイルの一覧表示

systemdから マンページ:ユニットファイルは、サービス、ソケット、デバイス、マウントポイント、自動マウントポイント、スワップファイルまたはパーティション、起動ターゲット、監視対象ファイルに関する情報をエンコードするプレーンテキストのiniスタイルのファイルです。システムパス、systemdによって制御および監視されるタイマー 、リソース管理スライス、または外部で作成されたプロセスのグループ。

$ systemctl list-unit-files

UNIT FILE                                     STATE   
proc-sys-fs-binfmt_misc.automount             static  
dev-hugepages.mount                           static 
dev-mqueue.mount                              static 
proc-sys-fs-binfmt_misc.mount                 static  
sys-fs-fuse-connections.mount                 static  
sys-kernel-config.mount                       static  
sys-kernel-debug.mount                        static  
tmp.mount                                     disabled
brandbot.path                                 disabled
systemd-ask-password-console.path             static  
systemd-ask-password-plymouth.path            static  
systemd-ask-password-wall.path                static  
session-1.scope                               static  
arp-ethers.service                            disabled
auditd.service                                enabled 
[email protected]                               enabled 

<many more entries>

もちろん、いつでもgrepにパイプできます 有効なサービスだけを表示します。

$ systemctl list-unit-files |grep enabled

auditd.service                                enabled 
[email protected]                               enabled 
crond.service                                 enabled 
dbus-org.fedoraproject.FirewallD1.service     enabled 
dbus-org.freedesktop.nm-dispatcher.service    enabled 
firewalld.service                             enabled 
[email protected]                                enabled 
irqbalance.service                            enabled 
kdump.service                                 enabled 
lvm2-monitor.service                          enabled 

<many more entries>

これらのユニットファイルは、/lib/systemd/systemの下にあります。 、は、/etc/rc.d/init.dの下にある従来のinitスクリプトとほぼ同等です。 。実際、あなたまたはあなたのソフトウェアインストールがinitスクリプトを作成する場合、対応するsystemd ユニットファイルがマッピングされます。詳細については、/etc/rc.d/init.d/READMEを参照してください。 :

You are looking for the traditional init scripts in /etc/rc.d/init.d,
and they are gone?

Here's an explanation on what's going on:

You are running a systemd-based OS where traditional init scripts have
been replaced by native systemd services files. Service files provide
very similar functionality to init scripts. To make use of service
files simply invoke "systemctl", which will output a list of all
currently running services (and other units). Use "systemctl
list-unit-files" to get a listing of all known unit files, including
stopped, disabled and masked ones. Use "systemctl start
foobar.service" and "systemctl stop foobar.service" to start or stop a
service, respectively. For further details, please refer to
systemctl(1).

Note that traditional init scripts continue to function on a systemd
system. An init script /etc/rc.d/init.d/foobar is implicitly mapped
into a service unit foobar.service during system initialization.

Thank you!

Further reading:
        man:systemctl(1)
        man:systemd(1)
        http://0pointer.de/blog/projects/systemd-for-admins-3.html
        http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities

ご覧のとおり、init.d systemdを優先して削除されました 。誰かがより良いものを思い付くまでここにとどまります。 (誰かが迅速に交換に取り組んでいることを望んでいます。)

リストユニット

アクティブなユニットを一覧表示すると、ロードされたアクティブなサービスに関する多くの有用な情報が表示されます。出力は詳細すぎてここで説明できませんが、システムで次のコマンドを試して、意味を確認してください。

$ systemctl list-units

ステータスフィールドは見栄えがしますが、説明フィールドは私にとって最も便利です。サービスに関する詳細情報を提供します。

サービスを開始する

サービス名を取得するには、必要なユニットファイルとgrepをリストします。次に、systemctlを使用します サービスを開始するコマンド。 firewalldを使用しています 例として。

$ sudo systemctl start firewalld

驚くべきことに、またはそれほど驚くことではないかもしれませんが、サービスの開始、停止、または再開からの応答はありません。サービスのステータスを確認するには、statusコマンドを使用する必要があります。

サービスステータスの確認

サービスのステータスを確認するには、systemctl status service-name コマンド。

$ sudo systemctl status sshd
[sudo] password for khess: 
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-29 07:44:57 CDT; 2h 17min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1055 (sshd)
   CGroup: /system.slice/sshd.service
           └─1055 /usr/sbin/sshd -D

Apr 29 07:44:57 centos7 systemd[1]: Starting OpenSSH server daemon...
Apr 29 07:44:57 centos7 sshd[1055]: Server listening on 0.0.0.0 port 22.
Apr 29 07:44:57 centos7 sshd[1055]: Server listening on :: port 22.
Apr 29 07:44:57 centos7 systemd[1]: Started OpenSSH server daemon.
Apr 29 07:51:35 centos7 sshd[1396]: Accepted password for khess from 192.168.1.85 port 56769 ssh2

詳細が記載されているので、systemdのステータスが気に入っています。たとえば、上記のリストには、ユニットファイルへのフルパス、ステータス、開始コマンド、および最新のステータス変更が表示されます。

[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。 ]

サービスを停止する

実行中のサービスを停止するのは、サービスを開始するのと同じくらい簡単です。

$ sudo systemctl stop firewalld

この場合も、このコマンドを発行しても応答はありません。サービスステータスを発行して、成功または失敗を確認します。

サービスの再開

2つのコマンドを発行せずにサービスを停止および開始する場合(システム管理者は結局のところ怠惰なロットです)、再起動を発行します。

$ sudo systemctl restart firewalld

システムの応答は表示されません。

システムの再起動、停止、およびシャットダウン

これらの3つのタスクは、システム管理者が知る必要のある典型的なタスクであり、現在はsystemdの制御下にあります。 。

再起動

システムを再起動する方法は複数ありますが、古いスタンバイである再起動は、実際にはsystemctlへのリンクです。 指図。動作するので、systemctlをリンクしていると思います 次のように再起動スイッチを追加したコマンド:

$ sudo systemctl reboot

同じリンクが停止コマンドとシャットダウンコマンドに適用されます。

シャットダウンして停止

halt -pでどのように使用したかは関係ありません またはshutdown now または何であれ、ユニバーサルコマンドは次のようになります:

$ sudo systemctl poweroff

このコマンドはシステムの電源を切ります。

起動時に実行するようにサービスを設定する

chkconfigに慣れています 起動時および特定のランレベルでサービスを実行できるようにするコマンド。さて、当時も過ぎ去り、ユビキタスなsystemctlに奪われました。 コマンド。

起動時にサービスを実行できるようにする

起動時に開始するサービスを設定するには、次のコマンドを発行します。 firewalldを使用しています サンプルサービスとして。

$ sudo systemctl enable firewalld

起動時にサービスの実行を無効にする

起動時にサービスが開始されないようにするには、次を発行します。

$ sudo systemctl disable firewalld

firewalld 起動時にサービスが開始されません。

まとめ

この短いが便利なsystemd/systemctl リファレンスガイドは、systemdを扱う際の苦痛をいくらか取り除く必要があります 。それが少なくとも理論です。そして、私の記事でよく見たり、私が大声で言うのを聞いたりするように、「すべてが紙の上で機能します」。私の記事についてのあなたの考えをTwitterで知らせてください。また、新しいトピックを提案してください。

[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]


Linux
  1. LinuxでSystemdサービスを作成する方法

  2. Linuxsystemdに新しいサービスを追加する

  3. 基本的なSystemdサービスファイルを作成しますか?

  1. 基本サービスコマンド

  2. systemd コマンド ライン リファレンス (チート シート)

  3. systemd サービスの出力をファイルにリダイレクトする方法

  1. @reboot が CRON で機能しない

  2. systemd サービスを停止する方法

  3. systemd サービス ログをファイルにリダイレクトする