いまさら聞けないLinuxの基礎知識:“応用力”をつけるためのLinux再入門(1)(2/2 ページ)
Linuxを勉強してみたいけど、どこから手を付けてよいか分からない、何だかよく分からないまま使っている……そんな方々のための連載です。まずは、Linuxとはどんなものなのか確認しましょう。
本連載で扱うディストリビューション
本連載では、Red Hat系の「CentOS」とDebian系の「Ubuntu」を中心に扱います。両者とも無償で配布されており、日本語の表示や入力も問題なく行えます。
Windows PCやMacをお持ちであれば、仮想化ソフトウェアの「VirtualBox(バーチャルボックス)」や「VMware(ブイエムウェア)」を利用することで、手軽かつ簡単にLinuxを試すことができます。VirtualBoxとVMwareはどちらもPC内に「仮想化環境」を作るソフトウェアです。例えば、Windows環境にVirtualBoxをインストールして、VirtualBoxにUbuntuをインストールする、といった使い方をします。
VirtualBoxはオープンソースソフトウェア(OSS)として開発・配布されており、Windows用とmacOS用が無償で使用できます。
VMwareは商用ソフトですが、Windows環境では、非営利目的を対象としたユーザー向けの「VMware Workstation Player」を使用することができます。
- VirtualBox(ダウンロードページ)
- VMware Workstation Player(ダウンロードページ)
Linuxの歴史
実際にLinuxに触れる前に、ここでLinuxの歴史をちょっとだけ振り返っておきましょう。
もともと、LinuxはUNIX互換のOSを目指して作られていました。UNIXは主に大型汎用機やワークステーションで利用されていましたが、最初の頃は商品としてではなく、研究用途として開発されており、設計内容が公開され自由に利用できるようになっていました。そして、さまざまな企業や団体が、自分の環境に合わせて独自に改造して利用していました。その結果、同じ“UNIX”を名乗っていても、内容に隔たりが生じてくることになります。
そこで、UNIXの開発元であるAT&Tがライセンス契約を始め、UNIXを管理するようになりました。これ以降、AT&TおよびUNIXのライセンス管理団体と契約を結んだ組織だけがUNIXを名乗り、ライセンス契約を結んでいないものは「UNIX互換OS」と呼ばれるようになりました。これが“UNIX系OS”の誕生です。
Linux発祥の地は、教育用のUNIX系OSである「MINIX」のユーザーコミュニティーでした。
UNIXが動作するコンピュータは高価であり、UNIXのライセンス料も高価です。従って、ユーザーは企業や大学ではUNIXを利用できても、自分のPCではUNIXを使用することができません。そんな中、当時フィンランドの学生だったリーナス・トーバルズ(Linus Torvalds)氏が、PCで使えるUNIX風のOS「Linux」を公開しました。最初の公開は1991年(バージョン0.02)で、バージョン1.0の公開は1994年です。
現在、UNIX系と称されるOSには、大きくわけて3つの系統があります。1つはAT&Tのベル研究所が開発したオリジナル版の流れをくむ「System V系」で、多くの商用UNIXに採用されています。
もう1つは、Bill Joy(ビル・ジョイ)氏が米カリフォルニア大学バークレー校にいた時に開発した「BSD(Berkeley Software Distribution)系」で、研究・教育機関に強いとされています。現在最も有名なのが「FreeBSD」で、macOSの基礎部分にも使われています。
そして3つ目が「Linux系」になります。多くの立場の人々が開発に携わり、学生や個人が無償で使えるものから企業が利用する商用版まで幅広くカバーされています。
Linuxのライセンス形式
Linuxカーネルは、「GPL(GNU General Public License:GNU一般公衆利用許諾)」というライセンス形式で公開されました。GPLはソフトウェアを配布するためにフリーソフトウェア財団による「GNUプロジェクト」という団体によって作られたライセンス形式で、以下の4項目が定められています。
- プログラムを実行する自由
- プログラムの動作を調べ、それを改変することへの自由
- プログラムの利用や再頒布の自由
- プログラムを改良し、改良したものを公にリリースする自由
この4項目により、多くのソフトウェアがソースコードとともに公開されており、さらに多くの人が改良を加えたりしています。なお、通常はGPLプログラムから派生して作られた二次的著作物もまたGPLでライセンスされます(※)。
【※】Linux関連のモノは全てGPLというわけではありません。バージョンによってライセンスが変更されているケースもありますし、GPLそのものも何度か改正されています。正統な手段で入手したものであれば、個人利用で問題になることはほとんどないはずですが、商用で使う場合や、独自に手を加えたり、頒布したりしようという場合には、ライセンスがどのようになっているかをしっかり確認しましょう。
Linuxディストリビューションの多くが無償で公開されているのも、このライセンス形態が大きく影響しています。Linuxは多くの人が開発に参加し、またその成果が多くの人に共有されて大きな発展を遂げてきたのです。
次回は、Linuxに触れて学ぶためのテスト環境を、VirtualBoxとCentOSで作成する手順を解説します。
- シェルスクリプトに挑戦しよう(20)オプションの処理[その2]――長いオプション
- シェルスクリプトに挑戦しよう(19)オプションの処理[その1]
- シェルスクリプトに挑戦しよう(18)連想配列
- シェルスクリプトに挑戦しよう(17)配列[応用編]
- シェルスクリプトに挑戦しよう(16)配列[基本編]
- シェルスクリプトに挑戦しよう(15)繰り返し処理の中断
- シェルスクリプトに挑戦しよう(14)制御構文[その6]――while/untilによる繰り返し処理
- シェルスクリプトに挑戦しよう(13)制御構文[その5]――forによる繰り返し処理(3)
- シェルスクリプトに挑戦しよう(12)制御構文[その4]――forによる繰り返し処理(2)
- シェルスクリプトに挑戦しよう(11)制御構文[その3]――forによる繰り返し処理(1)
- シェルスクリプトに挑戦しよう(10)「read」コマンドでキーボードからの入力を受け取る
- シェルスクリプトに挑戦しよう(9)制御構文[その2]――caseによる条件分岐
- シェルスクリプトに挑戦しよう(8)条件の書き方
- シェルスクリプトに挑戦しよう(7)制御構文[その1]――ifによる条件分岐
- シェルスクリプトに挑戦しよう(6)スクリプトで引数を使用する[その2]
- シェルスクリプトに挑戦しよう(5)スクリプトで引数を使用する[その1]
- シェルスクリプトに挑戦しよう(4)変数の定義と参照
- シェルスクリプトに挑戦しよう(3)改行/空白/引用符のルール
- シェルスクリプトに挑戦しよう(2)Windows 10のbashを試す!
- シェルスクリプトに挑戦しよう(1)準備編
- Linuxの定番テキストエディタ「vi」をマスターしよう(3)編集と置き換え/チュートリアル編
- Linuxの定番テキストエディタ「vi」をマスターしよう(2)検索/オプション活用編
- Linuxの定番テキストエディタ「vi」をマスターしよう(1)基本操作編
- 「シグナル」を送ってみよう
- Linuxの「シグナル」って何だろう?
- Linuxの「ジョブコントロール」をマスターしよう
- Linuxの「ジョブ」って何だろう?
- Linuxの「プロセス」って何だろう?
- 「SUID(セットユーザーID)」属性の効果を試してみよう
- 「共有ディレクトリ」を作成してパーミッション(許可属性)への理解を深めよう
- Linuxのユーザーとグループって何だろう?
- 「ls -l」コマンドの表示からファイルの属性を理解しよう
- PATHを理解して、コマンドの在りかを探してみよう
- Linuxのディレクトリに親しもう
- パイプとリダイレクトでコマンドを組み合わせて実行しよう
- 補完機能、ヒストリ、エイリアスでコマンドラインの入力を“楽”にしよう
- Linuxのシェルとコマンドプロンプトを理解しよう
- LinuxのCUIとGUI、デスクトップ環境を理解しよう
- VirtualBoxでLinuxのテスト環境を作ってみよう
- いまさら聞けないLinuxの基礎知識
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、出産・子育てをしながらライターとして活動。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Linux専用メインフレーム「LinuxONE」を強化
米IBMが、同社のLinux専用メインフレーム「LinuxONE」の機能強化を発表。ハイブリッドクラウドへの対応や、現代的なアプリケーション開発環境の整備も進められている。 - Linux Kernel 4.5-rc1版が公開。ARM対応を強化
Linux Kernelの次期版「4.5」のリリース候補版が公開された。Linux Kernel 4.5では、dm-verityサブシステムの前方エラー訂正や、新しいシステムコール「copy_file_range」などが取り込まれる見込み。 - マイクロソフトとレッドハットがクラウドで提携
米マイクロソフトと米レッドハットはクラウドサービスに関して提携すると発表した。.NETに関して協業することも明らかにした。 - ここが変わったCentOS 7──「新機能の概要とインストール」編
「CentOS 7」を皆さんどれだけ理解していますでしょうか。CentOS 7は、以前のバージョンから使い勝手がかなり変わりました。本連載では、今さら聞けない/おさらいしたいというインフラエンジニアに向け、CentOS 7の概要と基礎から活用Tipsまでを紹介していきます。 - CentOS 7のシステム管理「systemd」をイチから理解する
「systemd」は、Linuxの起動処理やシステム管理を行う仕組みです。systemdはinitの限界を克服するために作られた新しいシステム管理アーキテクチャで、CentOS 7でも用います。では、何が違うのでしょう。これまで使われてきた「init」と比較しながら、基礎と課題を解説します。