はじめに

開発環境をLinuxにしたのでセットアップ手順の備忘録です。
ManjaroLinux(Gnome版)を使うことにしました。

今回の記事は自分向け開発マシーンの手順書です。
具体的に上げると

  • エディタ: visualstudio-code
  • 開発言語: python3, node-js
  • ブラウザ: GoogleChrome
  • その他:
    • dockerの導入
    • VPN設定(L2TP/IPsec)
    • ディスク暗号化
    • アンチウイルスソフト導入
    • 自分向けGUI

の環境の構築手順になっておりますので↓も参考に、適宜アレンジしたり読み飛ばしたりしてください。

各記事の概要

  • part.1 ← 今回の記事
    • この記事の対象者について
    • Linux環境に移行しようと思った理由について雑談
    • ManjaroLinuxについて解説
    • 実際にManjaroLinuxをノートPCにインストールする
  • part.2
    • 初回起動直後に設定したい項目の設定
    • 使用するソフトウェアのインストール
    • 使用する開発言語のインストール(python3, node-js)
  • part.3
    • 色々なソフトウェアでの自分仕様設定の作成
    • VPNの設定
    • docker導入
    • セキュリティ対策

記事の対象者

この記事の対象者は

  • Linux環境での開発に興味がある方
  • ManjaroLinuxの使用感等々に興味がある方
  • プログラミングをはじめてみたいけどmacは高すぎる!という方(ちなみにMilldeaでは希望した環境のPCを支給してもらえます)
  • Linuxが好きで、ひよっこLinuxユーザーを観察したい方
  • インストール手順を忘れた未来の自分

あたりです

今回導入したManjaro Linuxはプログラミング初学者の方にとっても、難易度的にも経済的にもとてもおすすめできると思っているので参考になれば幸いです。

Linuxに移行した理由

windowsLinux

入社時の開発環境はWindows10でした(自分でそう要望しました...)
WSL2のUbuntuでdockerでコンテナを立ち上げ、エディタはVSCODEとすると、メモリが16GBあっても足りない!! という状態になってしまったので、Linuxに移行しようということになりました。
定期的にWSL2の再起動をしてメモリを開放して運用でカバーしていたのですが、dockerのコンテナ数が増えると快適とは言えない頻度での再起動が必要になってしまいました。
Linuxに移行した結果、Windows環境では22GB(スワップ込み)のような量の開発環境を起動していても、スワップは最小限で10GB程度のメモリで足りるようになりました。

Manjaro Linuxとは

manjaro_q

ManjaroLinuxArchLinux(後述)というディストリビューションをもとに作られています。
まず、元になったArchLinuxについて、特徴と個人的な見解を書き出してみます。

  • シンプルミニマリズム、なLinux
    • OSの明確なバージョンを持たず、リポジトリ上のソフトウェアが常に最新になり、ユーザーは日々アップデートで最新化する、ローリングリリースという方法を採用している
  • チュートリアル通りにインストールした状態だと、最低限のソフトウェアしか入っておらず、そこから、各々が好みの環境になるようカスタマイズしていく想定になっている
    • 自由度が高い反面、初心者にとっては環境構築の難易度がやや高い
  • wikiがとてつもなく充実している。
  • Arch User Repository(AUR)という、バイナリで配布されているソフトウェアとそのビルド方法が書かれたファイルをパッケージ化したものをユーザーが投稿できるリポジトリがある
    • Chrome、VSCODE等のバイナリを落としてビルドして...という手順をパッケージマネージャが行ってくれるので大変助かる

ArchLinuxと比較してManjaroになって使いやすくなったところは

  • インストールメディアがGUI
  • デスクトップ環境が最初からインストールされている(選択肢もたくさんある)
  • AURを使うことができる
  • Archのリリースより少し遅れて安定したバージョンでアップデートがかかるので、最新ではないが比較的安定している

あたりを感じています。

Manjaroを選んだ理由は、

  • ArchLinuxの(開発者や熟練者にとっては)良いところであり(初心者にとっては)優しくない部分を、やさしくしてユーザーフレンドリーにしたディストリビューションだと思っていること
  • アルバイト時代に一度使用経験があり、その後色々使ってみましたが、振り返ると一番使いやすかった

です。

注意点

warning

windows10とデュアルブートする場合注意が必要です。
自分は業務の関係上、ディスクの暗号化は必須なので暗号化しているのですが、

  • Manjaroのインストール時に暗号化をするとLUKSというパーティションの暗号化になる
  • ManjaroLinuxはセキュアブートを標準ではサポートしていない
  • bitlockerで暗号化されたwindows10はセキュアブートが必須

という関係上

  • windows10を起動する場合はbiosからセキュアブートをオンにする
  • windows10を起動する場合毎回bitlocker暗号化回復キーを入力する
  • セキュアブートでManjaroLinuxを起動できるようにブートローダー周りの設定をする

のいずれかの対応になります。
セキュアブートを切らずにLinux + Windows10環境を作りたい場合は、Ubuntu等の最初からセキュアブート対応のものを使うか、手間を考えるとManjaroの利点であるユーザーフレンドリーな部分が帳消しになるので、ArchLinuxにしたほうが良いと思います。

導入方法

install-1

ざっくりインストール手順

  1. ManjaroLinuxのwebサイトからOSのイメージダウンロードする
  2. USBにOSをインストールするためのインストールメディアを書き込む
  3. BIOSの起動設定を変更して、インストールメディアをbootするように設定する
  4. インストールメディアの表示に従って、インストールする
  5. 再起動!

