0. はじめに
Linuxに関する技術者試験として有名なLPICとLinuCについて、どちらを受けるか判断するべく両者の内容を整理しました。結論的に自分はLinuCにしようと決めましたので、決めた要因などについても話していきたいと思います。
1. 試験概要からみる違い
LPIC | LinuC | |
---|---|---|
名称 | Linux Professional Institute Certification | Linux Professional Certification |
日本での運営団体 | LPI日本支部 | LPI-Japan |
累計認定者数 | 20 万人以上(公式HP参照) | 4 万人(2020年3月時点※1) |
資格種類 | 民間資格 | 民間資格 |
試験種類 | Level 1~3 | Level 1~3 |
試験方法 | CTB方式 | CBT方式 |
試験時間 | 90 分 | 90 分 |
問題数 | 約60 問 | 約60 問 |
受験料 | 15000(税込16500) 円 | 16500 円 |
両者の大きな違いは、やはり運営団体の違いによる運営年数や認定者数です。
これまでLPICを運営していたLPI-Japanが2018年3月に日本ローカル認定試験のLinuCを開始。それに伴い、同年6月からはLPIが日本支部を新設しLPICを引き続き展開しています。このような別れ方をした経緯などは割とどこの記事やブログでも掘り下げられていますので今回は省略します。
1.1. それぞれの特徴
LPICはグローバルな資格であり、国内の知名度もLinuCよりも高い傾向にあります。
一方、LinuCは日本にローカライズした認定試験であり、まだ試験を開始してから日も浅いため認定者、知名度ともにLPICと比較して低いのがデメリットです。2020年3月のニュースリリース(※1)によると、認定者は累計4万人となった模様です。
これを「1/5しかいない」と見るか「1/5まで縮まった」と見るかは人によって分かれそうですね。
では次に各認定試験の試験内容について比較していきます。
2. 認定時に得られる技術体系からみる違い
各レベルで求められる技術水準、及び認定時に得られる技術体系について比較します。以下の比較表はLPICとLinuCの公式ページで記載されている内容です。
LPIC | LinuC | |
---|---|---|
Level1 101,102合格が必要 |
現行version 5.0 ・Linuxシステムのアーキテクチャを理解する ・X11を含むLinuxワークステーションをインストールして維持し、それをネットワーククライアントとしてセットアップします ・一般的なGNUやUnixコマンドを含むLinuxのコマンドラインで動作します ・ファイルやアクセス許可、システムセキュリティを処理する ・簡単なメンテナンスタスクを実行する:ユーザーのヘルプ、大規模なシステムへのユーザーの追加、バックアップと復元、シャットダウンと再起動 |
現行version 10 ・Linuxシステムの構築・運用・保守をするために必要な基本操作ができる ・Linuxディストリビューションを利用するために必要な知識がある ・Linuxシステムの構築・運用・保守に必要なネットワーク、セキュリティの基本設定ができる ・クラウド構成技術である仮想化とコンテナの基礎知識がある ・オープンソースの文化を理解し、エコシステムに貢献できる。 |
Level2 201,202合格が必要 |
現行version4.5 ・Linuxカーネル、システムの起動と保守に関する一般的なタスクを含む高度なシステム管理を実行することができる ・ファイアウォールやVPNなどの高度なネットワーキングと認証、システムセキュリティだけでなく、ブロックストレージとファイルシステムの高度な管理を実行することができる ・DHCP、DNS、SSH、Webサーバー、FTP、NFS、Sambaを使用するファイルサーバー、電子メール配信などの基本的なネットワークサービスのインストールと構成することができる ・アシスタントを監督し、自動化と購入に関する管理者に助言することができる |
現行version10 ・小規模から中規模までのサイトを管理する ・仮想マシンやコンテナを含む複数システムを統合管理する ・次のような異種OS(Linux, Windows)混在環境ネットワークの計画、実装、保守、一貫性の維持、セキュリティ設定、トラブルシューティングを行う ・LANサーバー (Samba, NFS, DNS, DHCP, クライアントの設定) ・インターネットゲートウェイ(firewall, VPN, SSH, web cache/proxy, mail) ・インターネットサーバー (HTTP サーバーとリバースプロキシ) ・プロジェクトメンバーを指導する システム導入、案件の発注内容、予算等についてプロジェクトマネージャーに助言やサポートをする ・代表的な非機能要件である可用性とスケーラビリティを考慮したシステムアーキテクチャの基本パターンを理解し、実際のシステム構成に応用できる |
Level3 300,303,304いずれかの合格でOK |
【Enterprise Mixed Environment:300】 Sambaなどを利用し、Linux、Windows、Unixが混在するシステムを設計、構築、運用・保守できる 【Enterprise Security:303】 暗号化やアクセス制御をはじめとしたセキュリティに関する知識を保有、運用できる 【Enterprise Virtualization & High Availability:304】 クラウドコンピューティングなどの仮想化技術や高可用性システムの設計、構築、運用・保守ができる |
【Mixed Environment:300】 ・Linux、Windows、UNIXの混在環境でのシステムインテグレーションやトラブルシューティングができる ・冗長構成でLDAP、OpenLDAP、Sambaを使ったシステムや認証サーバーを構築できる 【Security:303】 ・Linux環境での認証の技術及びシステムセキュリティを考慮したシステム計画、構成、設計、構築、実装ができる ・セキュアなシステムにするために、ぜい弱性及びその対策を評価し、トラブルシューティングができる 【Virtualization & High Availability:304】 ・仮想化の概念と技術を理解し、Linux/OSSを使って仮想化システムを構築、運用する専門家であることを証明できる ・負荷分散、クラスタ管理、クラスタストレージなどの高可用性のための技術をLinux/OSSを使って構築、運用できる能力を証明できる |
2.1. それぞれの特徴
Level1,2において求められる要件にそれぞれの特徴が出ています。
LPICではトラディショナルなLinuxの使い方や知識をより網羅しています。
LinuCは最低限必要となるLinuxの理解に加えて、Level1,2からコンテナやオープンソースといった技術理解を加えております。このあたりがLinuCの“日本市場に即した内容を目指す”という思想に出ているのかもしれません。
Level3においては、おそらくまだLinuCもLPICと(ほぼ)同じ試験を利用している、つまり改定されていないのではと思います。ロードマップは確認していませんが、そのうち独自の試験体系を目指すのではと思います。
3. 各試験の出題項目からみる違い
最後に、おそらく多くの人が気にしているLevel1のみ出題範囲の掘り下げをします。
101試験
LPIC
番号 | 大項目 | 小項目 |
---|---|---|
101 | システムアーキテクチャ | 101.1ハードウェア設定の決定と設定 101.2システムを起動する 101.3ランレベル/ブートターゲットを変更し、システムをシャットダウンまたは再起動します |
102 | Linuxのインストールとパッケージ管理 | 102.1 ハードディスクレイアウトを設計する 102.2ブートマネージャをインストールする 102.3共有ライブラリを管理する 102.4 Debianパッケージ管理を利用する 102.5 RPMとYUMパッケージ管理を使用する 102.6仮想化ゲストとしてのLinux |
103 | GNUとUnixコマンド | 103.1コマンドラインでの作業 103.2フィルターを使用してテキストストリームを処理する 103.3基本的なファイル管理を実行する 103.4ストリーム、パイプ、リダイレクトを使用する 103.5プロセスの作成、監視、終了 103.6プロセス実行の優先順位を変更する 103.7正規表現を使ってテキストファイルを検索する 103.8基本的なファイル編集 |
104 | デバイス、Linuxファイルシステム、ファイルシステム階層標準 | 104.1パーティションとファイルシステムを作成する 104.2ファイルシステムの整合性を維持する 104.3ファイルシステムのマウントとアンマウント 104.4が削除されました 104.5ファイルのパーミッションと所有権を管理する 104.6ハードリンクとシンボリックリンクの作成と変更 104.7システムファイルを検索し、ファイルを正しい場所に配置する |
LinuC
番号 | 大項目 | 小項目 |
---|---|---|
1.01 | Linuxのインストールと仮想マシン・コンテナの利用 | 1.01.1 Linuxのインストール、起動、接続、切断と停止 1.01.2 仮想マシン・コンテナの概念と利用 1.01.3 ブートプロセスとsystemd 1.01.4 プロセスの生成、監視、終了 1.01.5 デスクトップ環境の利用 |
1.02 | ファイル・ディレクトリの操作と管理 | 1.02.1 ファイルの所有者とパーミッション 1.02.2 基本的なファイル管理の実行 1.02.3 ハードリンクとシンボリックリンク 1.02.4 ファイルの配置と検索 |
1.03 | GNUとUnixのコマンド | 1.03.1 コマンドラインの操作 1.03.2 フィルタを使ったテキストストリームの処理 1.03.3 ストリーム、パイプ、リダイレクトの使用 1.03.4 正規表現を使用したテキストファイルの検索 1.03.5 エディタを使った基本的なファイル編集の実行 |
1.04 | リポジトリとパッケージ管理 | 1.04.1 apt コマンドによるパッケージ管理 1.04.2 Debianパッケージ管理 1.04.3 yumコマンドによるパッケージ管理 1.04.4 RPMパッケージ管理 |
1.05 | ハードウェア、ディスク、パーティション、ファイルシステム | 1.05.1 ハードウェアの基礎知識と設定 1.05.2 ハードディスクのレイアウトとパーティション 1.05.3 ファイルシステムの作成と管理、マウント |
102試験
LPIC
番号 | 大項目 | 小項目 |
---|---|---|
105 | シェル、スクリプト | 105.1シェル環境をカスタマイズして使用する 105.2簡単なスクリプトをカスタマイズする |
106 | ユーザーインターフェースとデスクトップ | 106.1 X11のインストールと設定 106.2グラフィカルデスクトップ 106.3アクセシビリティ |
107 | 管理タスク | 107.1ユーザーおよびグループアカウントと関連するシステムファイルを管理する 107.2ジョブのスケジュール設定によるシステム管理タスクの自動化 107.3のローカリゼーションと国際化 |
108 | 必須システムサービス | 108.1システム時刻を更新する 108.2システムロギング 108.3メール転送エージェント(MTA)の基本 |
109 | ネットワークの基礎 | 109.1インターネットプロトコルの基礎 109.2固定ネットワーク構成 109.3基本的なネットワークのトラブルシューティング 109.4クライアント側のDNSを設定する |
110 | セキュリティ | 110.1セキュリティ管理タスクを実行する 110.2セットアップホストセキュリティ 110.3暗号化によるデータの保護 |
LinuC
番号 | 大項目 | 小項目 |
---|---|---|
1.06 | シェルおよびスクリプト | 1.06.1 シェル環境のカスタマイズ 1.06.2 シェルスクリプト |
1.07 | ネットワークの基礎 | 1.07.1 インターネットプロトコルの基礎 1.07.2 基本的なネットワーク構成 1.07.3 基本的ネットワークの問題解決 1.07.4 クライアント側のDNS設定 |
1.08 | システム管理 | 1.08.1 アカウント管理 1.08.2 ジョブスケジューリング 1.08.3 ローカライゼーションと国際化 |
1.09 | 重要なシステムサービス | 1.09.1 システム時刻の管理 1.09.2 システムのログ 1.09.3 メール配送エージェント(MTA)の基本 |
1.10 | セキュリティ | 1.10.1 セキュリティ管理業務の実施 1.10.2 ホストのセキュリティ設定 1.10.3 暗号化によるデータの保護 1.10.4 クラウドセキュリティの基礎 |
1.11 | オープンソースの文化 | 1.11.1 オープンソースの概念とライセンス 1.11.2 オープンソースのコミュニティとエコシステム |
3.1. それぞれの特徴
細かく項目を見ていくと、そこまで大きな差はないように思えます。基本的なLinuxの操作に加え、各ディストリビューション(Debian系 RedHat系)それぞれに対応したパッケージ管理方法やシステム管理、ネットワーク構成なども同じです。
LPICが106でX11という、LinuxをGUI操作するためのパッケージの一つについて学んでいます。
LinuCは1.01でコンテナの理解、1.10でクラウドセキュリティの理解、1.11でオープンソースの文化を学んでいます。
このあたりの項目の詳細については、以下の記事にこう書かれていました。
例えば、クラウドでLinuxを利用する上での前提知識となる仮想マシンやコンテナについての知識、いまやシステム構築に欠かせないさまざまなオープンソースを活用するうえで知っておきたいオープンソース文化について、現実の運用において欠かせないアーキテクチャを理解するための知識などが追加されています。
仮想化やコンテナといった出題範囲の変更以外にも、メールサーバはSendmailではなくPostfixに変更され、AnsibleやZabbixといった構成や運用の現場で利用が広がってきたツールも対象となる一方、あまり使われなくなったX11については詳細な機能については問わないようにするなど、対象となるコマンドやツールについても現状に合わせてアップデートされています。
引用:PublicKey「Linux技術者認定資格の「LinuC」がクラウドの技術者向けに刷新。仮想マシン、オープンソース文化、コンテナなども出題範囲に」(2020年3月3日)
4. Googleトレンドからみる注目度合い
補足として、Googleトレンド(https://trends.google.com/trends/?geo=JP)を利用して両者の注目度合いを比較してみたいと思います。
以下の画像は、2020年1月1日から2021年6月30日までのgoogle検索における人気度合いです。最も注目されていたときを100としたときの相対値で表されており、これを見ると、全体的にLPIC(赤)がLinuC(青)よりも注目、つまりは検索されたり記事などの投稿がされているものと思われます。
やはり知名度はLPICの方が高いことがわかります。
5. 個人的な評価
今回自分はLinuCを選択し、試験勉強を開始しました。理由とては2つほど
- 今現在外資系企業で働いておらず、また海外の方に対してLinuxの技術水準を伝えることも想定していないためグローバルな資格にこだわっていない
- 現時点はLinuxに関するより深い理解よりも、コンテナやOSSなどを含めた周辺知識を浅くてもいいので広く知っておきたいと感じたため
特に、オープンソースの文化については興味があります。今日の開発においてOSSを利用しない開発は殆ど無いでしょうから、この勉強は役に立つのではと感じています。
もし上記の理由にマッチする方は、同じようにLinuCの受験を検討してみてはいかがでしょうか。
6. 最後に
今回、試験概要や各レベルにおける習得要件などについて比較してみましたが、あくまで優劣をつけるつもりではありません。
資格の本質は、あくまでその人が持ち得るスキルの内容と水準を相手に伝えやすくすることと、その資格を得る過程で身につけた知識と経験です。
Linuxの技術を身につけ、相手に水準を伝えるという事においてはLPUCもLinuCもともに優れた試験です。
どちらの試験でも良いので、まずは試験合格を目指し、勉強し、自身の力となることに注力すれば結果につながると思います。
今回の比較がお役になれば幸いです。
※1:LPI-Japan、「Linux技術者認定 LinuC(リナック)」を、クラウド時代のすべてのIT 技術者に必須の認定として全面的に見直し、新バージョン「Version 10.0」を発表!