LinuCの資格の話とレベル1の合格体験記

昨日LinuC102試験に無事に合格し、LinuCレベル1を取得できたので勉強方法やポイントなどを共有します！
LinuCをこれから受験する人も、LinuCという資格をそもそも知らなかった人どちらも対象に記事を書いているのでぜひ参考にしていただければと思います！

(**2025/02/16追記** LinuCレベル2も無事に取得できたので合格体験記を↓に書いております)

https://qiita.com/EndoMotoki/items/651b1fd69d652110b1c2

# 結論 : LinuCの資格はオススメ
インフラに携わっている人だけでなく、趣味でもLinuxに触れているエンジニアはLinuC取っておいて損はないかなと思います。

### オススメな理由 : Linuxの知識は生涯使える
私がLinux良いなあと思うところは、今日学んだ知識がエンジニア人生でずっと使える知識になるところです。(費用対効果がめちゃくちゃ高い)
例えば、Vimは学習コストが高いと言われていますが、一度自分のものにしてしまえば恐らく生きている限りずっとその学んだ知識を活かす事ができると思います。
トレンドを常に追わないとすぐに置いていかれてしまうエンジニアの世界では、Linuxのような賞味期限が非常に長い知識は貴重な存在だと感じています。

Linuxの知識を体系的に学ぶことができるのがLinucだと思うので、Linuxに興味のある人にはオススメな資格です。

# LinuCとはなんぞや
Linux技術者認定「LinuC（リナック）」とは、クラウド／DX時代のITエンジニアに求められるシステム構築から運用管理に必要なスキルを証明できる技術者認定です。
(↑LinuC公式サイトの説明丸パクリです)

LinuCで得られる知識としては、LinuC公式セミナーのスライドが分かりやすくまとめられています。

