logologo
Linuxとは?特徴やメリット・ディストリビューションを解説!
thumb_linux_01

Linuxとは?特徴やメリット・ディストリビューションを解説!

アンドエンジニア編集部
2023.08.15
この記事でわかること
Linuxとは、UNIX互換APIを実装したフリーのオープンソースUNIX系OSを指します
Linuxカーネルおよび関連ソフトウェアをパッケージ化したディストリビューションを活用します
仮想マシンでデスクトップPCに環境を構築し、お手軽に利用することができます

Linuxとは

img_linux_01

 Linuxとは、UNIX互換APIを実装したフリーのオープンソースUNIX系OSを指します。1991年、リーナス・トーバルズによって開発されました。狭い意味合いでは、Linuxのカーネル自体を指す場合もありますし、動作環境やシステムを含めてLinuxということもあります。

UNIX系OSとは、UNIXの認定を取得していないものの、UNIXと同等の機能が実装されているOSを指します。代表的な例として、LinuxやFreeBSDをはじめとするBSD系OSが挙げられます。

Linuxカーネルは、当初32ビットx86PC向けUNIX互換OSとして一から記述されました。現在、POSIXならびにSingle UNIX Specification(SUS)準拠を目標に開発を行っており、サーバーからモバイル端末まで多数採用されています。 【参考】:About Linux Kernel

Linuxの成り立ち

Linuxはリーナス・トーバルズが、ライセンス管理されている商用UNIXを、より安価に利用する目的で開発をスタートしました。当時UNIX互換OSとして流通していた教育用MINIX上で開発をはじめ、1991年カーネルコードをLinuxカーネルに置き換えました。その際自身の名前と、UNIXやMINIXの末尾に用いるXの合成語でLinuxと命名しました。

MINIXで物足りなさを感じていたPC UNIX系OSの開発者の賛同により、Linuxの実用性が一気に高まりました。

Linuxの推進団体

The Linux Foundation(LF)は、技術コンソーシアムでLinux標準化を担当します。Linuxの成長促進のために2007年、それまでのOpen Source Development LabsとFree Standards Groupが合併発足しました。トレーニングやサポートプログラムを実施しています。 【参考】:THE LINUX FOUNDATION

Linuxの種類

LinuxはUNIX互換OSですが、UNIXの認定を受けているわけではありません。Linuxの基準は、The Linux FoundationによってLinux Standard Base (LSB)として制定されています。Linux Standard Baseは The Open Groupにより認証されますが、全てのLinuxディストリビューションが認証を受けているわけではありません。最終仕様もLSB 5.0として2015年の制定から更新されていません。 【参考】:Linux Standard Base Specifications Archive

Linuxの違いがはっきりするのは、Linuxディストリビューションの違いです。Linuxディストリビューションとは、Linuxカーネルおよびライブラリ・システムコマンド・ツール・シェル、コンパイラ・デスクトップGUI等をパッケージ化したLinuxシステムを指します。

インストールパッケージの管理には、パッケージマネージャを用いますが、ディストリビューションによってパッケージマネージャが異なります。そのため、Linuxディストリビューションの違いによって、操作環境や搭載ソフトウェアが異なります。このことによりLinuxの種類とは、Linuxディストリビューションの種類を指すこともあります。

Linuxディストリビューションの種類

Linuxでは、Linuxカーネルに関連ソフトウェアを同梱したLinuxディストリビューションを用いることが一般的です。Linuxディストリビューションによって、パッケージに採用されるミドルウエアやデスクトップインターフェースに違いがあります。

以下が、主要Linuxディストリビューションです。 ・Red Hat系ディストリビューション パッケージマネージャとしてRPMを利用します。RPMは、Red Hat Package Managerの略語が由来です。Red Hat Enterprise LinuxやFedra・Oracle Linux・SUSE Linux等が対応します。 【参考】:RPM Package Manager

Debian系ディストリビューション パッケージ管理にdeb形式のファイルを用います。deb形式はdpkgやapt・aptitude等のパッケージ管理コマンドを用いてソフトウェアを管理します。DebianやUbuntu等が対応します。

Linuxの特徴とメリット

img_linux_02

Linuxでできることは多数あります。Linuxの特徴とメリットですが、以下のポイントが挙げられます。

フリーのオープンソースソフトウェア LinuxはフリーのオープンソースOSです。そのため、無料で利用することができます。さらにLinuxディストリビューションでは、オープンソース製品を中心にパッケージしていますので開発環境・ミドルウェア・アプリケーションが無料で揃うメリットがあります。

トータルコストを削減可能 Linuxカーネルは無償であり、Linuxディストリビューションもそれにともない導入コスト削減が可能です。さらにシステム稼働中のトータルコストも商用OSに比較すると低コスト運用が可能です。

対応機器が豊富 Linuxは、業務システム・ハイパフォーマンスコンピュータからモバイル端末まで対応しており、ゲーム機や組み込み機器でも採用されています。そのため、実績も多数あります。動作が軽いので多くの機種で快適に動作します。

