
非営利の技術団体 Linux Foundation がLinux入門の日本語版を無料で提供してくれるそう。せっかくなのでLinuxクソザコ中学生であるわたしも,これを受けようと思う。
ということで前回の続き。
Linux入門 (LFS101-JP)
03.Linuxの理念とコンセプト / Linux Philosophy and Concepts
イントロダクション / Introduction
3つの重要な前提条件
・Linux の変化
ここでのコースで学習することは必ずしも新しいことではないよということ。
・コース教材でいくつかのことを繰り返し説明しています
同じ内容の説明を繰り返すことがあるよということ。
・聖戦(holy wars)を避けようとしています
エディタやグラフィカルデスクトップなどの宗教派閥は無視して,単純にユーザ層の厚いものを挙げるよということ。
最終的な考察
とりあえず仮想環境なり実機なりにLinuxをインストールしていることを前提にして進めるよという点。
- man <topic> とタイプすることでLinuxのドキュメンテーションの殆どは確認可能だということ
- ユーザ固有のファイル名等を入力するときには<insert file name here>のような省略記法が使われるよということ
の2点に注意する。
(このパラグラフ,①とついていたので②もあるかなと思ったが,目次にも書かれているのに空白だった)
学習目標
この章の終わりには、次のことができるようになります。
- Linux の歴史と理念についての説明
- Linux コミュニティについての説明
- Linux に関連する一般的な用語の定義
- Linux ディストリビューションのコンポーネントについての説明
ほとんど背景知識の座学だね。
Linuxの歴史 / Linux History
Linux の歴史 概要
- LinuxはオープンソースのOSで,当初は Intel x86 ベースのパーソナルコンピュータ向けに開発された。
- フィンランドの一人の大学生のプロジェクトから,この歴史は始まる。
Linux の歴史~Linux の歴史 詳細
Linus Torvalds が1991年に自身のOSのカーネルを書き始めた。これがLinuxカーネルとして知られるようになる。
1992年にLinuxはGNU(自由に利用できるソフトウェアを推進する Free Software Foundation(FSF)のプロジェクト)の General Public License(GPL)を使用して再ライセンス。
※General Public License(GPL)…リチャード・ストールマンによって作成されたライセンス。リチャード・ストールマンといえば尊師として有名。
これによって多くの開発者が自由にLinuxディストリビューションを作成し始めた。
Linuxの理念 / Linux Philosophy
Linux の理念 概要
- Linux コミュニティが採用した理念と,それが Linux の進化にどのような影響を与えたかについて。
- Linux は世界中の開発者がインターネット上で協力し合い,常に改良と保守を行っている。技術的なスキル・貢献意欲・そして他者と協力する才能こそがコミュニティの参加資格。
Linux の理念
- Linux はすでにあった UNIX OS ファミリーから多くを借用しており,フリーでオープンな代替オペレーティングシステムとして開発された。
- ファイルは階層型ファイルシステムに格納され,システムの最上位ノードは root または単に「/」。
- Linux は可能な限り,ファイルまたはオブジェクトを使ってコンポーネントを利用できるようにしてある。
- プロセス・デバイス・ネットワークソケットはすべてファイルのようなオブジェクトで表現され,だいたいの場合,通常のファイルと同じユーティリティを使用した操作が可能。
- Linux は完全にマルチタスクで,デーモンと呼ばれるネットワーキングとサービスプロセスを内蔵したマルチユーザーOS。
Linuxのコミュニティ / Linux Community
Linux のコミュニティ 概要
わかんないことがあっても,もしかしたらLinuxコミュニティで解決できるかもしれないので,参加してみましょう的な話。
Linux コミュニティ 詳細
Linux コミュニティは、開発者、システム管理者、ユーザー、ベンダーからなる広範囲なエコシステムであり、彼らはさまざまなフォーラムを利用して互いに連携しています。中でも最も人気があるのは次のようなものです。
- Internet Relay Chat(IRC)ソフトウェア(WeeChat, HexChat, Pidgin, XChat など)
- Linux User Groups を含むオンライン コミュニティやディスカッション ボード(ローカルとオンラインの両方)
- GitHub や GitLab などのサービス上でホストされている多くの共同プロジェクト
- Linux Kernel Mailing List などのニュースグループやメーリングリスト
- ハッカソン、Install Fests、Open Source Summits、組み込み Linux カンファレンスなど、その他多くのカンファレンスや懇親会などのコミュニティ イベント
最も活発なオンライン ユーザーコミュニティへの入り口は linux.com にあります。このサイトは Linux Foundation によって運営されており、毎月100万人以上の人に利用されています。活発なセクションは以下のとおりです。- News
- Community discussion threads(コミュニティのディスカッション スレッド)
- Free tutorials and user tips(無料のチュートリアルとユーザーのヒント)
このコースでは、このサイトの関連記事やチュートリアルを何回かに分けて紹介します。
このコースのように、Linux やその他の関連技術に関する多くのeラーニングコースもあります。 多くのコースは無料または低料金です。また、対面またはインターネット上でライブのインストラクターによる、より高額なトレーニングの機会もあります。Linux Foundation Training のウェブサイトでは、このようなカテゴリーのコースを多数提供していますが、ここでしか学べないわけではありません。
ここはコミュニティの紹介なので,丸々引用。
演習 3.1:どのような OSS 製品を使っていますか?
あなたが日常的に使用していると思われるオープンソース製品をいくつか挙げてください。
Linuxの用語 / Linux Terminology
Linux の用語 概要
このページ,白紙なんじゃが!!!!
(2024/11/18現在)
おそらく
・カーネル…ハードウェアとアプリケーションの仲介役
・デスクトップ環境…オペレーティング システム上のグラフィカル ユーザー インタフェース
・コマンドライン…オペレーティングシステムが実行するコマンドを入力するためのインタフェース
みたいな内容が入っていたはず(ナレッジチェックからの推測)
あとはブートローダ,ファイルシステム,X Windowシステムの説明もあるはずなんだけど……。
【追記】Firefox(かアドオン)が影響してるんじゃないかと思ってGoogle Chromeに変えてみたら,動画が表示された。わるいのはわたしでした!!!!
- カーネル(Kernel)…LinuxOSの頭脳。ハードウェアとアプリケーションの仲介役。例はLinuxカーネル。
- ディストリビューション(Distribution)…LinuxベースのOSを構築するLinuxカーネルと組み合わされたProgramの集合体。Red Hat Enterprise Linux,Fedora,Ubuntu,Gentooなど(=ディストリ・ディストロ)
- ブートローダ(Boot loader)…OSを起動するプログラム。GRUB,ISOLINUXなど。
- サービス(Service)…バックグラウンドプロセスとして実行されるプログラム。httpd,nfsd,ntpd,ftpd,namedなど。
- ファイルシステム…Linuxでファイルを保存し整理するための方法。ext3,ext4,FAT,XFS,Btrfsなど。
- X Windowシステム…ほとんどすべてのLinuxシステム上でGUIを構築するための標準ツールキットとプロトコルの提供。
- デスクトップ環境…オペレーティング システム上のGUI。GNOME,KDE,Xfce,Fluxboxなど。
- コマンドライン…オペレーティングシステムが実行するコマンドを入力するためのインタフェース
- シェル(Shell)…コマンドラインの入力を解釈し,必要なタスクやコマンドを実行するようにOSに指示するためのコマンドラインインタプリタ。bash,tcsh,zshなど。
Linuxディストリビューション / Linux Distributions
Linux ディストリビューション 概要
各ディストリビューションに関連するさまざまなコンポーネント・サービス・設定について,そしてそれを正確に行うための方法。
Linux ディストリビューション
■Linux ディストリビューションとLinux カーネルの関係。
Linux カーネルはOSの中核。
フルの Linux ディストリビューションはカーネルに加え,ファイル関連操作・ユーザー管理・ソフトウェアパッケージ管理などのための,他の多くのソフトウェアツールで構成されている。
■あるディストリビューションが必ずしも一番あたらしいLinux カーネルを使用しているとは限らない。
■ディストリビューションが提供するツールやコンポーネントの例
・C/C++ や Clang などのコンパイラ
・gdb デバッガ
・アプリケーションを実行するためにリンクする必要のあるコアシステムライブラリ
・画面上にグラフィックを描画するための下位レイヤーのインタフェースや上位レイヤーのデスクトップ環境
・カーネル自体を含む様々なコンポーネントのインストールやアップデートのためのシステムなど
逆にこれらを揃えて初めてディストリビューションとして成立する。
ディストリビューションに関連するサービス
ディストリビューションはめっちゃあるから,ニーズや好み,あるいは用途によって選択しようねという話。
あとサポート期間とか商用サポートの話もあるから,何で運用するかでしっかりと選んでいきたいね。
ナレッジチェック / Knowledge Check
本編でやってない内容出てきたんだけど!!
まとめ / Summary
第3章が終了しました。主要な概念についてまとめておきましょう。
- Linux は、その生みの親である UNIX オペレーティング システムからさまざまな考え方を継承しています。
- Linux は、ファイルやファイルに似たオブジェクトを通して、多くの機能やサービスにアクセスします。
- Linux は完全なマルチタスク、マルチユーザーのオペレーティングシステムであり、デーモンと呼ばれるネットワークやサービスプロセスが組み込まれています。
- Linux は、Linus Torvalds を筆頭に、世界中の開発者がインターネット上で共同開発する緩やかな連合体によって開発されています。参加資格は技術力と貢献意欲だけです。
- Linux コミュニティは、Linux オペレーティング システムをサポートし、発展させる開発者、ベンダー、ユーザーの広範囲なエコシステムです。
- Linux でよく使われる用語には、カーネル、ディストリビューション、ブートローダー、サービス、ファイルシステム、X Window システム、デスクトップ環境、コマンドラインなどがあります。
- 完全な Linux ディストリビューションは、カーネルと、ファイル関連操作、ユーザー管理、ソフトウェアパッケージ管理のための他の多くのソフトウェアツールから構成されています。
ここまでで「03. Linuxの理念とコンセプト / Linux Philosophy and Concepts」は終了。ここまでほぼ座学というか,背景的な話だった。
次は Linuxの基礎とシステムの起動についての説明になるそうだ。
本記事は
© 2020 The Linux Foundation
の教材を元に作成されています。