ManjaroLinuxをダウンロードする

manjaro_top

まずLinuxのイメージをダウンロードします
画面左上のDownloadボタンから、ダウンロードページに以降し、好きなエディションのイメージをダウンロードします。
https://manjaro.org/

デスクトップ環境をどれを使うかという選択なので

  • 見た目が好き
  • PCのスペックと相談

あたりの基準で選んで良いと思います。

自分はカスタマイズ周りが使い慣れていたことと、 あまり評判がよくなかった windows8.1 のUIで育った人なので Gnome Desktop を選択しました。
windows8.1 と mac を足して割ったみたいな見た目です。

カスタマイズ性はどれにもあるので、デフォルト状態での感想ですが、個人的におすすめのデスクトップ環境は以下3つです

  • Plasma Desktop
    • 綺麗、見た目ほど重くはない(やや重いくらい)
    • 公式的にもおすすめしていそう(一番最初にあるので)
    • windows10に近い操作性な気がします
  • Xfce
    • 軽量
    • それでいてデザインも古臭い感じはあまりない
    • メニュー、ウィンドウ操作もwindowsに近い
  • Gnome(Gnome3)
    • 豪華、重い、アニメーションも現代風
    • UIはデフォルトだとややmac風

おまけ

  • i3
    • かなり軽量
    • ウィンドウではなく画面の分割、複数ワークスペースで管理
    • Geekって感じがする(個人的な偏見です)
    • なるべくマウスを使いたくない人、コンソール画面がかっこいいと思う人におすすめです

インストールメディアを作成

USBのインストールメディアを作成します
https://manjaro.org/

windowsの場合

windowsならRufusというソフトウェアでisoファイルからインストールメディアを作成できます。
rufus
https://rufus.ie/ja/

Linuxの場合

Linuxならddコマンドで、インストールメディアを作成できます。

sudo dd if=./{ダウンロードしたファイル名}.iso of=/dev/{USBドライブのデバイス名} bs=512k

BIOS設定

BIOSとは、PC本体に内蔵されている、OSが起動する前起動するシステムです。
windows搭載PCを買ったまま使っている状態だと、windowsを起動する!と言って聞かないので設定を変える必要があります。

BIOS設定画面に入るためにはPCの種類にもよりますが、電源投入時メーカーのロゴ等が表示されているあたりでF2deleteキーを押す(タイミングがわからないので自分は連打してます)という機種が多いです。
マニュアルを確認するか、Googleで機種名 bios 入り方あたりで検索してみてください。

セキュアブートをオフにする

ManjaroはデフォルトではSecureBootには対応していません。
署名されていないBootを実行しないようになっているBIOSのオプションがあるのでオフにします。

ManjaroLinuxをセキュアブートに対応させる方法は一応あるみたいです。
ファームウェアの情報を、署名済みのものもしくは自分で作成して書き換える必要があったと思うので、今回は行っていません。

起動ディスクを、インストールメディアにする

起動に使用するドライブを設定します。
BIOSの設定項目にBootというものがあり接続されているデバイスの起動優先順位を設定できるので、作成したUSBメディアを一番上に移動すると、インストールメディアが起動するようになります。
この設定で、今までwindowsが起動していたところ、ManjaroLinuxのインストール用の画面が起動するようになります。

インストールメディアから起動

Screenshot-from-2022-08-23-13-23-32

インストールメディアで起動できると、↑の画面になるので、設定をして起動します。
ドライバの設定は

  • Boot with open source drivers
  • Boot with proprietary drivers

の2つがありますが、NvidiaのGPUが搭載されている場合は proprietary 、その他の場合は open source にする、というのが主流らしいです。

boot

↑の画面に移行したら、インストールメディアからの起動成功です。

Tz キーボード 言語の設定

tz-2

表示にしたがって、設定をします。

パーティションの設定

boot-1

ManjaroLinuxにディスクを割り当てると基本的にその領域はフォーマットされ、データが消えてしまいます。
windowsと併用している方は、手動パーティションにして、

  1. windowsのパーティションを縮小
  2. 縮小して空いたスペースにLinuxを入れる

としたほうが良いと思います。

今回はwindowsとのデュアルブートではなく、全てManjaroLinuxに割り当てようと思います。
ブートの領域に300MBほどと、LUKSで暗号化したLinuxの領域を作成します。

ユーザー設定

ユーザー名、パスワード、管理者パスワードをインストーラーに従って入力します。

インストールが始まるので待つ

install

結構時間がかかります。
インストールが完了すると再起動されます。

インストールを終えての感想

installed

セキュアブートをサポートしていないのは認識しておらず想定外でしたが、インストール自体は特に躓いた箇所はありませんでした。
ManjaroLinuxも最初の起動の時点で見た目が整っていて良かったなという気持ちと、マインスイーパーとソリティアと、それらの依存パッケージを見て、大変でもArchLinuxにしたほうが良かったかな......という気持ちがありました。

インストールまでの簡単さと最初からある程度組み上がっているのはやはり楽なので、これからLinuxのクライアントを試してみようかなという人にとてもおすすめできるディストリビューションではないかと思います。

次回

2022/10/14 に公開予定です。
次は初回起動時の設定と、使うソフト各種のインストールについての記事になると思います。

次の記事: Web開発環境をManjaro Linuxで構築してみる 2/3 (初回起動〜主要ソフトのインストール)