1.1 レッスン 1
Certificate: |
Linux Essentials |
---|---|
Version: |
1.6 |
Topic: |
1 Linuxコミュニティとオープンソースのキャリア |
Objective: |
1.1 ポピュラーなOSとLinuxの発展 |
Lesson: |
1 of 1 |
はじめに
Linuxは、最も人気のあるオペレーティングシステムの1つです。その開発は1991年にLinus Torvaldsによって開始されました。Linuxは、1970年代にAT&T研究所によって開発されたオペレーティングシステムであるUnixに触発されたものです。 Unixは小型コンピュータを対象としていましたが、1970年当時の「小さい」コンピュータとは、ホール全体を空調する必要がなく、価格が100万ドル未満のマシンを意味していました。少し後には、2人で持ち上げることができるマシンが「小さい」ものと見なされるようになりましたが、その当時でも、x86プラットフォームをベースとするオフィスコンピュータのような小さなコンピュータでは、Unixを利用できませんでした。そのため、当時学生だったLinusは、このプラットフォームで実行できるUnixライクなオペレーティングシステムを実装し始めました。 Linuxは、Unixの基本的なアイディアと原理をほとんど受け継いでいますが、独立したプロジェクトであり、Unixのコードは一切含んでいません。Linuxは特定の企業ではなく、国際的なプログラマーコミュニティによって支えられています。無料で入手できるので誰でも制限なく使うことができます。
ディストリビューション
Linux ディストリビューション は、Linux カーネル と、企業やユーザーコミュニティによってメンテナンスされているさまざまなアプリケーションをとりまとめたものです。ディストリビューションの目標は、特定のユースケースやユーザー群に対して、最適化されたカーネルとアプリケーション群からなるオペレーティングシステムを提供することです。多くの場合、ほとんどのディストリビューションには、ソフトウェアのインストールやシステム管理のために固有のツールが含まれています。つまり、あるディストリビューションは主にデスクトップ環境で使いやすく、別のあるディストリビューションは使用可能なリソースを可能な限り効率的に使用するため主にサーバーで実行されます。
ディストリビューションを 系列 によって分類することもできます。 Debian系列のディストリビューションは、パッケージマネージャー dpkg
を使用して、オペレーティングシステムで実行されるソフトウェアを管理します。パッケージマネージャーでインストールできるパッケージは、ディストリビューションのコミュニティにおいて、ボランティアのメンバーによって保守されています。メンテナ(保守担当者)は、 deb
パッケージ形式を使用して、ソフトウェアをオペレーティングシステムにインストールする方法と、デフォルトの設定を記述します。ディストリビューションと同様に、パッケージはソフトウェアとその構成(configuration)やドキュメントをとりまとめたものであり、ユーザーがソフトウェアをインストール、利用、更新することを容易にします。
Debian GNU/Linux ディストリビューションは、Debian系列ディストリビューションの最大手です。 Debian GNU/Linuxプロジェクトは1993年にIan Murdockによって立ち上げられました。今日、何千人ものボランティアがプロジェクトに参加しています。 Debian GNU/Linuxは、非常に信頼できるオペレーティングシステムを提供することを目的としています。また、ソフトウェアを実行、調査、配布、および改善するユーザーの自由を尊重する、リチャードストールマンのビジョンを奨励するオペレーティングシステムでもあります。それが故に、プロプライエタリ(独占的)なソフトウェアは、デフォルトでは提供されません。
Ubuntu は、注目に値するもう1つのDebianベースのディストリビューションです。 Ubuntuは、使いやすいLinuxデスクトップ環境を提供することを使命として、2004年にMark Shuttleworthと彼のチームによって作成されました。 Ubuntuの使命は、世界中のすべての人に自由なソフトウェアを提供することと、プロフェッショナルサービスのコストを削減することです。このディストリビューションは6か月ごとにリリースが予定されており、2年ごとに長期サポート(LTS)版がリリースされます。
Red Hat は、同名のソフトウェア会社によって開発および保守されているLinuxディストリビューションです。Red Hat社は、2019年にIBMによって買収されました。Red Hat Linuxディストリビューションは1994年に開始され、2003年に Red Hat Enterprise Linux(RHELと略される)にブランドが変更されました。 Red Hatがサポートする信頼性の高いエンタープライズソリューションを企業に提供し、プロフェッショナルなサーバー環境においてLinuxを簡単に使用することを目的としたソフトウェアが付属しています。一部のコンポーネントには、有料のサブスクリプションまたはライセンスが必要です。 CentOS プロジェクトは、自由に(無料で)入手できるRed Hat Enterprise Linuxのソースコードをコンパイルすることで、完全に無料で入手できるディストリビューションですが、商用サポートは付属しません。
RHELとCentOSは、どちらもサーバー環境での使用に最適化されています。 Fedora プロジェクトは2003年に設立され、デスクトップコンピュータを対象としたLinuxディストリビューションを作成しています。Red Hatが、Fedoraディストリビューションを開始し、維持しています。 Fedoraは非常に進歩的で新技術を迅速に採用しており、将来RHELに含まれる可能性のある新技術のテストベッドと見なされることもあります。すべてのRed Hat系列のディストリビューションは、rpm
というパッケージ形式を使用します。
SUSE社は、1992年にドイツでUnixサービスプロバイダーとして設立されました。 SUSE Linux の最初のバージョンは1994年にリリースされました。SUSE Linuxは、主にYaSTという設定ツールで知られています。このツールを使用すると、管理者はソフトウェアとハードウェアのインストールと設定、ネットワークとサービスのセットアップを行うことができます。 RHELと同様に、SUSEは商用版として SUSE Linux Enterprise Server をリリースしています。これはリリース頻度が控えめで、エンタープライズ環境や本番環境への配備に適しています。また、サーバー版とデスクトップ版が配布されており、それぞれの目的に合ったパッケージが採用されています。2004年にSUSEは openSUSE プロジェクトを開始し、開発者とユーザーがシステムの開発やテストに参加することができるようになりました。 openSUSEディストリビューションは無料でダウンロードできます。 (訳注:2015年以降、openSUSEは、2つのディストリビューションに分かれて提供されています。openSUSE Leapは、SLEと同等の機能をフリーで利用できる安定したディストリビューションであり、openSUSE Tumbleweedは、アプリケーションの最新の安定版を積極的に取り入れて入れていくディストリビューションです。)
長年にわたって、たくさんの独立したディストリビューションがリリースされています。それらの一部はRed HatまたはUbuntuのいずれかに基づいており、一部は特定のシステムやハードウェアの特性を引き出すように設計されています。また、特定の機能に特化したディストリビューションもあり、非常に安全なデスクトップ環境を提供する QubesOS や、ベネトレーションテスター向けにソフトウェアの脆弱性を発見するための環境を提供する Kali Linux などがあります。最近では、DockerなどのLinuxコンテナーで実行するための、さまざまな超小型Linuxディストリビューションも設計されています。また、組み込みシステムのコンポーネント、さらにはスマートデバイス用に特別に構築されたディストリビューションもあります。
組み込みシステム
組み込みシステムは、より大きなシステムの一部として、特定の機能を実現するために設計されたコンピューターハードウェアとソフトウェアの組み合わせです。通常、これらはあるデバイスの一部であり、デバイス制御を手伝います。組み込みシステムは、自動車、医療、さらには軍事用途にも見られます。用途が多岐にわたるため、組み込みシステム用の、Linuxカーネルに基づくさまざまなオペレーティングシステムが開発されました。スマートデバイスのかなりの部分で、Linuxカーネルに基づくオペレーティングシステムが実行されています。 組み込みシステムには、組み込みソフトウェアが付属します。このソフトウェアの目的は、ハードウェアにアクセスして使用できるようにすることです。独自の組み込みソフトウェアに対するLinuxの主な利点として、ベンダーが異なるプラットフォーム間の互換性・開発・サポートや、ライセンス料が挙げられます。最もポピュラーな2つの組み込みソフトウェアプロジェクトは、さまざまなベンダーの携帯電話で主に使用されているAndroidと、主にRaspberry Piで使用されているRaspbianです。
Android
Androidは、主にGoogleが開発したモバイルオペレーティングシステムです。 Android Inc.は2003年にカリフォルニア州パロアルトで設立されました。同社は当初、デジタルカメラで実行するためのオペレーティングシステムを作成しました。 2005年、GoogleはAndroid Inc.を買収し、最大のモバイルオペレーティングシステムの1つになるように開発しました。
Androidは修正バージョンのLinuxカーネルと、オープンソースソフトウェアをベースとしています。オペレーティングシステムは主にタッチスクリーンデバイス用に開発されていますが、Googleはテレビや腕時計用のバージョンも開発しています。 Androidのさまざまなバージョンが、ゲームコンソール、デジタルカメラ、およびPC用に開発されています。
Androidは、Android Open Source Project(AOSP)としてオープンソースで自由に利用できます。 Googleは、Androidのオープンソースコアに、一連の独自コンポーネントを追加提供しています。これらのコンポーネントには、Googleカレンダー、Googleマップ、Googleメール、Chromeブラウザー、アプリの簡単なインストールを提供するGoogle Playストアなどのアプリケーションが含まれます。ほとんどのユーザーにとって、これらのツールはAndroidの使い勝手に不可欠な部分となっています。したがって、Androidが組み込まれてヨーロッパとアメリカで出荷されるほとんどのモバイルデバイスには、独自のGoogleソフトウェアが含まれています。
Androidが組み込まれたデバイスには多くの利点があります。オペレーティングシステムは直感的で、グラフィカルユーザーインターフェイスで簡単に使用できます。非常に幅広い開発者コミュニティが存在するため、開発に対するヘルプを簡単に見つけることができます。また、大多数のハードウェアベンダーがAndroidドライバーをサポートしているため、効率的かつ低コストでシステム全体のプロトタイプを作成することができます。
ラズベリーパイとRaspbian
ラズペリーパイ(Raspberry Pi)は、フル機能のデスクトップコンピューターとして利用できる安価なクレジットカードサイズのコンピューターであり、組み込みLinuxシステム用途にも使用できます。英国を拠点とする教育慈善団体であるRaspberry Pi Foundationによって、主に学生がコンピューターの機能とプログラムを学習すること目的として開発されました。非常に複雑なシステムの一部として、目的のタスクや作業を実行できるように、Raspberry Piを構成しプログラムできます。
Raspberry Piの特徴のひとつに、電子デバイスや拡張ボードを接続するために使用できる汎用入出力(GPIO)ピンがあります。これにより、Raspberry Piをハードウェア開発のプラットフォームとして使用できます。教育を目的としたものですが、Raspberry Piは今日、さまざまなDIYプロジェクトや、組み込みシステムを開発する際の産業用プロトタイピングで使用されています。
Raspberry Piは、ARMプロセッサを使用しています。 Linuxを含むさまざまなオペレーティングシステムを、Raspberry Pi上で実行できます。 Raspberry Piにはハードディスクが含まれていないため、オペレーティングシステムはSDメモリカードから起動されます。 Raspberry Piの最も著名ななLinuxディストリビューションの1つが Raspbian (ラズビアン)です。名前が示すように、Debian系列のディストリビューションです。 Raspberry Piハードウェアにインストールするようにカスタマイズされ、この環境に最適化された35,000以上のパッケージが提供されています。 Raspbian以外にも、Raspberry Pi用の多数のLinuxディストリビューションが存在します。たとえばKodiは、Raspberry Piをメディアセンターに変えます。
Linuxとクラウド
クラウドコンピューティング という用語は、パブリッククラウドプロバイダーから購入したり、プライベートクラウド上で実行する、コンピューティングリソースを消費するための標準化された方法を意味します。 2017年時点のレポートでは、パブリッククラウドのワークロードの90%がLinuxでを実行されています。 Amazon Web Services(AWS)から Google Cloud Platform(GCP)まで、あらゆるクラウドプロバイダーがさまざまな形式のLinuxを提供しています。元CEOがLinuxを癌に例えた会社であるMicrosoftでさえ、今日、Azure クラウドでLinuxベースの仮想マシンを提供しています。
クラウドにおけるLinuxは通常、IaaS(Infrastructure as a Service)の一部として提供されます。 IaaSインスタンスは、クラウドで数分以内にプロビジョン(準備)される仮想マシンです。 IaaSインスタンスを開始するときには、そのインスタンスにデプロイ(展開)されるデータを含むイメージを選択します。クラウドプロバイダーは、すぐにインストールできるさまざまなイメージとして、人気のあるLinuxディストリビューションと独自のバージョンのLinuxの両方を提供しています。クラウドユーザーが好みのディストリビューションを含むイメージを選択するとすぐに、そのディストリビューションを実行しているクラウドインスタンスにアクセスできます。ほとんどのクラウドプロバイダーは、特定のクラウドインスタンス向けにインストールを調整するツールをイメージに追加しています。これらのツールは、たとえば、仮想マシンの実際のハードディスクに合わせてて、イメージのファイルシステムを拡張することなどを行います。
演習
-
Debian GNU/Linux と Ubuntuの違いは何ですか? 2つの側面を挙げましょう。
-
Linuxが使用される最も一般的な環境/プラットフォームは何ですか? 3つの異なる環境/プラットフォームを挙げて、それぞれで使用できるのディストリビューションを1つ挙げましょう。
-
新しい環境にLinuxディストリビューションをインストールする予定です。ディストリビューションを選択する際に考慮すべきことを4つ挙げましょう。
-
スマートフォン以外で、Android OSが実行されているデバイスを3つ挙げましょう。
-
クラウドコンピューティングの利点を3つ挙げましょう。
発展演習
-
パフォーマンスを最高に保ちながら、ライセンスコストの削減を目的とするビジネスに最も適したディストリビューションはどれかを考察しましょう。理由も説明すること。
-
Raspberry Piの利点が何で、どの機能がビジネスに利用できるのかを考察しましょう。
-
Amazon Cloud Services と Google Cloud が提供するディストリビューションは何でしょう? 共通するものを少なくとも3つ、異なるものを2つ挙げましょう。
まとめ
このレッスンでは、以下の事柄を学習しました:
-
Linuxにはどんなディストリビューションがあるか
-
組み込みLinuxとはどのようなものか
-
組み込みLinuxはどのように利用されているか
-
Androidの適用分野
-
Raspberry Pi の利用方法
-
クラウドコンピューティングとはどのようなものか
-
クラウドコンピューティングにおいて、Linuxはどのような役割を果たしているか
演習の回答
-
Debian GNU/Linux と Ubuntuの違いは何ですか? 2つの側面を挙げましょう。
UbuntuはDebianのスナップショットに基づいているため、それらの間には多くの類似点があります。とはいえ、それらの間には大きな違いもあります。1つめは、初心者に対する適用性でしょう。使いやすさの点から初心者にはUbuntuがお勧めですが、上級ユーザーにはDebianがお勧めです。主な違いとして、Ubuntuは、インストールの過程において、複雑な設定作業を必要としないことが挙げられます。
もう一つの側面は、ディストリビューションの安定性です。 DebianはUbuntuよりも安定していると考えられています。これは、Debianに適用されるテスト済みの更新が比較的少ないため、オペレーティングシステム全体としては安定性が維持されることによります。一方、Ubuntuでは、ソフトウェアの最新リリースと新しいテクノロジーがユーザーに提供されます。
-
Linuxが使用される最も一般的な環境/プラットフォームは何ですか? 3つの異なる環境/プラットフォームを挙げて、それぞれで使用できるのディストリビューションを1つ挙げましょう。
代表的な環境/プラットフォームには、スマートフォン、デスクトップ、サーバーが挙げられます。スマートフォンでは、Androidなどのディストリビューションを使用できます。デスクトップとサーバーでは、Debian、UbuntuからCentOS、Red Hat Enterprise Linuxまで、そのマシンの役割に適したディストリビューションを使用できます。
-
新しい環境にLinuxディストリビューションをインストールする予定です。ディストリビューションを選択する際に考慮すべきことを4つ挙げましょう。
ディストリビューションを選択する際に考慮すべき主な事柄は、コスト、パフォーマンス、スケーラビリティ、ディストリビューションの安定性、システムのハードウェア要件などです。
-
スマートフォン以外で、Android OSが実行されているデバイスを3つ挙げましょう。
Androidが動作するデバイスとして、スマートTV、タブレットコンピューター、Android Auto(カーナビ)、スマートウォッチなどが挙げられます。
-
クラウドコンピューティングの利点を3つ挙げましょう。
クラウドコンピューティングの主な利点は、柔軟性、回復が容易なこと、使用コストが安いことです。クラウドベースのサービスは、ビジネス上の要件に応じて、簡単に実装と拡張が行えます。これにより、企業はインシデントからより速く、より少ない影響で復旧できるため、バックアップおよび復旧のためのソリューションに大きな利点があります。さらに、サブスクリプションベースのモデルにより、ビジネスで使用したリソースに対してのみ支払えば良いので、運用コストが削減されます。
発展演習の解答
-
パフォーマンスを最高に保ちながら、ライセンスコストの削減を目的とするビジネスに最も適したディストリビューションはどれかを考察しましょう。理由も説明すること。
ビジネスで使用するのに最も適したディストリビューションの1つはCentOSです。CentOSは、商用オペレーティングシステムであるRed Hat製品を取り込んでいるにもかかわらず、無料で使用できるためです。同様に、Ubuntu LTSリリースは、より長い期間のサポートを保証しています。 Debian GNU/Linuxの安定版は、エンタープライズ環境でもよく使用されています。
-
Raspberry Piの利点が何で、どの機能がビジネスに利用できるのかを考察しましょう。
Raspberry Piは、通常のコンピューターとしては小型です。さらに、低コストであり、Webトラフィックや多彩な機能を処理できます。サーバーやファイアウォールとして使用でき、さらに、ロボットやその他の多くの小型デバイスのメインボードとして使用できます。
-
Amazon Cloud Services と Google Cloud が提供するディストリビューションは何でしょう? 共通するものを少なくとも3つ、異なるものを2つ挙げましょう。
AmazonとGoogle Cloud Servicesに共通する一般的なディストリビューションは、Ubuntu、CentOS、およびRed Hat Enterprise Linuxです。それぞれのクラウドプロバイダーは、他のクラウドプロバイダーが提供していない独自のディストリビューションも提供しています。 AmazonにはAmazon LinuxとKali Linuxがあり、GoogleはFreeBSDとWindows Serverを利用できます。