![スクリーンショット 2024-12-22 1.00.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145857/e7b0a898-b745-4a10-557a-78565d2a0bae.png)
(引用 : https://linuc.org/docs/seminar/20240817_linuc2.pdf )

仮想マシンコンテナ技術やアーキテクチャとオンプレミスのLinux技術を体系的に学ぶことができる資格かなと思います。
Dockerなどの技術も極めて行くとLinuxやネットワークの知識(特にKubernetesとか使うなら)が求められると思いますので、インフラエンジニアに限らずLinuxやDockerなどを使うエンジニアはLinuC取っておいて損はないです。

# LPICと何が違うの？
Linuxの資格といえばLPICが有名かと思いますが、お家騒動がありLPICとLinucに分裂しました。 (詳しくは https://qiita.com/Alpha_Nine/items/15e4eb478166fcf9008d )

LPICも引き続き受験することができますが、以下の理由によりこれから受験する人はLinucの受験の方が良いのかなとは思います。

- LPICは翻訳のせいなのか問題の日本語が読みにくい事がある(らしい)
- LPICは問題の流出が起きていて資格として微妙な状態になっている ( 詳しくはhttps://lpicj.org/201809.html)


# LinuCの受験料とか参考書とか勉強方法
###  受験料
受験料は1試験あたり16,500円（税込）です。
レベル1は101試験と102試験どちらも合格してレベル1認定になるので、2試験受験することになり合計33,000円です。
Ping-tという学習サイトで割引チケットが販売されていて、それを使うと15,400円(税込)になるので、受験の際はPing-tでチケット買いましょう！

### 受験の順番
受験の順番は101→102でも102→101でもどちらでも大丈夫ですが、101→102の順番で受験することをオススメします。
101試験は覚えることが多く、102試験よりも勉強の労力が掛かるので大変な方の試験を最初に終わらしたほうがモチベーション的に良いと思います。
あと、102試験は101試験の範囲を前提として問題が作られているように思うので、101試験から受けたほうが理解が早いかなと思います。

### 参考書
- 小豆本 (Linux教科書 LinuCレベル1 Version 10.0対応)
https://amzn.asia/d/dcblmxb
小豆本と呼ばれる`Linux教科書 LinuCレベル1 Version 10.0対応`という参考書で試験範囲をまずはインプットしました。

- Ping-t (読み方はピント？ピングティー？ ピントかな？)
https://mondai.ping-t.com/g
LinucやCCNAやLPICなどの勉強してる人はほとんど全員聞いたことあるサービスかなと思います。
LinuCの場合だと101試験の範囲は無料で利用でき、102以降の試験は有料プランの加入が必要です。
(私はレベル2も受験予定なので半年間の有料プランに加入しました)

### 勉強方法
(最初の1週間) 参考書を読みつつインプット重視。実際に仮想環境で手を動かすと理解が早い。
↓
(2週目〜受験まで) Ping-tを解きつつ問題を解いていく。間違いやすいところや分からないところは参考書を使って復習。

Ping-tにはレベルというものがあり、問題を解いたり模試を80%や90%以上の得点率を取ったりするとレベルが上がります。
マックスはレベル40なので、受験前までにはレベル40まで到達していると安心かなと思います。

![スクリーンショット 2024-12-22 1.12.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145857/eb19c3a3-fc76-1fcf-3efc-fb96298d48b0.png)

### 試験結果
レベル1 666/800
レベル2 720/800

# 101試験のポイント
101試験は人によってはLinuCで一番難しいと感じる人もいるようです。
恐らくそう感じるのは覚える量がめちゃくちゃ多いからだと思います。
色々なコマンドのオプションを覚える必要があるので、語源を調べて覚えるようにしていました。

### apt update とapt upgradeの違い
ここは何気に問われやすい箇所だと思いますので、もしこの違いが怪しい人は受験前に復習しておいた方が良いです。

### 覚えにくいオプションは語源や略さないバージョンで覚える
fdiskとかの一文字だけのオプションなども、一文字だけで覚えると辛いと思いますが、多分これは◯◯の略語なんだなと理解すると覚えやすいです。

例 : fdiskのオプション
| オプション | 略さないバージョン(多分) |
|:-:|:-:|
|  m | menu  |
| l  |  list |
|n|new|
|d|delete|
|p|print|
|t|type|
|w|write|
|q|quit|

↑のように略さないバージョンを自分なりに作ってみれば、`fdisk の nは何をするオプションか?`のような問題が来たときにnはnewだからパーティション作るんだろうなって導くことができます。

### dpkgめちゃくちゃ覚えにくい問題
-l (--list )と-L(--listfiles)みたいな同じ単語のオプションがあるので、非常に覚えにくかったです。
私は -l ( --list)の方をスモールリスト(listは小文字のl)と覚えました。
スモールリストと覚えれば、もう片方のlistfilesは大文字のLだと理解できるので片方だけ覚えれば対応できます。

# 102試験のポイント
101試験より102試験のほうが簡単だったように感じました。
コマ問(選択式ではなく実際にコマンドを入力する問題)は5問程度しか出題されなかった気がするので、Ping-tでコマ問をやるのはサラッとやるくらいで充分かなと思います。

### IPアドレスの範囲の覚え方
グローバルIPのクラスA~Eまでは↓の2進数の最初の始まりさえ覚えれば計算で求めれます。
| クラス | 2進数 |
|:-:|:-:|
|  A | 0  |
|   B| 10  |
|   C| 110  |
|   D| 1110  |
|   E| 1111  |

上記の関係さえ覚えれば、Aのクラスを求める場合は`00000000 ~ クラスBの1つ前まで`がAの範囲だとわかります。
`00000000 00000000 00000000 00000000 ~ 10000000 00000000 00000000 00000000`
を10進数に直すと `0.0.0.0 ~ 128.0.0.0(クラスBの開始)` なので、クラスAの範囲は`0.0.0.0 ~ 127.255.255.255`になる。

### デフォルトゲートウェイの追加など
ipコマンドを使う場合とrouteコマンドを使う場合で若干コマンドが変わるのが覚えづらかったです。

例 : ipコマンドを用いてデフォルトゲートウェイを追加する場合
`ip route add default via 127.30.0.1`
例 : routeコマンドを用いてデフォルトゲートウェイを追加する場合
`route add default gw 127.30.0.1`
覚え方としてはipコマンドはgwという表現を使わずvia使うと覚えていました。

### 名前解決のファイルとかの覚え方
/etc/hosts とか /etc/hostname とか /etc/resolv.confとか色々な設定ファイルが出てきて、それらの違いも理解する必要があります。

hostsとかhostnameはそのままなので問題ないかと思います。
nsswitch.confとresolv.confは混同しやすいので↓のように私は覚えていました。
nsswitch.conf はnameserver(名前解決のサーバ) switch(入れ替える)  config(設定)なので、`名前解決の順番を入れ替える設定を行うファイルはどれか`のような問題の場合は迷わずnsswitch.confを選択できるようになります。

## まとめ
一番大事なのは**実際に仮想環境で手を動かして理解すること**かもしれません。
私の場合、実際に業務で使っているようなCronなどはすぐ理解できたのですが、これも日頃手を動かしているからだと思います。
もし勉強していて意味わからない内容であっても、地道に手を動かして色々なオプションなど使っていればいつか自分のものになります。
そしてそれが自分の一生の財産になるのがLinuxの素敵なところだと思っています。
ここまで読んでくださった方全員が素敵なLinuxライフを送れることを祈っております！
読んで頂きありがとうございました！