Linuxの誕生と特徴
UNIX
Linuxの元になったOS
1960年代に米国の通信会社AT&Tのベル研究所でKen Thompson氏によってその原型が作られた。
Linuxの誕生
1991年にネット上でLinus Torvalds氏に投稿されたUNIXと似た設計をもつOS。その後に拡張機能やソフトウェア、ツールとの組み合わせによりUNIX互換OS(Linux)として動作するまでになった。
※UNIX互換OS AT&Tとのライセンス契約を結んでいない組織が開発したUNIXのこと
Linuxのライセンス
LinuxはGPL(GNU General Public License:GNU一般公衆利用許諾)というライセンス形式が採用されている。
GPLはGNUプロジェクトのリチャード・ストールマンによって作成された。
以下の特徴を含むフリーソフトウェアライセンスの1つ
- プログラムを実行する自由
- ソース改変の自由
- 利用・再配布の自由
- 改良したプログラムをリリースする権利
Linuxの特徴
ソフトウェアは基本ソフトウェアと応用ソフトウェアの二つに分けられるが、基本ソフトウェアはさらに二つに領域に別れる。一つはカーネル、もう一つはユーザランドと呼ぶ。
カーネル
カーネルはハードウェアとの直接やり取りするなど最も中心的な機能を受け持つ部分である。カーネルはハードウェアの違いを吸収し、プログラムがどんなハードウェア上でも同じように動作する役割がある。
ユーザランド
ユーザランドはOSが動作するのに必要な、カーネル以外の部分のこと。ファイルシステムやファイル操作コマンド、シェルなどの基本的なソフトウェア群のことを指す。
Linuxの動作
Linuxは基本的にコマンドで操作する。コマンドはユーザランドで動作する。
LinuxにX Windows SystemとGNOME,KDE,Xfceなどのデクストップ環境を導入することで、windowsやMacなどのマウス入力による操作が行えるようになる。
シェル
Linuxに用意された対話型のコマンド入力環境のこと。入力されたコマンドを理解し、実行する。
シェルには二つの機能がある。
- コマンドの入力を受け付けること
- シェルスプリクトの実行
シェルスプリクトとはコマンドの入力を自動化するためのもの。
ディストリビュージョン
当初のLinixはインストール作業が非常に困難だった。そこで、様々な団体がLinuxを使う上で必要なプログラムをまとめ、簡単な手順でインストールできるようにした。これがLinuxディストリビュージョンの始まりである。
このようにLinuxディストリビュージョンを開発する団体をディストリビューターと呼び、様々な団体によってLinuxはリリースされ続けている。
パッケージ
パッケージはLinuxに対して追加機能を提供するものである。
応用ソフトウェアの実行をLinux上で行うには、ソースをダウンロードして、自らビルドする必要があった。これは非常に手間がかかってしまう。
この問題を解決するために、ディストリビューターの手により、ビルドして応用ソフトウェアを簡単に導入できるようにするために、パッケージが作られるようになった。
パッケージマネージャ
応用ソフトウェアの導入には複数の応用ソフトウェアやライブラリが必要になる。また、依存するプログラムがさらに別のプログラムに依存する場合は、それらを正しい順序でインストールしなければならない。
加えて、開発が盛んなプログラムはバグの修正や、機能改善、セキュリティの脆弱性の修正など常に更新され続けている。その際に新しいプログラムをインストールするには、古いプログラムを綺麗に削除する必要があるため、この作業も非常に困難である。
そこで、パッケージを簡単にインストールしたり、アップデートパッケージマネージャというものが標準で用意されるようになった。
Linuxディストリビューションには何らかのパッケージマネージャが必ず用意されており、インターネットに接続されていれば、最新のパッケージと依存するパッケージやライブラリを導入、更新することが容易にできるようになっている。