本記事の目的
本記事は、M1MacでLinux環境を構築するのインストール編です。
M1Mac上にLinuxサーバーを構築するまでの工程の一つとして、MacにLinuxサーバーをインストールし、仮想マシンを構築する部分までを行います。
実行環境などに関しては、上記のリンクをご覧ください。
前提知識
最初に前提知識の整理をしておきます。
釈迦に説法だという方は読み飛ばしてください。
一応、エミュレータやディストリビューションの選択理由についても軽く触れています。
Linuxとは
Linuxとは、UnixOS(MacOSのベースになっているもの)をベースに作られているオープンソースのOSのことを指します。
原則として無料で利用でき、また複数のサーバー上に同一の環境を再現することが容易であることからサーバー用のOSとしてのシェアが年々拡大しています。
Linuxディストリビューション
LinuxはオープンソースのOSであるため、公式版とは別に有志によって作成された改良版が存在します。
前者はLinuxカーネル、後者はLinuxディストリビューションと呼ばれており、ディストリビューションの代表例としてubuntu, Debian, CentOSなどが挙げられます。
今回はディストリビューションとしてubuntuを選択しましたが、これは探した限りでは他に情報がなかったためです。
しっかりと調べればもっと良い選択があるかもしれません。
エミュレータとは
特定のPC向けに開発されたOSやソフトウェアを他のマシンで利用できるようにするためのソフトのことをエミュレータと呼びます。
エミュレートとは真似るという意味なので、(今回でいえば)MacでLinuxの真似をできるようにするためのソフトという意味合いでしょうか。
なお、今回はエミュレータとしてUTM
というソフトを利用しました。
選択理由としては他のエミュレータの利用例があまりなかったことに加えて、無料で利用できることが挙げられます(有料で良いのであれば、Parallels Desktop for Macなどがある)。
なお、UTMには無料で利用できるGitHub版以外にも有料のAppStore版が存在します。
後者であれば自動でアップデートされるという利点があるので、長期利用を検討中の方はそちらでも良いかもしれません。
手順
Linuxディストリビューションのインストール
最初にLinuxディストリビューションをインストールします。
こちらからLTS版のubuntuをインストールしてください。
把握できていれば保管場所はどこでも大丈夫です。
インストールできたら、UTMのインストールに移ります。
UTMのインストール
HomebrewからUTMをインストールします。
UTMはGUIアプリらしいので、--cask
オプションが必要になります。
% brew install --cask utm
インストール完了後にアプリを起動してください(基本的にはアプリケーションフォルダに入ります)。
以下の画面が立ち上がります。
左側にあるサイドメニューのlinux_practice_1
は私が作成したものですが、初期状態であれば何も表示されていないはずです。
ここから仮想マシンを作成していきます。
仮想マシンの作成
上記画面の中央にあるCreate a New Virtual Machine
を選択すると以下のような画面になります。
画面上部にInfomation
, System
などのメニューが並んでいますが、このタイミングで触るのはInfomation(仮想マシンの概要)
とSystem(チップの指定とメモリの割り当て)
とDrives(保存用のディスクの指定)
のみです。
Infomation
の部分については本来は任意なのですが、今後複数の仮想マシンを立てた場合のことを考えると識別のために設定しておいた方が無難です。
画面上部のNameをVirtual Machine
からお好きな仮想マシン名に、下部のStyleをGeneric
からOperating System
に変更しておきましょう(以下参照)。
今回は一応Notes(説明文)も追加しておきました。
次にSystemの設定を行います。
上記の画面のArchitecture
をx86_64
からARM64(aarch64)
に変更し、Memory
も初期状態の512MB
からある程度増やしておきましょう(今回は4096MB,以下参照)。
最後にDriveに移ります。
最初は1枚目の状態になっており、右上のNew Drives
をクリックすると2枚目の状態になります。
[]
(https://gyazo.com/5b108a89b9900c8ec9af72f090794cf0)
ここでは保存用のディスクを2枚(1枚目と2枚目参照)作成します。
すると3枚目の状態になるので右下のsaveを選択してください。
1枚目(Interface: VirtIO, Size: 20GB)
2枚目(Removable, Interface: USB)
ここまでの作業が完了すると、UTMの画面が以下のようになります。
これで、Linuxディストリビューションを流し込む仮想マシンの受け皿が作られました。
なお、先ほど設定したメモリの割り当て量などに関しては、作成された仮想マシンを右クリックし、editを選択することで変更可能です。
ISOイメージの焼き付け
先ほど作成した受け皿に、最初にダウンロードしておいたubuntuのISOイメージを流し込みます。
上記の写真の一番下にあるCD/DVD
の部分をクリックしてBrowser
を選択してください。
PCのfinderが立ち上がると思うので、インストール済みのubunntuのISOイメージを選択します。
この状態で仮想マシンをクリックすると立ち上がります。
最初は上記の画面になるので、Install Ubuntu Server
を選択してください。
しばらくすると以下の画面になります。
表示される言語の選択画面になるので、Englishを選択します(日本語はありません)。
キーボードタイプの選択画面になるので、お使いのものに合わせて選択してください。
画面中央部のIdentify keyboard
を選択するとキーボードの種類を診断してもらうことができますが、あまり精度は良くなさそうです(私はヘブライ語と診断されました)。
その後に出てくる画面については、以下の通りです。
5回連続で何も変更せずにdone
を選択します。
5枚目(ここでdoneを選択した後に出てくる画面ではContinue
を選択してください。)
以下の2つの画面は何も変更せずにdoneを選択。
ダウンロードが始まり以下の画面になる。
一番下がCancel update and reboot
(一枚目)からReboot Now
(2枚目)に変わったらリブートを選択する。
リブートを選択してしばらくすると画面が暗転してそのまま変化しなくなります。
そうなったら画面左上の電源ボタンを押して一度仮想マシンを終了させた後に以下1枚目の画面のCD/DVD
を選択してClear
に戻してください(2枚目のようにempty
になれば成功)。
1枚目
[]
(https://gyazo.com/ca91a2d8785d6f41465fdfad1059de45)
この状態で再度仮想マシンを起動すると以下の画面が表示されます。
ここで先ほど作成したユーザー名とパスワードを入力すると、以下のようにターミナルが操作できるようになります。
これがいわばLinuxのターミナルを立ち上げた状態です。
では、早速このターミナルを用いて操作をしてみましょう。
パッケージの更新
ターミナルに以下のコマンドを入力します。
$ sudo apt update
$ sudo apt upgrade
上記のコマンドを打つことで、仮想マシン上のソフトウェアに対して更新がかかります。
更新作業本体を担当しているのはupgrade
の方で、update
は更新すべきソフトウェアの有無を確認するためのコマンドになります。
また、
$ sudo apt --list-upgradable
と入力することで、更新可能なパッケージのリストを表示することもできます。
終わりに
というわけで、仮想マシンを構築し、ターミナル操作ができるようにするところまでは完了しました。
この状態でもコマンドライン操作は受け付けますが、GUI操作は全くできません。
なので次回は、Ubuntu Desktop
というアプリをインストールし、GUI操作ができるようにしていきます(ブラウジングなどの通常のPCの用途にも対応するようになります)。
コマンド操作のみで大丈夫だという場合には、いきなりサーバー構築に進んでいただいて大丈夫です。