LINUX: Linus's Minix

フィンランドの学生、リーナス・トーバルズが開発した
Unixライクなオープンソース(無償)のOSです。
Webサーバとしては世界で最も多く利用されています。

Linuxカーネル

LinuxカーネルとはLinuxシステムの中核をなし、
アプリケーションからシステムコールをうけ、
CPUやメモリの操作等、
OSの中枢をになう処理を行う。

主に以下のような機能がある。
・プロセス管理
・メモリ管理
・ファイルシステム
・ネットワーク
・プロセス間通信

Unix ユニックス

AT&Tのベル研究所にて1969年に開発された小型コンピュータ用のOS。
アセンブラからC言語で書き直されたことにより、
いろいろなコンピュータへの移植が容易となった。

IBMのメインフレームが全盛だっところに、
オープンシステムという言葉がはやり、
ダウンサイジングによるunixマシンへの移行が進んだ。

しかし、Unixは有償ライセンスであったため、
企業や大学で使われるにとどまった。
その後、無償のLinuxが出てきたことで、
個人利用も含め、今では多くの企業がLinuxを利用している。

ディストリビューション

LinuxはLinuxカーネルおよびGNUなどその周辺ソフトウェアからなっている。
当初はまだインターネットが普及していなかったため、
CD-ROMという形で流通された。

最新のLinuxカーネルに様々な周辺ソフトやアプリケーションを
1つのCD-ROMにまとめて、PCショップなどで売られていた。
日本では当時秋葉原にあった「ぷらっとホーム」などがその先駆けである。

Linuxが企業で使われるようになってから、
それをサポートするビジネスが生まれた。
使いやすいLinuxシステムの提供と、
サポートサービスを提供するディストリビューションが生まれた。
redhat(レッドハット)が最も有名で商業的にも成功した1つである。

現在はインターネットを通じて各種ディストリビューション(Linuxシステム)
をダウンロードすることができる。
redhatはサブスクリプションという料金がかかるため、
その無償版にあたるCentOS(セントオーエス)が一般的に多く使われている。

ヨーロッパでは特定の企業に依存することを嫌い、
真のオープンソフトをうたっているDebian(デビアン)という
ディストリビューションが多く使われている。

Desktop分野でメジャーになったUbuntu(ウブンツ)というディストリビューションも
Debian系である。(Ubuntuはアフリカの言葉で「他者への思いやり」)

GNU グニュー Gnu is Not Unix

チャード・ストールマンによりGNUプロジェクトが創設され、
Unixと同じ機能を持つ完全にフリーなソフトウェアが開発された。

Linuxカーネルはリーナス・トーバルズらによって開発されたが、
実際のLinuxシステムとして成功するには、このGNUのソフトウェア群
がなければ不可能だったと言えるだろう。

GNUシステムの基本コンポーネントには以下のようなものがある。
・GCC    コンパイラコレクション
・glibc   C標準ライブラリ
・Coreutils ユーティリティコマンド
・GDB    デバッガ
・Bash    シェル
・GNOME   デスクトップ環境

ssh エスエスエイチ Secure Shell

Linux(Unix)を操作するには、Telnet(テルネット)という
端末ソフトウェアが従来使われていた。
しかし、Telnetではパスワードが暗号化されていなかったため、
ネットワークのパケットを盗聴することができれば、
簡単にパスワードが盗まれてしまうことが問題であった。

そこで開発されたのが、sshというセキュアなTelnetである。
セキュアシェルという名前になっているのは、Telnetの他に
rsh(リモートシェル)やrlogin(リモートログイン)などの
機能も取り入れているためである。

sshの機能を使えばリモート(遠隔地)からLinuxサーバを
操作することができて非常に便利である。
オフィスで使っているWindowsにTeraTerm(テラターム)や
PuTTY(パティ)といったsshクライアントアプリケーションを
インストールして使われることが多い。

Linuxコマンド

linuxを直接操作するには、linuxコマンドを使用する。
良く使うコマンドとしては以下のようなものがある。

pwd  現在のディレクトリを表示する。
cd   ディレクトリを移動する。
ls   ファイルの一覧を見る。
cat  ファイルの中身を見る。
cp   ファイルをコピーする。
vi   ファイルを編集する。
rm   ファイルを削除する。
mkdir ディレクトリを作成する。
rmdir ディレクトリを削除する。
ps   プロセスの一覧を見る。
date  現在の日時を表示する。
w   ログインしている人の一覧を見る。
chmod ファイルのパーミッションを変更する。
chown ファイルのオーナーを変更する。
grep  文字列を検索する。