現役組み込みソフトウェアエンジニアの竹です。
Web系の開発について勉強していくうちに「練習に使える自分のLinux環境が欲しいなぁ」と思うようになりました。しかしPCをもう1台買うのもDualBootもハードル高そうだし…
どうしたものかと悩んだ経験からLinux環境持ってないけどLinuxの勉強をしたい!という人に向けて学習サイトや学習用PC環境を交えつつ3つの学習環境を紹介します!
この記事では以下のような人がメインターゲットです。
- 普段使いのPCがLinuxではない
- でも実際にLinux環境を触りながら勉強したい
導入難易度が低いものからご紹介します!
WSL(Windows Subsystem for Linux)
WSLとはWindows環境にインストールできる仮想のLinux環境のようなものです。Linux特有のBash操作やvimの利用はもちろん、Python等のアプリケーション実行も可能です。
導入が超簡単!
今回紹介する3つの方法の中で最も導入難易度が低くPowerShellから以下のコマンドを実行するだけでインストールできます。
wsl --install
ね?簡単でしょう?本当にコレだけなのですが以下のMicrosoftのページを参照いただくとより詳細な情報をご確認いただけると思います。WSLはMicrosoft Windowsの環境として提供されているため、そういった安心感もありますね。
特徴
- Windowsユーザ向け
- インストール作業のみで利用可能
- とりあえずLinux触ってみたい人向け(一部実行できないコマンドあり)
AWS -EC2 Amazon Linux
2つめはAWSのサービスのひとつであるEC2を使った環境の紹介です。AWS(Amazon Web Services)は様々なWeb開発環境が利用できるクラウドサービスです。
EC2とは?
AWSの中で有名なサービスのひとつにEC2(Elastic Compute Cloud)というサービスがあります。このEC2は簡単にいえば仮想サーバ提供サービスで、EC2を構築する際にAmazon Linux(あるいはAmazon Linux2)を選択することで自分のLinuxサーバを持つことができるようになります。
無料で使う
「AWSを使うのにお金がかかるのでは…?」と思われるでしょうが、実はAWSは条件を守れば無料で利用することができます。
AWSは本記事作成現在(2022年6月)、AWSはサービス利用開始から1年以内は無料で利用可能となっています。1年以降は利用時間に応じて従量課金が発生しますが、それでも学習中だけ起動して終わったらサービスを停止する、という使い方を守れば1回数十円程度と非常にリーズナブルに使うことができます。
先ほど紹介したWSLはあくまでローカル環境なのでLinuxの用途としてWebサーバ操作という部分は経験できないため、そういったスコープでの学習ならAWSの方がよりオススメです。
特徴
- 無料利用可能(条件付き)
- Window/Macどちらでも利用可能
- Webサーバ操作の学習環境としても利用可能
初学者の方でAWSを使ったLinuxの学習を行うのであればこちらのUdemyの講座が非常にわかりやすく、オススメです。
RaspberryPi
安価で小型なシングルボードコンピュータのRaspberry Pi(ラズベリーパイ)ですが、標準OSであるRaspberryPiOS(Rasbian)はDebianというLinuxのディストリビューションなので、Linuxの学習に利用できます。知識が身についてくれば他のLinuxディストリビューションを入れて使うこともできるでしょう。
今回紹介する3つの方法のうち唯一、初期投資必須となるためハードルの高さは否めませんがLinux学習用PCと普段使いPCを分けたい人にとっては良い環境だと思います。また実際のハードウェアを利用する利点もありサーバー用Linuxのように他のPC(Windows/Mac)からSSHで操作する環境を構築できたり、GPIOと使ったIoT機器開発など拡張性はあります。
スターターキットが便利
ラズベリーパイは通常、ボード単品での購入も可能ですが電源やモニター出力ケーブル等、意外と必要な備品が多いです。またOSイメージの準備等も最初はそれなりにハードルが高いので、こんな感じのスターターキットがオススメです。参考までに私が利用したことがあるキットはこちらになります。
特徴
- ハードウェアを購入する必要がある
- 単体LinuxPCとして利用可能
- SSH接続で操作可能
まとめ
いかがでしたでしょうか?Linuxの学習環境を3つの方法を紹介しましたが、個人的にはWSL→Amazon Linuxか、WSL→RaspberryPiという流れがオススメです。Linux触ってみたいけど環境がないからと諦めている人のハードルが少しでも下がるとうれしいです。
コメント