50%オフ すべてのプラン、期間限定。から開始 $2.48/mo
残り7分
サーバーとOS

Ubuntu で systemctl: コマンドが見つからないエラーを修正する方法

ニック・シルバー By ニック・シルバー 7 分で読めます 2025 年 2 月 20 日更新
systemctlを修正する方法:コマンドが見つかりません

Linux ユーザー、特に Ubuntu のような最新のディストリビューションにとって最も強力で便利なツールの 1 つは、 システムctlコマンド。このコマンドライン ユーティリティは通常、systemd、システム、およびサービス マネージャーと対話するために使用されます。

このコマンドを使用して、システム サービスの管理、ステータスの表示、開始または停止、システム起動時の有効化と無効化を行うことができます。かなり便利ですよね?ただし、systemctl コマンドが見つからないか認識されない場合は、次のような問題に直面することになります。 「sudo:systemctl: コマンドが見つかりません」 エラー。

そこで、「systemctl: command not found」エラーの意味、このエラーが発生するさまざまな理由、およびこのエラーを修正する方法について説明します。

「systemctl: コマンドが見つかりません」とはどういう意味ですか?

簡単に言えば、「systemctl: コマンドが見つかりません」エラーは、現在の環境では systemctl コマンド ライン ユーティリティが利用できない、またはアクセスできないことを意味します。これにはさまざまな理由が考えられますが、いずれも環境が非システム環境であるか、systemd パッケージがシステムにインストールされていないかのいずれかに帰着します。

基本的に、systemd パッケージがインストールされていないか、Linux ディストリビューションまたはバージョンが systemd を使用していません。むしろ、init.d のような古いサービス管理システムを使用します。もう 1 つの可能性は、PATH 環境変数に systemctl が配置されているディレクトリが含まれていない、つまりシェルがそれを見つけられないということです。

「systemctl: command not found」エラーの原因となるシステムの何が問題なのかがわかったので、問題の場所を確認する方法とその解決方法を見てみましょう。

systemctl: コマンドが見つからないエラーの修正

次の手順では、システムに systemd がインストールされており、systemctl を使用しているかどうかを確認し、systemctl のパスを確認します。問題を確認したら、エラーを修正するために必要な手順を実行します。

1. システムが systemd を使用しているかどうかを確認する

Ubuntu systemctl は systemd パッケージがインストールされている場合にのみ使用できるため、最初に次のコマンドを実行して、システムが systemd を使用することになっているかどうかを確認します。

ps -p 1 -o comm=

または、次のコマンドを使用して systemd のバージョンを確認できます。

systemd --version

出力が systemd の場合、systemd は init システムであり、Ubuntu systemctl がインストールされている必要があります。ただし、出力が init または別のプロセス マネージャーである場合は、システムが代替の初期化システムを使用していることを意味し、systemd に移行しない限り systemctl は機能しません。

Upstart や SysVinit などの古い初期化システムが表示され、systemd に切り替えて systemctl を使用したい場合は、次の手順に従います。

1. 次のコマンドを使用して systemd をインストールし、systemctl をインストールします。

sudo apt install systemd-sysv

2. 次のコマンドを実行してシステムを再起動します。

sudo reboot

3. システムが systemd を使用していることを確認します。

ps -p 1 -o comm=

出力は systemd になるはずです。

2. systemd が正しくインストールされていることを確認する

通常の状況では、systemd がインストールされ、init システムとして実行されている場合、systemctl コマンドは正しく機能するはずです。そうでない場合は、systemd パッケージが見つからないか、不適切にインストールされていることを意味します。

Docker コンテナーやクラウド インスタンスなどの最小バージョンの Ubuntu を使用している場合、デフォルトでは systemd がインストールされていない可能性があることに注意してください。 systemd のインストールを通じて systemctl をインストールするには、次のコマンドを実行します。

sudo apt update
sudo apt install systemd

インストールしたら、systemctl コマンドが使用できるかどうかを確認します。

3.systemctlのPATHの確認

systemctl が見つからないエラーに関する一般的な問題の 1 つは、systemctl がインストールされているにもかかわらず、システムの PATH にないことです。 systemd バイナリが、/bin、/usr/bin、/usr/local/bin などの一般的なディレクトリに存在するかどうかを確認するには、次のコマンドを使用できます。

which systemctl

PATH にリストされているディレクトリのいずれかで systemctl が見つかった場合は、次のような出力が得られます。

/usr/bin/systemctl

PATH 内のどのディレクトリにも systemctl が見つからない場合、while コマンドは何も返しません。

ただし、systemctl がディレクトリ内に存在する場合でも、まだ機能しない可能性があります。これは、systemctl が PATH に含まれていないディレクトリにある可能性があるためです。この状況では、次のコマンドを使用して、systemctl が配置されているディレクトリがシステムの一部であるかどうかを確認する必要があります。

echo $PATH

出力は次のようになります。

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

ここで、あなたがしなければならないのは、systemctl が存在するディレクトリ (what コマンドで取得したもの) が、echo $PATH コマンドの出力にリストされているディレクトリに含まれているかどうかを確認することだけです。

systemctl のディレクトリが echo $PATH の出力に含まれていない場合は、それを PATH 変数に追加する必要があります。これを行うには、次のコマンドを実行する必要があります。

のために Bash シェルのユーザー、テキスト エディターで ~/.bashrc ファイルを開きます。

nano ~/.bashrc

ファイルの最後に次の行を追加します。

export PATH=$PATH:/usr/bin

/usr/bin は、この例では systemctl が配置される一般的なディレクトリです。

ここで、CTRL + X を押してファイルを保存して閉じ、次に Y を押して確認し、Enter を押して保存します。

のために Zsh ユーザー, テキスト エディターで ~/.zshrc ファイルを開きます。

