initd・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
initd・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


initd・とは?初心者でも分かる基本と使い方ガイド

initd は Linux や UNIX 系の OS で使われる「サービス起動スクリプト」を格納するディレクトリの名前です。主に /etc/init.d にあり、ここにはネットワークサービスやデータベース、ウェブサーバーなどを起動・停止させるための小さなシェルスクリプトが並んでいます。

ポイント:initd は「古い仕組みの名残」であり、現在は systemd が主流の多くのディストリビューションで使われることが多いですが、互換性のためにまだ残っている場合があります。

なぜ initd が重要だったのか

かつてはサーバーの起動順序を決めるために runlevel という概念を使い、サービスの起動・停止を個別に管理しました。/etc/init.d の中には、各サービスを操作するスクリプトがあり、起動時に runlevel の設定に従って自動的に動くよう設定されていました。

systemd との差異と共存

現在の多くの Linux ディストリビューションは systemd を使っています。systemd は「ユニット」という単位で管理し、/etc/init.d のスクリプトと同じ役割を持ちつつ、より高速で柔軟です。とはいえ、SysVinit の initd は今でも互換性として動くことが多く、古いスクリプトがそのまま動くよう配慮されています。

initd の基本的な使い方

基本的な操作は root 権限が必要です。代表的なコマンドは次のようになります

サービスの開始: sudo /etc/init.d サービス名 start

サービスの停止: sudo /etc/init.d サービス名 stop

状態の確認: sudo /etc/init.d サービス名 status または service サービス名 status

自動起動の設定(Debian/Ubuntu の互換性がある場合): sudo update-rc.d サービス名 defaults

Red Hat 系の別名コマンド: chkconfig サービス名 on など

このような操作はサーバー管理の基本ですが、誤った停止や削除を行うと、アプリやサイトが動かなくなることがあります。必ず変更前に現在の状態を確認し、バックアップや適切な計画を立ててから実施しましょう。

initd の内部構成の雛形

実際の init.d スクリプトは、起動時に実行される「start」時の処理と、停止時の処理を case 文で分岐させ、終了コードを返します。以下は雛形のイメージです。

雛形の例(実際のファイルにはこのまま使えるように環境やサービスに合わせた記述が必要です):

name は サンプル、case $1 in start) echo Starting name;; stop) echo Stopping name;; restart) echo Restarting name;; *) echo Usage: name {start|stop|restart};; esac

表で見る「initd」と「systemd」の違い

特徴SysVinit(init.d)systemd
起動の考え方Runlevel ベースユニットベース
設定ファイルの場所/etc/init.d、/etc/rc*.d/etc/systemd/system、/lib/systemd/system
管理コマンドservice サービス名 start/stop/status、/etc/init.d/サービス名 などsystemctl start サービス名.service など

この表からも分かるように、initd は過去の仕組みを支える部品のひとつです。新しい環境では systemd の方が主流ですが、古いサーバーや互換性の観点から initd の知識はまだ役に立つ場面があります。

最後に、初心者の方へ一言。新しい仕組みを学ぶ前に、現在使っている Linux ディストリビューションの初期化システムをまず確認しましょう。コマンドやファイルの場所は distribution によって異なることがあります。公式ドキュメントや信頼できる解説サイトを併せて参照することが、失敗を防ぐ第一歩です。


initdの同意語

SysVinit
System V init(System V起動管理)の略。古くから使われてきた init システムで、ランレベルに基づきサービスを起動・停止します。
init.d
/etc/init.d などに格納される、個別サービスの起動スクリプトを指すディレクトリ名。各スクリプトは start/stop/restart などの引数を受け、サービスの起動管理を担当します。
initスクリプト
サービスを起動・停止・再起動するための実行スクリプト。通常は /etc/init.d に格納され、各サービスの動作を定義します。
System V init
SysVinit の正式名称。System V の init の仕様に基づく初期化・サービス起動管理の仕組み。
起動スクリプト
サービスを起動・停止するためのスクリプトの総称。/etc/init.d 内の個別スクリプトを指すことが多いです。
rcスクリプト
ランレベル(Runlevel)ごとに実行される初期化スクリプト群の総称。SysVinit で使われます。
Runlevelスクリプト
ランレベルごとに実行されるスクリプト群。起動時の段階で実行される処理を定義します。
サービススクリプト
個別のサービスを制御するスクリプト。開始・停止・再起動などの操作を提供します。
/etc/init.d
initd の実体が格納されるディレクトリ。サービスの起動スクリプトが集まっています。
initシステム
init を核とするシステム全体の起動・サービス管理機構を指す言い方。
initレイヤー
起動時の段階を指す概念的な用語。段階ごとに処理が分かれることを示します。

