Linux

オープンソースで開発される OS。サーバーや組み込み機器で広く使われる

OSインフラ
Linux」の技術書を見る →

Linux とは

Linux は、1991 年に Linus Torvalds が開発を始めたオープンソースのオペレーティングシステム (OS) だ。厳密には OS の中核である「カーネル」を指すが、一般にはカーネルと各種ツールをまとめた配布物 (ディストリビューション) を含めて Linux と呼ぶ。Web サーバー、クラウド基盤、組み込み機器、スマートフォンまで、幅広い領域で使われている。

カーネルは GPL-2.0 (GNU General Public License version 2 のみ) で提供され、システムコールを通じて呼ぶだけのプログラムには GPL が及ばないという例外条項が付いている。この線引きがあるため、カーネル自体に手を入れれば同じ条件での公開が求められる一方、その上で動くアプリケーションは独自のライセンスで配布できる。Linux が商用製品の土台として広まった背景には、この構造がある。スマートフォンの Android も、上流の長期サポート版カーネルに Android 固有のパッチを重ねたカーネルを土台にしている。

ディストリビューションの違い

Linux には用途に応じた多様な配布形態がある。

ディストリビューション特徴
Ubuntu初心者にも扱いやすく情報が豊富
Debian安定性重視、Ubuntu の母体
Red Hat / Rocky企業向け、長期サポート
Alpine軽量でコンテナ用途に人気

選定では「情報の多さ」と「サポート期間」が実務上の判断材料になる。

カーネルの版とサポート

カーネルは、開発中の系列 (mainline)、直近の安定版 (stable)、長期に修正を受け続ける系列 (longterm) に分かれて公開される。2026 年 8 月時点の安定版は 7.1 系で、longterm は 5.10 系から 6.18 系まで複数が並行して保守されている。

実務で意識するのは longterm の側だ。ディストリビューションは長期保守の系列を選んで自前の修正を重ねるため、「ディストリビューションの版」と「カーネルの版」は一致しない。障害調査で参照すべき修正が入っているかは、ディストリビューションが実際に採用しているカーネル版で確認する必要がある。

なぜ重要か

クラウドの公式イメージやマネージドサービスは Linux を前提にしたものが多く、コンテナはさらに直接的だ。Docker の隔離は Linux カーネルの名前空間 (namespace) と cgroups という機能に依っており、コンテナは独立した OS ではなく、同じカーネルの上でプロセスを区切って動かす仕組みになっている。そのため、クラウドやインフラを扱うエンジニアにとって、ファイル操作・権限・プロセス・ネットワークといった基本コマンドの習熟は避けて通れない素養になる。

学習で押さえるべき点

GUI に頼らずコマンドライン (シェル) で操作する文化が根強く、まずは ls cd grep chmod といった基本コマンドとパイプによる処理の連結に慣れることが近道だ。また、すべてをファイルとして扱う設計思想や、ユーザー・グループによる権限管理を理解すると、トラブル時の原因切り分けが格段に速くなる。

小さなコマンドを継ぎ足して答えを出せるのが、この文化の実利だ。たとえばアクセスログから接続元の上位を数えるのは、専用ツールを入れずに次の 1 行で済む。

cut -d' ' -f1 access.log | sort | uniq -c | sort -rn | head -5

権限も同様に、値と表示の対応を体で覚えるのが早い。chmod 640 report.txt の後に ls -l を打てば -rw-r----- と出て、所有者は読み書き、同じグループは読み取りだけ、他のユーザーは何もできない状態だと読める。この 3 桁が読めるだけで、Web サーバーが 403 を返す種類の障害はかなり早く切り分けられる。

手元に仮想マシンかコンテナで 1 台用意して、ログの集計と権限の設定を自分で壊しながら試すのが結局は最短になる。読むだけでは、パイプでつないだ処理のどこで詰まったかを追う勘が身につかない。

この記事は役に立ちましたか?

関連用語

関連する記事