LPIC-1：今受けたらどうなるか？

## 背景

そこそこ年齢を重ね、今は30代。
何者かになりたいという欲求が日々の仕事に忙殺されて消失。
それから、およそ４年くらいが経ちました。

現状を俯瞰してみると、プログラミングの技術は下の中、SRE技術者としては3,4年遅れて先端技術に付いていっている状態です。他社の営業さんと会話している限り、もっとひどいところはザラにあるようで、その辺も加味して普通よりはマシレベル、と自己評価しています。

LPICを受けるに至ったモチベーションですが、一言で言えばLinuxが好きだからです。冒頭でも触れましたが、何者かにならなくていいから、自分が納得する自分でありたいと最近は思っています。そういう状態ってどんな状態かというと、やはり好きなことを楽しんでやっている状態かなと思います。

業界に入ってから様々な流行りの技術に手を出しては飽き、を繰り返して、結局何も作れない自分が出来上がりました。これは流行りに目移りして、好きな分野が何かを向き合ってなかったからと感じ、じゃあ好きなことって何だろうと考えると、現状はLinux触ってる時です。

とりあえず、新しい技術は概要程度を追うとしても、腰を据えたい分野を少し重点的に触っていきたい、ということで、一つの施策としてLPICを受験してみようかなという考えに至りました。ちなみにほかの観点でドライバだったりbpfだったりに手を伸ばしています。

まず通過点のLPIC-1をパスしたので所感をまとめます。

## 勉強方法など

スコアは以下の通りでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201436/c236c56a-7613-12e0-7061-03240f79af82.png)

101: 780
102: 710

内容のレベルから今受けるような試験じゃないと感じていたので、満点を目指していましたが、その目標は残念ながら未達でした。やはりまだまだのようです。102の方は仕事に忙殺されて、やる気を失いそうになってたところが影響していた気がします。102の方は経験年数を考えると少々恥ずかしい結果になってしまいましたが、nmtuiコマンドなんて知らねえー、とかまだまだ知らないことはたくさんあるとポジティブにとらえることにしました。

[LPICレベル1スピードマスター問題集: Version5.0対応 101試験、102試験対応](https://www.amazon.co.jp/Linux%E6%95%99%E7%A7%91%E6%9B%B8-LPIC%E3%83%AC%E3%83%99%E3%83%AB1-%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E5%95%8F%E9%A1%8C%E9%9B%86-Version5-0%E5%AF%BE%E5%BF%9C-%E5%B1%B1%E6%9C%AC/dp/4798160857)

勉強方法は上記の問題集(のver4.0対応のやつ)を複数回、間違ったところを複数回やるという形でした。コマンドのオプションやフォーマットを覚えたくない民なので、かなり間違えます。忘れている項目も多々ありました。おそらくNO勉で試験を受けても受からなかったでしょう。

これは所感ですが、初めて受ける方、Linux初心者の方は問題集からやっても意味が分からなくなるだけなので、教本から始めたほうがいいように感じました。

## 久しぶりにLPICに触れて思うところ

実は2017年あたりに一度101と102は合格しています。
認定が切れていたので1からやり直している感じになります。

当時勉強した感覚から、この試験に対してあまり良い印象を持っていませんでした。
またLPIC1を持っているという方と短い間、一緒に仕事をした時に、各基本コマンドを駆使すれば1h以内に終わる仕事を、エクセルにテキストを張り付けて、6hかけて結果を作った、という事例に正直なところ絶望してしまい、なんの指標にもならない試験だなと感じた記憶があります。短い間というところがポイントですね。

この経験から、おそらく知っていても、どういうときにそのコマンドが利用できるのかという発想がないため、このような事態に陥るのだろうと感じました。
そういう意味で、LPICは実務の経験も見ないといけません。
逆に実務の経験を重ねた状態でのLPICには意味があるのではないかと考えるようになりました。

特に、実務ばかりで網羅的な視点がないため、自分の苦手とする分野が何か、応用が利かない分野は何か、これらを探すために使えるツールではないかと思います。

自分の例でいうと、以下の点は特に苦手でした

* ブートローダー
  * 普通に生きていて、あまり触れなくないか？
* WindowSystem
  * 触るのだいたいCLI...
* 印刷
  * 印刷機つながったLinux機どこ！！
* ネットワーク周りのコマンド
  * デバイス回りはクラウドサービスが用意してくれるから忘れがち
* 少し新しめのコマンドなど
  * 例えばipコマンド、新しくもないけど、フォーマットとかいつもヘルプ出して確認するから全然覚えてない

ここまでで2つ利点が見えてきました。

* **運用に関する知識をある程度網羅的に拾える**
* **自分の苦手分野を明らかにすることができる**

これからLPIC2,3と受けていこうと思っていますが、この２点は特に意識しておきたいと思っています。

具体的には、
* 業務上よくない設定をしている可能性を模索すること
* 抜けている知識を理解しておくこと

## 抜けていた知識や業務上の具体例

* UEFIのフォーマットや仕組み

試験の範囲からは若干離れるのですが、BIOSはおよその挙動を知っていたのですが、UEFIは知識から抜けていました。以前受けたときも、サラッと流していたので改めて図解などを見たり、先頭のセクタをダンプしてエディタで中身を見てみたりなどしました。

* /etc/skelの存在

なんでだろう、知ってるはずなのに、利用する発想が全然ありませんでした。ゴールデンイメージとか作る際、dotenvファイルとか全部ここに入れておけばよくね？と思うようになりました。

* nmcliの存在

完全に知識の外から抜けてました。とは言いつつ、ipコマンドでいいじゃん！と思わなくもないです。サブコマンドや書式がipコマンドよりわかりやすいように感じますので、知っていたら使うかもという感覚になりました。

* パッケージ管理ツールのオプション

パッケージのオプションはもう覚えたくなくて仕方のないコマンドの一つです。覚えてなんの意味が？という感覚になります。そもそもsearchってそんな頻繁に使うか？とか、providesのほうが使わないか？とか文句を言いながら覚えます。dnfが出題の範囲じゃないのも気になりました。ただ、openSUSEでのパッケージ管理ツールはzypperというもので、このディストリビューションを使ってこなかったので、少し補完できたように思います。ちなみにオプションはよく使うもの以外また忘れました。


## これから受ける方への注意点

* LinuCかLPICのどちらを受けるか。利点は前述の２点と思っているので、個人的にはどっちでもいいと思います
  * ごたごたがあって分離しましたが、LinuC側が主張するところの問題流出的な話は、利点部分を意識した勉強をしている限りあまり関係ありません
  * そもそもLinux関連の認定系あんまり調べずに受けているので、他にもいい認定があるかもしれません。
* 日本語で受けると、ところどころ表現がおかしく、英語見たほうがわかるような問題が数個あります
* 久々に参考書を買ってみたが、参考書にない問題は平気で出ます
  * ACPIとか全然知りませんでした

## まとめ

以上、久々のLPIC体験記でした。
LPIC2とか合格したらまた書くかも？