initdの対義語・反対語

systemd
現代のinitシステムの代表格。SysVinitのような init.d ディレクトリ中心の作法に対する新世代の代替で、ユニットファイル(service/unitなど)でサービスを管理し、並列起動・依存性解決・ジャーナル(ログ)機能などを提供します。初心者には設定がユニット単位で整理され、起動プロセスの可視性が高い点が特徴です。
Upstart
イベント駆動型のinitシステム。主に過去にUbuntuなどで採用されましたが、現在はsystemdへ移行が進んでいます。init.dのスクリプト中心の運用とは異なり、イベントに応じてサービスを起動・停止する設計が特徴でした。
OpenRC
依存関係ベースの起動を行う軽量なinitシステム。SysVinit風のスクリプトと互換性を維持しつつ、並列起動や依存性解決を重視します。小規模な環境やリソース制約のある環境で選択されることがあります。
SysVinit
従来型のinitシステム。/etc/inittabや/etc/rc?.dなどを用い、スクリプトベースでサービスを管理します。init.dはこの系統のスクリプト群の一部であり、現代的なsystemdとは対照的な古典的な方式として捉えられることが多いです。
rc.local
起動時に任意のコマンドを実行するための単純な手段。自動起動の管理という意味ではsystemdのユニットとは異なる“手動寄りの追加実行”の考え方に近く、現代の自動起動管理と比較すると対照的な使われ方をします。

initdの共起語

SysVinit
古い init システム。/etc/init.d にサービスの起動スクリプトを配置し、runlevel により起動順序を制御する方式です。
/etc/init.d
サービスの起動スクリプトが格納されるディレクトリです。
init.d
init.d の略。SysVinit で使われる起動スクリプト群を指す一般的な呼び方です。
systemd
現代の init システム。ユニットファイルでサービスを管理し、systemctl で制御します。
systemctl
systemd の制御コマンド。サービスの開始・停止・再起動などを行います。
サービス
起動・停止・監視の対象となるプログラムの総称です。
起動スクリプト
サービスを起動するための実行スクリプトのことです。
rc.d
rc.d ディレクトリ。実行レベルごとの起動・停止リンクが格納されます。
/etc/rc?.d
実行レベルごとに作成される S(K)リンクが入るディレクトリのパターンです。
/etc/rc.d/rc?.d
Red Hat 系の実行レベル別リンクの格納場所です。
rc.local
起動の最後に実行されることがある任意のスクリプトファイルです(環境により未使用)。
Sリンク
起動時に実行されるスクリプトのリンクで、Sから始まるファイル名が多いです。
Kリンク
停止時に実行されるスクリプトのリンクで、Kから始まるファイル名が多いです。
runlevel
SysVinit で定義される動作モード。0〜6 の数字で表します。
0-6
代表的な実行レベルの番号。0は停止、3/5が通常運用、6は再起動など。
update-rc.d
Debian系で /etc/rc?.d のリンクを設定するコマンドです。
chkconfig
Red Hat系で /etc/rc.d/rc?.d のリンクを設定するコマンドです。
LSB init script
LSB 規格に準拠した init スクリプト。ヘッダ情報で動作条件を記述します。
LSB
Linux Standard Base の略。init スクリプトの標準仕様を含みます。
Default-Start
LSB ヘッダにある起動レベルの指定。どの runlevel で起動するかを示します。
Default-Stop
LSB ヘッダにある停止条件の指定。
依存関係
init スクリプト間の起動順序や依存性を記述する要素です。
PIDファイル
サービスの実行中のプロセスIDを記録するファイルです。
サービス名
起動対象のアプリケーション名を指します。
start/stop/restart
サービスを開始・停止・再起動する基本操作です。
reload
設定変更後に設定を反映させる再読み込み操作。全てのサービスで対応しているわけではありません。
daemon
バックグラウンドで動作する長時間稼働のプログラムを指します。
互換性
systemd と SysVinit との間に互換性が提供されることがあります(SysV 互換モード等)。
initコマンド
SysVinit の実行レベルを切り替えるコマンドです(例: init 3)。
起動順序管理
複数のサービスが同時に起動する場合に順序を決めること。
サービス管理
サービスの監視・制御・設定を指す総称です。
LSB Header
LSB 規格のヘッダ情報。Default-Start、Default-Stop などが含まれます。

