河原木と申します。Linuxをはじめとしたインフラ系の研修案件の講師や執筆をやらせていただいております。
筆者紹介:
河原木 忠司 氏
北海道小樽市出身。合同会社優来屋代表。サーバーエンジニア、講師として活動。現在は講師業を中心に、研修コースの提案、開発や書籍の執筆といった業務に従事。LinuxなどのOSやセキュリティに関する研修コースを中心に、企業や官公庁職員様向けの研修を担当されています。
以下の書籍などを執筆されています。
▼基礎からしっかり学ぶ Linux入門:書籍案内|技術評論社
今回はご縁があって、CompTIA日本支局のブログにLinux技術についての連載記事を書かせていただくことになりましたので、何とぞよろしくお願いいたします。
さて、CompTIAが運営している資格にLinux+がありますが、Linux+を習得し、Linuxについての基本スキルを身につけると、どのような場面でそのことを活用することができるでしょうか。
w3techsというWebサイトでは、Web技術に関する統計をまとめてくれています。以下のページでは、Webサーバーで利用されているOSのシェアをまとめてくれています。
https://w3techs.com/technologies/overview/operating_system
(図1-1: w3techのOSシェア【2022年7月現在】)
ご覧になっていただくとわかるのですが、圧倒的にUnix系のシェアが高いです。そして、ここで言うUnix系とはほとんどがLinuxです。つまり、WebサーバーのOSとしてはLinuxが非常に多く使われており、Webサーバーの管理やWebアプリの開発において、Linuxスキルが活用できるということがわかります。
さて、ここでLinuxの歴史について少し触れていきましょう。
Linuxは1991年、Linus Torvalds氏によって公開されたバージョン0.01が起源となります。
このときLinus氏により公開されたLinux(そして、今に至るまでLinus氏が管理しているLinux)は、Linuxカーネルのことを指します。カーネルとは、OSの「中核」(中心となる機能を実装するプログラム)のことです。
(図1-2: カーネルが提供する主な機能)
Linuxカーネルだけでは、我々がイメージするOSとしての機能を提供することができません。
そこで、OSとして機能するLinuxが配布される場合、Linuxディストリビューションという形式のものが配布されます。Linuxディストリビューションには、Linuxカーネルの他、インストーラーやそのほか、OSとして動作する上で必要なソフトウェアパッケージが含まれます。
(図1-3: Linuxディストリビューション)
Linuxディストリビューションは非常に多くのものがあります。
その中で、次のようにRed Hat系、Debian系といった系統があります。
(図1-4: Linuxディストリビューションの系統)
Red Hat系ディストリビューションの代表的なものとしては、Red Hat Enterprise Linuxがあります。その名前の通り、企業のシステムにおいて、サーバーなどとして利用されることが多いディストリビューションです。クラウドサービスであるAWSを利用する場合、EC2インスタンスを作成すると、標準で採用されるAmazon LinuxもRed Hat系のディストリビューションです。
Debian系ディストリビューションの代表的なものとしては、Debian GNU/Linuxです。こちらもサーバーとしての利用が多いディストリビューションです。そのほか、個人ユースのディストリビューションとしてUbuntuが使われることも多いです。Raspberry Pi OSは、その名の通り、学習用などに利用されるIoTデバイス、Raspberry Piで採用されているディストリビューションです。
これらの系統の違いにより、大きく異なる点としては、パッケージ管理の仕組み、そして利用するコマンドに違いがあります。例えば、代表的なWebサーバーであるApache HTTP Serverをインストールする場合、Red Hat系のディストリビューションでは以下のようにコマンドを実行します。
# yum install httpd
これに対し、Debian系の環境では、以下のようにコマンドを実行します。
# apt install apache2
このようにディストリビューションにより、パッケージ管理の仕組みを中心に利用するコマンドが若干異なったりするものの、同じLinuxですので、共通の部分ももちろん多いです。例えば、ディレクトリ構成については、できる限り共通のものとなるよう、FHS(ファイルシステム階層標準)という仕様があります。これはルートディレクトリ以下のサブディレクトリにどのようなものを用意するか、どのような役割で利用するかを決めておき、各ディストリビューションがそれに準拠して、ディレクトリを構成するというものです。そのため、異なるディストリビューションを利用したとしても、起動ファイルは/bootディレクトリに、設定ファイルは/etcに、ホームディレクトリは/homeに配置されているということには変わりがありません。
このようなディストリビューションに依存しない基本知識や基本的なコマンドの使い方を身につけていただくと、どのようなディストリビューションを利用するときにも使える知識となります。
ほとんどのディストリビューションが無料で利用できますので、ぜひいろいろなディストリビューションを利用してみましょう。
次回は、実際にLinux環境を利用してみるため、実習環境をどのように構築するかについて紹介させていただきます。
第2回目もお楽しみに!