サーバーサイドエンジニアがLinuC(Linux技術者検定)を受けるべき4つの理由

今回はサーバーエンジニアこそLinuC取得をおすすめする記事です。
新卒入社してから3年間で7個くらい技術系の資格を取得しましたが、
サーバーエンジニアとして最も取得してよかったと思った資格はLinuCでした。

サーバーサイドエンジニアとして成長するにあたり、誰もが対象のプログラミング言語の勉強や他の言語に裾野を広げることに注力しがちですが、一つの言語である程度の知識を得たら今すぐLinuCの勉強をおすすめします。

その理由を紹介していきましょう。

# LinuCとは
>2018年3月より提供が開始された日本独自のLinux技術者認定資格である。2000年7月に設立されたLinuxをはじめとするオープンテクノロジーのIT技術者の技術力の認定活動を行なっているLPI-Japanによって、企画・開発・運営されている。(wikipediaより)
>https://ja.wikipedia.org/wiki/LinuC

簡単に言うとLinuxの技術指標を図るための資格です。2017年あたりまではLPICという名前でした(内容は一緒)。

Linuxってインフラエンジニアが学ぶ知識ではないの？と思う方、多いと思います。

今現在でエンジニアとして働いている方は、LAMP環境構築を一からしたことがありますでしょうか。
LAMP環境とは(Linux-Apache-MySQL-PHP)の略でWEBサービスを作成する上で基本となる構成になります。
近年は環境構築も簡単になっており、DockerやVagrantなどを使用してLAMP環境構築を簡潔化したような機能が提供されています。

会社で元々DockerやVagrantが整備されており、一から仮想サーバを立ち上げてapache設定をしてHello worldまで表示したことがあると言う人は意外と少ない印象です。

理由としては

### ターミナル操作はなんだか難しそうだから

が多いと思います。

前段が長くなりましたが、サーバーサイドエンジニアがLinuCを取得した方がいい4つの理由を紹介していきます。

# LinuCを取得するべき4つの理由
### ①障害発生時の調査能力があがるから
サービスを運営する上で、何かしら障害が発生することはあると思います。

画面にスタックトレースが出てくれれば原因特定も楽ですが、原因がなかなか特定できない障害もあるでしょう、その際の役に立つのがLinuCの知識です。

LinuCの知識があれば、

- apache設定を見ることでサーバの特定がしやすい
- ログ出力設定を発見しやすい&直近更新されたログファイルを特定しやすくエラーが出力されているか特定しやすい
- エラーログの中から原因と思われるログの抽出するスピードが速くなる
- ロードアベレージなどサーバ負荷やネットワークなどの原因切り分けができる

などLinuCの知識を元にした調査速度の向上が見込めると思います。

インフラ面に抵抗があるとターミナルに入ってcdとlsとcatコマンドしか打てないなんてことになってしまいます。

### ②ローカル環境構築をすることができるから
レガシーなコンテンツを運用していると、どうしてもローカルでの環境が構築されておらず、直接サーバーをvimで編集するなど、している方も多いのではないでしょうか。

vimmerの方からすれば何不自由ない環境かと思いますが、普通にエディタを使用している人からすれば大きな開発の妨げになると思います。

それを解決する手段が環境構築です。ローカル環境構築をすることができれば、仮想サーバに同等の環境を作成して、ローカルとマウントした上でエディタ編集をすることが可能です。

そのローカル構築したイメージをチーム内で共有することで他メンバーの開発効率もアップし、そんなことができればあなたはきっと評価されると思います。

### ③エンジニアとして評価されるから
自分は人事の採用などに携わることがたまにあるのですが、サーバサイドエンジニア歴が5~8年くらいの人でさえその経験がないという人をちらほら見ます。

履歴書にDockerやVagrantでの構築経験があり、と書いてあっても実際に聞いてみると既存で作られていた環境に対して「docker run」しただけとかよく聞きます。

こうなってしまうと技術的な幅が狭いのではないか、調査能力や環境構築周りのことが一切できないのではないかと言う採用側への不安要素になってしまいます。

何よりLinuCのlevel2程度を取得していれば、最低限のエンジニアとしての知識を保証する証明にもなると思います。

インフラサイドの知識があることは一つの武器になり、自信になります。

### ④クラウドサービスを扱うにあたり理解の助けになるから
近年AWSなどのクラウドサービスが広がる中で、インフラ知識はクラウドサービスと関連付けしてより深く理解する助けになります。

フルマネージドサービスが導入されることで、今までインフラに任せていた領域がサーバーサイドが実施するようになる会社も少なくないのではないでしょうか。