initdの関連用語

init.d
SysV init 系のサービス起動スクリプトが格納されるディレクトリ。/etc/init.d にあり、各スクリプトはサービスの start/stop/restart を実行します。
SysV init
古典的な UNIX 系の起動管理システム。ランレベルごとに起動するサービスを決定し、/etc/init.d のスクリプトと /etc/rc*.d のリンクで制御します。
initスクリプト
/etc/init.d に置かれる実行可能なスクリプト。サービスの開始・停止・再起動を実装し、LSB ヘッダが付くこともあります。
ランレベル
システムの運用モードを表す番号。0〜6 の範囲で、各レベルで起動するサービスが異なります。例: runlevel 3 は多ユーザーモード。
rc?.d ディレクトリ
/etc/rc0.d などランレベルごとのディレクトリ。S で開始、K で停止を指示するシンボリックリンクが並びます。
S/K シンボリックリンク
ランレベル時の起動順序を決めるリンク。S は開始用、K は終了用で、番号が起動/停止の順序を決めます。
update-rc.d
Debian/Ubuntu 系で init.d のスクリプトを rc*.d へ自動的に登録/削除するコマンド。
chkconfig
Red Hat/CentOS などでサービスの自動起動設定を管理するツール。ランレベル別の on/off を設定します。
LSB Init Script
LSB(Linux Standard Base)準拠の init スクリプト。Provide/Required-Start などのメタ情報を含み、他のツールと互換性を高めます。
LSB Init Info
init スクリプトのヘッダ情報(### BEGIN INIT INFO ... で囲む部分)。Provide、Required-Start、Default-Start、Default-Stop などを記述します。
service コマンド
SysV init スクリプトを手軽に操作するためのコマンド。start/stop/restart などを実行します。
systemd
現在主流の init システム。ユニット(サービス・ソケット・ターゲットなど)を管理し、並列起動と依存解決を行います。SysV 互換モードもあります。
systemctl
systemd のコントロールコマンド。サービスの開始・停止・状態確認・設定の適用などを行います。
unit
systemd が管理する設定単位。サービスユニット、ソケットユニット、ターゲットユニットなどがあります。
Upstart
systemd 導入前に使われた起動管理システム。Ubuntu の古いバージョンなどで用いられました。
rc.local
起動時に最後に実行される任意のスクリプトを置く古いファイル。現在は推奨されないことが多いですが互換性目的で残っています。
デーモン
バックグラウンドで動作する長寿命のプロセス。init/systemd によって起動されることが多いです。
PID 1
カーネル起動後に最初に起動するプロセス。全プロセスの親となり、systemd や古い SysV init がこれを担います。

initdのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14102viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
1958viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
843viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
587viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
572viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
539viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
528viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
460viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
446viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
425viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
374viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
349viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
344viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
319viws
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
302viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
301viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
295viws
ダイレクトチャットとは?初心者向けガイドで使い方と注意点を徹底解説共起語・同意語・対義語も併せて解説!
295viws
解像度スケールとは?初心者でも分かる解像度スケールの基礎と使い方共起語・同意語・対義語も併せて解説!
275viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
235viws

新着記事

インターネット・コンピュータの関連記事