Murga

個人的に言いたいコト・主張・気持ち。

LPIC Level 1 に合格したので勉強法をまとめておく

この度、LPIC 102-500 試験に合格し、以前取得していた LPIC 101-400 と合わせて LPIC Level 1 資格を取得した。

今回は LPIC Level 1 を取得するための勉強法などについてまとめておく。

LPIC 101 試験の出題範囲と学習法

2つの試験に別れている LPIC Level 1。前半の 101 試験の内容はざっくりと以下のとおり。

  • システムアーキテクチャ : ブート、ランレベル
  • Linux のインストールとパッケージ管理 : ハードディスクのレイアウト設計、パッケージ管理ツールの使い方
  • コマンド : テキストストリーム処理、ファイル管理、パイプ、リダイレクトなど
  • デバイス、ファイルシステム : パーティション、ファイルのパーミッション、シンボリックリンク、ファイル配置

自分は Docker やクラウド VM を通じて Linux を触ることが多かったので、コマンド操作やパッケージ管理ツールの扱いは比較的理解していた。

しかし、システムのブートだとか、ファイルシステムの細かい仕様については理解が及んでおらず、またそのような操作をすることもほとんどなかったので、かなり苦労した。

101 試験は2018年に受けて、その時は Version 4.0 だったのだが、当時の参考書をひたすら読んで理解した他、Ping-T の無料コンテンツにある問題集をひととおりこなした。コレで一発目にして合格できた。

LPIC 102 試験の出題範囲と学習法

後半の 102 試験の内容は以下のとおり。

  • シェルスクリプト
  • X11・X Window System・GUI とアクセシビリティ
  • ユーザ・グループ管理、ジョブ管理、ローカライズ
  • システムサービス : 時刻管理、ロギング、メール、プリンタ
  • ネットワーク管理 : IP・ルートテーブル・DNS
  • セキュリティ : SSH、GnuPG

前述のとおり、Docker やクラウド VM を通じて Linux を触ることが多かったので、「シェルスクリプト」やユーザ管理、ジョブ管理、時刻設定や SSH などは、日頃やっていることが生かせた。X11 についても、以前 ChromeBook で Xfce を使って遊んだことがあったりして、多少は分かるかな、という感じだった。

一方、時刻管理やロギングサービス、TCP/IP などのネットワーク管理やルーティングテーブルなどといった話はチンプンカンプンだった。Linux OS レベルではなく、それより外のクラウドサービス側で設定することが多いので、使ったことのないコマンドも多かった。特に nmcli とか ip とか route とかのコマンドの動きが覚えきれなくて辛かった。CUPS なんか使わねえよなぁ?w

nmcli はホントに使うことないのにやたらと問題が出る。何が updown で、何が onoff なのかとか、サブコマンドが多くてこんがらがるので、実際に動作するコマンドをオプション込みで丸暗記するのが良いかと。

IP アドレスの計算とかもよく出てくる。「クラス A のアドレスは?」と問われている時に、ノリで「127.255.255.255 までのヤツだな…」と思ったら「10.0.0.0/8」のプライベート IP の方を問われていた、とかいう凡ミスが多い。

「使用できる IP アドレスの数は?」という計算問題も多いので、解き方を覚えておく。IP はとりあえず「2の累乗」で考える。

  1. 32 - 「/ 以降の数字」を計算する (例えば /26 と記載があれば、32 - 26 で 6)
  2. その数だけ2の累乗を計算する (2の6乗は 64)
  3. その数から2を引く (先頭の「ネットワークアドレス」と、末尾の「ブロードキャストアドレス」は使えない → 64 だったら 62 が正解)

タイムゾーンと LC_ なんたら、みたいなコマンド系もよく出てくる。

  • /etc/timezone は、t が入っているから「T ext」テキストファイル
  • /etc/localtime はバイナリファイル。$ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime というコマンドで丸っと覚えておく

ユーザ管理も地味にミスりやすい。chage は1文字オプションの意味を覚える。-E なら Expires、-W なら Warning、みたいな。passwdusermod とか、/etc/passwd/etc/shadow とか。

$ last コマンドの実体は /var/log/wtmp$ who コマンドの実体は /var/run/utump。「w ho と w tmp」と紐付けそうになるが、そうじゃない。

/etc/nsswitch.conf は名前解決の「順序」を指定するモノで、検証には getent コマンド。/etc/resolv.confnameserver とか書く。digwhoisnetstathosthostnamehostnamectl。このあたりがこんがらがりやすい。最後は気合で暗記。

自分は2018年に LPIC 102-400 試験に不合格となっている。再受験しようとしている間に、「LPIC・LinuC 分裂騒動」があり、Version 5.0 にアップデートされた LPIC 102-500 を受験して合格した次第。

今回は Ping-T に1ヶ月課金し、問題集を全て金メダルになるまで繰り返し、「コマ問」の全521問の問題文と回答を全部見た。コマ問は答え合わせに解説がないので最後にやると良い。「開発者ツール」から JS で問題画面を操作し、521問を無回答で終了し、「答え表示」ボタンを順に押下するような JS を書いて、中身を確認していった。全部で2・3週間、15時間くらいの勉強時間だったかな。