例えば、EC2を立ち上げるときにぽちぽちボタンを押してインスタンスを起動する際、裏で何が起きているか理解しているのと理解していないのとでは、今後AWSのアーキテクトをする上で大きく差が出ることは確かだと思います。

# LinuCはひとまずLevel1を取得して、余裕があればLevel2を取得すると良い
上記のメリットをあげさせていただきました。次は実際にLinuCの出題範囲を記載します。

LinuC Level 1

<details><summary>LinuC Level 1の出題範囲</summary><div>
1.01.1Linuxのインストール、起動、接続、切断と停止
1.01.2仮想マシン・コンテナの概念と利用
1.01.3ブートプロセスとsystemd
1.01.4プロセスの生成、監視、終了
1.01.5デスクトップ環境の利用
1.02.1ファイルの所有者とパーミッション
1.02.2基本的なファイル管理の実行
1.02.3ハードリンクとシンボリックリンク
1.02.4ファイルの配置と検索
1.03.1コマンドラインの操作
1.03.2フィルタを使ったテキストストリームの処理
1.03.3ストリーム、パイプ、リダイレクトの使用
1.03.4正規表現を使用したテキストファイルの検索
1.03.5エディタを使った基本的なファイル編集の実行
1.04.1apt コマンドによるパッケージ管理
1.04.2Debianパッケージ管理
1.04.3yumコマンドによるパッケージ管理
1.04.4RPMパッケージ管理
1.05.1ハードウェアの基礎知識と設定
1.05.2ハードディスクのレイアウトとパーティション
1.05.3ファイルシステムの作成と管理、マウント
1.06.1シェル環境のカスタマイズ
1.06.2シェルスクリプト
1.07.1インターネットプロトコルの基礎
1.07.2基本的なネットワーク構成
1.07.3基本的なネットワークの問題解決
1.07.4クライアント側のDNS設定
1.08.1アカウント管理
1.08.2ジョブスケジューリング
1.08.3ローカライゼーションと国際化
1.09.1システム時刻の管理
1.09.2システムのログ
1.09.3メール配送エージェント(MTA)の基本
1.10.1セキュリティ管理業務の実施
1.10.2ホストのセキュリティ設定
1.10.3暗号化によるデータの保護
1.10.4クラウドセキュリティの基礎
1.11.1オープンソースの概念とライセンス
1.11.2オープンソースのコミュニティとエコシステム
</div></details>

いかがでしょうか。LinuC level1だけでもものすごく多いですよね。

この知識を他のサーバーサイドエンジニアより身に付けられたら、ものすごく差をつけられる気がしませんか？

個人的にはLinuC level2まで取得することがおすすめです。

以下に出題範囲を記載しておきます。

https://linuc.org/linuc2/range/

# おすすめの勉強方法

最後におすすめの勉強方法を紹介します。

LinuC試験は4択問題のため、技術国家資格関連と比較して簡単です。

ただし、4択といっても内容をしっかり理解していないと解けない問題ばかりな印象なので、勉強する際は問題丸暗記にならないように注意しましょう。

おすすめの本は以下になります。

![51ZgyX76KaL._SY346_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153118/4edcc588-10bf-9af6-2d2e-72eb3bf11cf1.jpeg)

http://urx3.nu/6Ovn

赤本や黒本がありますがLevel1はスピードマスターで十分です。
Level2からは深く理解するために黒本を併用してもいいかもしれません。


### オススメはアプリ

また、上記の本もおすすめなのですが何より最も効果的な勉強法はアプリです。

「リナ男とリナ子のLinuc問題集」がおすすめです。

有料ですがこれだけやればたぶん合格できるので参考書を買うよりコスパもいいと思います。

![リナ男とリナ子のLinuC-1問題集_-_Google_Play_のアプリ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153118/7f5206ed-4154-dca6-6054-e8db944d65e0.png)

http://urx3.nu/44Wx

# 資格関係なくインフラ初心者にオススメの本

インフラ周りが苦手な方、少しでもインフラが身近に感じられるようなおすすめの本を紹介します。

![51SDwVGgwHL.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153118/953aeaad-9eac-0dcd-f731-d7e04c396bcb.jpeg)

http://urx3.nu/Lavx

シス管系女子という漫画形式の本です。

一見可愛すぎて手が出にくいかもしれませんが中身は非常にわかりやすく、2020年時点で3巻まで発売されています。
2巻からはLinuC Level2相当の技術も取り上げられており、初心者だけでなく中級者向けだと思います。

以上、サーバーサイドエンジニアはLinuCを取るべきという記事でした。

是非ご参考にしてください。