nano ~/.zshrc

ファイルの最後に次の行を追加します。

export PATH=$PATH:/usr/bin

/usr/bin は、この例では systemctl が配置される一般的なディレクトリです。

ここで、CTRL + X を押してファイルを保存して閉じ、次に Y を押して確認し、Enter を押して保存します。

上記の手順が完了したら、echo $PATH コマンドを使用して、systemctl のディレクトリが PATH に追加されているかどうかを確認します。これで、「systemctl: コマンドが見つかりません」エラーが発生することなく、systemctl を実行できるようになります。

4.systemdの再インストール

以前の修正が機能せず、依然としてコマンドが見つからないエラーが発生する場合は、systemd を完全に再インストールすると問題が解決する可能性があります。これを行うには、次のコマンドを実行します。

sudo apt purge systemd
sudo apt install systemd

次に、次のコマンドを使用してシステムを再起動します。

sudo reboot

systemctl が機能するかどうかを確認します。

5. systemd が正しく構成されていることの確認

場合によっては、この問題は、systemd のインストールの設定が間違っているなどの単純なものである可能性があり、その結果「systemctl: コマンドが見つかりません」エラーが発生します。この問題を解決するには、次のコマンドを実行するだけで完了です。

sudo dpkg-reconfigure systemd

6. 時代遅れの Linux 用 Windows サブシステム (WSL)

Ubuntu を以下の環境で使用している可能性があります。 WSL (Linux 用 Windows サブシステム) WSL 1 などの古いバージョンの WSL は systemctl をネイティブにサポートしていないため、以前のどの修正を使用しても systemctl を実行できないことを知っておく必要があります。

systemctl の機能を利用したい場合は、systemd のサポートが強化された WSL 2 にアップグレードする必要があります。 WSL を使用しているかどうか不明な場合は、次のコマンドを使用して確認できます。

uname -a

出力に WSL が記載されている場合、「systemctl: command not found」エラーが表示されるのはそのためです。

7. systemctl の代わりに sudo サービスを使用する

システムが systemd を使用していないために「systemctl: コマンドが見つかりません」エラーが発生した場合は、sudo service コマンドを使用してサービスを管理できます。このコマンドは、SysVinit や Upstart などの古い init システムで動作します。これは、systemd ではなく init スクリプトに依存する Ubuntu システムに役立ちます。

たとえば、サービスを開始するには、次を実行します。

sudo service <service_name> start

最終的な考え

systemd とその systemctl コマンドライン ユーティリティは、SysVinit や Upstart などの他の古い init システムのほとんどを置き換えました。 systemd は、そのモノリシックな設計と非 Unix 哲学のため、誰もが init システムを好むわけではありませんが、一般的には依然として一般的な選択肢とみなされています。したがって、systemd のコマンドライン ユーティリティを使用できないとその機能が大幅に制限されるため、systemctl コマンドが利用できないというエラーを解決できたことを願います。

よくある質問

systemctl とは何ですか? systemctl: コマンドが見つかりませんの意味は何ですか?

systemctl は、Ubuntu などの systemd を実行している Linux システムでサービスを管理するために使用されるコマンドライン ツールです。 「systemctl: コマンドが見つかりません」エラーは、ツールが利用できない、またはアクセスできない場合に発生します。通常は、システムが systemd を使用していないか、systemd パッケージがインストールされていないことが原因です。

systemctl はすべてのバージョンの Ubuntu で利用できますか?

いいえ、systemctl はすべてのバージョンの Ubuntu で使用できるわけではありません。 systemctl は systemd init システムの一部であり、最新の Ubuntu バージョン (15.04 以降) のデフォルトです。古いバージョンまたは特定の最小限のインストールでは、代わりに SysVinit や Upstart などの代替 init システムが使用される場合があります。

共有

詳細はブログから

読み続けてください。

Cosmos Cloud で実行できる最高のセルフホスト アプリ Cosmos ダッシュボードの周囲にアプリ パネルが配置されたカバー画像。
サーバーとOS

Cosmos Cloud で実行できる最高のセルフホスト アプリ: ファイル、メディア、パスワード、オートメーションなど!

おそらく、Cosmos Cloud を設定済みで、どのアプリがそれによく適合するかを知りたいと考えているかもしれません。あるいは、Cosmos をまだ決めておらず、それが自分のワークフローにどれだけ適合するかを確認したいだけかもしれません。

ニック・シルバーニック・シルバー 16 分で読めます
Docker アプリの管理のための Porttainer と Cosmos Cloud では、ハイブリッド セットアップの図とネオン運用とアクセス ブロックが取り上げられています。
サーバーとOS

Porttainer 対 Cosmos Cloud: Docker アプリ管理に最適

すでに Docker を知っていて、成長するアプリ スタックを実行するためのよりクリーンな方法が必要な場合は、Porttainer と Cosmos Cloud に対する簡単な答えをここに示します。ポーテイナーはディレックにとってより強力なピックだ

ニック・シルバーニック・シルバー 14 分で読めます
Cosmos Cloud、CasaOS、Umbrel のフィーチャー グラフィックは、1 つの抽象的なクラウド ネットワーク世界内の 3 つのセルフホスト パスを示しています。
サーバーとOS

Cosmos Cloud vs CasaOS vs Umbrel: どのセルフホスト プラットフォームがあなたのセットアップに適合しますか?

簡単に言うと、CasaOS は依然として最も簡単に始めることができ、Umbrel は最もすっきりと厳選された感触があり、Doma をより厳密に制御したい場合は Cosmos Cloud が合理的です。

ニック・シルバーニック・シルバー 11 分で読めます

導入する準備はできていますか? 月額 $2.48 から。

2008 年以降の独立したクラウド。AMD EPYC、NVMe、40 Gbps。 14日間の返金。