豊富なディストリビューション Linuxはカーネルにシステムライブラリやコマンド・ミドルウエア・ツールを同梱したLinuxディストリビューションを利用するのが一般的です。そのため用途に応じて、ディストリビューションが多数提供されています。利用者は好みに合わせてディストリビューションを選択することができます。

デベロッパーとコミュニティが活躍 Linux開発やメンテナンスは、コミュニティと全世界のデベロッパにより実施されています。そのため、日々製品開発と品質改善が行われています。これは利用者からすると安心材料と言えます。

実績あるソフトウェアスタックが構築可能 Linuxは、LAMPと言われるLinux・Apache・MySQL・Perl・PHP・Pythonを構成するシステムの中核であり、実績あるソフトウェアスタックが構築可能です。

MySQLとは?特徴から使い方・学習方法まで詳しく解説!

Linuxのデメリット

メリット多数のLinuxですが、以下のポイントは考慮する必要があります。

自己責任が求められる Linuxはフリーのオープンソースソフトウェアですので、利用者はリスクを理解して活用する必要があります。具体的には、製品のトラブル対応時には切り分け作業が必要ですし、不具合修正のコミットが得られないリスクがあります。有償サポートでこれらの作業を代行してもらえますが、本質的には自己責任に代わりがありません。

Log4jの脆弱性で学んだオープンソースソフトウェアの問題点とは

デバイスの互換性に制限を受ける Linuxではデバイス接続等のドライバーが提供されますが、より利用者が多いデバイスを重点対応します。そのため、特殊な装置や利用の少ない機器では動作確認や品質テストが十分なされないこともあります。特にUSB等の外部デバイスについては事前に動作確認を行う必要があります。

システム管理の理解が必要 主要用途のデスクトップ環境では、商用OSとしてWindowsやMacOSがあります。これはの商用OSではGUIの一貫性があり、システム管理の操作も統一されています。そのため、一般利用者でも簡単に操作できます。Linuxではグラフィカルユーザインターフェース(GUI)も利用されますが、システム管理にはコマンドラインインターフェース(CLI)の操作が求められるケースが多くなります。

Linuxのインストール

img_linux_03

Linuxのインストールは、LinuxカーネルのみインストールするのではなくLinuxディストリビューションをインストールするのが一般的です。すでに希望するディストリビューションがあれば、そのLinuxディストリビューションのインストール手順にしたがいます。

実際に試してみてから選定したいのであれば、仮想マシンに導入することをおすすめします。Windowsの場合は、Windows Sussystem for Linux 2(WSL2)を導入します。MacOSは、VirtualBoxやLimaを利用し動作確認してみるのが良いでしょう。お試し版として、あるいは普段使い用として利用できます。 【参考】:WSL のインストール 【参考】:VirtualBox 【参考】:Lima: Linux virtual machines

Linuxの基本操作とコマンド

Linuxのコマンドインターフェースを利用するために、ログインを行います。ログインが成功すると、”$”のプロンプトが表示されます。これは一般ユーザのシェルプロンプトです。

初心者の方は、ファイルやディレクトリ操作のコマンドがわかれば作業がしやすくなります。カレントディレクトリの表示はpwdです。ファイルやディレクトリの表示はlsです。WindowsのDIRに相当します。カレントディレクトリの変更にはcd・chdirを使います。ファイルやディレクトリの移動はmv、削除はrm、コピーはcpを使います。

ファイルや結果の表示はcat・more・less等を使います。使い方がわからない場合はmanコマンドで使い方を確認します。この操作方法はこれまでのUNIXと違いがありません。

rootをはじめとするスーパーユーザでは、”#”のプロンプトが表示されます。スーパーユーザで操作する場合は、root等のスーパーユーザでログインしたり、suコマンドでスーパーユーザとしてログインしなおすと管理者コマンドが利用可能となります。

ここまではコマンドラインインターフェースの操作方法でした。 Linuxディストリビューションではグラフィカルユーザインターフェースがデスクトップ環境として採用されています。デスクトップ環境を使用することで、より簡単な操作環境が提供されます。Linuxディストリビューションによって、GNOMEあるいはKDE・Ubuntu Unity等が利用可能です。

利用拡大が進むLinuxに慣れ親しみましょう

img_linux_04

LinuxはAndroidのカーネルにも採用されており、IoT・組み込み機器の採用実績も多数あります。業務システムでの採用も進んでおり、自動化システムにおいては、Linuxは切り離せないものとなりつつあります。この利用拡大が進んでいるLinuxの経験を高めるには、知識吸収に加えて実際に操作することで理解が深まるためおすすめです。

Linuxエンジニアとは?詳細や仕事内容、必要なスキルを解説!
気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

編集部オススメコンテンツ

thumb_gptowten_01
ChatGPTの面白い使い方15選!ビジネスや遊び相手になる事例
アンドエンジニア編集部
2024.02.19

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供

カテゴリー

編集部おすすめコンテンツ

アンドエンジニアへの取材依頼、情報提供などはこちらから

logologo
Powered by マイナビ AGENT