コチラも、完全に動作するコマンドを作って暗記するのが良いだろう。ファイル名やコマンドとその内容は、セットになる「単語」があるので、それを導いて調べておく。例えば「『Path MTU』と言ったら tracepath コマンド、MTU という単語が出てこなければ traceroute」ぐらいの感じで。

LPIC 資格について

LinuC (LPI-Japan) との分裂騒動がもはや懐かしい LPIC (主催団体は LPI 日本支部)。分裂後、バージョンが v4.0 から v5.0 に変わっているが、全体的な「傾向」は大きく変わらない。しかし、出題内容についてはいくらか増えているので、参考書を買うのであれば v5.0 対応のモノを買った方が良い。現状は以下の2冊しか v5.0 対応の本がないので、コレだけをやる。

Linux教科書 LPICレベル1 Version5.0対応

Linux教科書 LPICレベル1 Version5.0対応

  • 作者:中島 能和
  • 出版社/メーカー: 翔泳社
  • 発売日: 2019/04/08
  • メディア: 単行本(ソフトカバー)

Linux教科書 LPICレベル1 スピードマスター問題集 Version5.0対応

Linux教科書 LPICレベル1 スピードマスター問題集 Version5.0対応

  • 作者:山本 道子,大竹 龍史
  • 出版社/メーカー: 翔泳社
  • 発売日: 2019/09/11
  • メディア: 単行本(ソフトカバー)

自分の場合は書籍を買わず、Ping-T の問題集だけをやり込んだが、実際の問題文と雰囲気がだいぶ違うので、覚悟するように。もっと英文の直訳っぽくて、問題文も選択肢も、意味が読み取りづらい。一応、英語の原文も読めるようになっているので、「目的語が書いていない」場合なんかは、原文を読んだ方が良いだろう。

  • sudo にまつわる正誤問題で、「Jecy はパスワードを入力することなく id コマンドが実行できる」みたいな選択肢があって、誰のパスワード?というところが重要になるのに、「誰の」という情報が選択肢になかった。原文を見てみると、「her password」と記載があって、「彼女自身のパスワードを入力することなく…」という選択肢だったと判明

この「直訳っぽい文章」が非常に分かりづらく、「Ping-T で似たような問題を解いたことはあるが、この問われ方だと正解が怪しい…」という問題がいくつもあった。また、Ping-T で一切見たことのない問題もいくつか出たので、やっぱり書籍を買った方が安心できるかもしれない。

ところで、Ping-T の「コマ問」は、「オプション引数のみ書けばよいのか、コマンドとセットで書けば良いのか」が分かりにくい問題が多かった。しかし実際の問題では「オプションなどは記載せず、コマンドのみを記述すること」などと、比較的分かりやすい記述問題が多かった。記述問題の数は、全60問中、10〜15問程度だっただろうか。

LPIC 102-500 試験の場合、採点範囲は200〜800点。合格ラインは500点だった。自分は700点を超えられたのでまぁまぁ良かった。分かんないなーと思ってフラグを付けた問題は15問程度だったが、正答率を見るに、それらもまぁまぁ正解できていた様子。

自分は

  • LPIC 101-400 (Ver 4.0)

  • LPIC 102-500 (Ver 5.0)

の2つの試験に合格したが、このように 101 と 102 でバージョンが違っても、LPIC Level 1 資格を取得したことになる。

試験合格後、12時間も待てば、LPI のマイアカウント画面で「確認コード」と「認定証」が確認できるようになるので、はやる気持ちを押さえて待とう。

以上

LPIC は、Linux OS をコンテナ・クラウド分野で利用しているだけだと取得が難しい試験だと改めて感じた。ブートから複数人での GUI 利用まで、様々な知識を問われるので、できるだけ実際に Linux で作業をした経験がないと厳しい。出来れば、個人のノート PC に Linux OS を直でインストールして、色々いじくって覚えていくと良いだろう。

コマンドやファイルパスは丸暗記。/etc 配下の設定ファイルは本当によく問われるので、中身の書式も押さえておいた方が良い。「こんなモン普段使わねーだろ」という思いはこらえて、ひたすら感情を捨てて丸暗記だ。英語の「動詞」の細かい違いも押さえてあると、ifupifdown で、nmcli networking onoff という組み合わせなんかも覚えられrかと。

逆にいうと、英語力が多少あって、丸暗記が出来れば、この試験は合格できる。計算が苦手な人は、「2の累乗」だけで済む2進数の計算問題だけ覚えておいて、8進数の計算は捨てるのもアリ。その代わり他を妥協しない。

片方の試験で15,000円、両方受けて3万円。書籍と Ping-T に課金したとするとプラス5000円強。ほとんど Nintendo Switch が買えるくらいの額になるが、LPIC Level 1 に出てくる内容は SE の必須スキルともいえる内容が多分に含まれているので、ぜひとも取得しておきたいところだ。