1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac で Linux 学習 環境構築

Last updated at Posted at 2025-01-19

使用する環境

Machine        : MacBook Air
Chip           : Apple M1
OS version     : MacOS Sequoia 15.2

前提知識

アーキテクチャ

コンピュータのプロセッサ(CPU)の設計方式。

x86、ARMなどの種類があり、設計方針や命令セット(ISA:Instruction Set Architecture)が異なる。

アーキテクチャには他にもRISC-V、PowerPC、SPARC、MIPS などがある。これらは組み込みシステム、ゲーム機、業務用サーバなどで使用される。

x86

主にPCやサーバーで利用されるアーキテクチャ。

ARM

主にスマートフォン、タブレット、Mac(M1、M2)で利用されるアーキテクチャ。

アーキテクチャ確認コマンド

アーキテクチャを確認する
$ uname -m
arm64

チップ

プロセッサ(CPUやGPU、その他のコンポーネントを統合したもの)そのもの。

チップ(Apple製品)

Appleが自社製SoCを指すために使う用語。

近年のApple製の M1 や M2 などはARMアーキテクチャに基づいている。(それ以前はIntel製の x86アーキテクチャ が採用されていた。)

M1、M2 はAppleによって付けられた製品名、ブランド名、バージョン名でもある。

他のメーカーでは「プロセッサ」や「SoC」と呼ぶ部分を、Appleは「チップ」と表現する。

SoC

System on a Chip

単体でシステムとして機能するよう設計された、基板(チップ)上に半導体など各種素子を実装したもの。CPU も含間れている。

Apple Silicon

AppleがARMアーキテクチャを使用して自社開発、設計したプロセッサ、SoC のブランド名。

Apple製のデバイスで主に使用される(Appleは元々Intel製CPUを使用していたが、自社製のApple Siliconに移行する方針を発表、2020年初めて M1 を搭載したMacを発表。ハードウェアとソフトウェアが統合開発されることにより、電力効率が大幅に向上したと言われる。)。

Mac用のMシリーズ、iPhone/iPad用のAシリーズ、Apple Watch用のSシリーズがある。

Linux ディストリビューション

CentOS に代表される RedHat系と Ubuntu に代表されるDebian系がある。

RedHat系のディストリビューションは、サーバー向けに開発されていて、主にCLIで操作する。ユーザーインターフェースは使いづらい面があるが、安定して稼働できる環境が提供される。

一方、Debian系のディストリビューションは、GUI、CLIどちらでの操作にも対応していて、デスクトップのPCやスマホにインストールして使用される場面も多い。

仮想環境

物理的なコンピュータ(ホスト)上に、ソフトウェア的に別のコンピュータ(ゲスト)を作り出す仕組み。

今回は MacBook Air 上の仮想環境に Ubuntu をインストールしたい。

ゲスト(Ubuntu)環境は、ホスト(Apple Silicon のMac)のハードウェアリソース(CPU、メモリ、ディスクなど)をホストと共有しながら利用するため、ARMアーキテクチャ向けのものを選択して ダウンロード する必要がある。

UTM

仮想環境 を提供するアプリケーション。

以下、ダウンロード元サイトより転載:
What's the difference in the Mac App Store version?
UTM is and always will be completely free and open source. The Mac App Store version is identical to the free version and there are no features left out of the free version. The only advantage of the Mac App Store version is that you can get automatic updates. Purchasing the App Store version directly funds the development of UTM and shows your support .

イメージファイル

ディスク(CD、DVD、USBメモリなど)の内容をそっくりそのまま(物理的に先頭から末尾まで丸ごと写し取って)データ化したファイルのこと。

Linux OS を仮想環境へダウンロードする際にISOイメージ形式(.iso)で使用される。

ISOは光学ディスク(CD/DVD)の内容を記録するための標準フォーマット。

UbuntuのISOファイルには、OS本体、必要なドライバ、インストールツール、ライブセッション(インストールせずにOSを試用する機能)など、OSをインストールするために必要なすべてのデータが含まれている。

Ubuntu のISOファイルをUSBメモリやDVDに書き込むことで、インストールに使用できる ブートメディア を作成することができる。ただし、書き込みには専用のソフトウェアが必要。

ブートメディア

PCに挿入することでOSを起動できる、イメージファイルが格納されたCDやUSBなどの記憶媒体。

ポートフォワード

特定のIPアドレス、ポート番号へのデータを、別のIPアドレスやポート番号に転送すること。

SSH

Secure Shell

リモートネットワークを介した別のコンピュータへのアクセス・ファイル転送・通信を暗号化によって安全に行うためのプロトコル。

SSH コマンドは以下のように使用する。

ssh
$ ssh -p ポート番号 ユーザ名@ホスト名(IPアドレス)

ループバックアドレス

自分自身のIPアドレス(127.0.0.1)、もしくはホスト名(localhost)。

環境構築手順

UTM のインストール

UTM をインストールする。

UTMのインストール
$ brew search utm
==> Formulae
putmail                                    putmail-queue                              mtm                                        dtm

==> Casks
loginputmac                                upm                                        utm                                        utm@beta

$ brew install --cask utm
==> Downloading https://github.com/utmapp/UTM/releases/download/v4.6.4/UTM.dmg
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/181042062/ce7bbfba-bf14-4ade-8051-efc90648a862?X-Amz-Algorithm=AWS4-HMAC-S
##################################################################################################################################################################### 100.0%
==> Installing Cask utm
==> Moving App 'UTM.app' to '/Applications/UTM.app'
==> Linking Binary 'utmctl' to '/opt/homebrew/bin/utmctl'
🍺  utm was successfully installed!

Homebrew コマンドについてはこちら。

Ubuntu イメージファイルのダウンロード

LTS(Long Term Support)版は5年間のサポート付きで 24.04 が 2029年までのサポート となっていたため、これを選択。

Screenshot 2025-01-17 at 21.40.56.png

Ubuntu の 公式サイト から ARMアーキテクチャに対応した イメージファイル をダウンロードする。

GUIで操作できるデスクトップ版をダウンロードしたかったが、ARM対応版の提供が無いようだった。ググってみると、CUI操作のサーバ版をインストール後にGUIを追加できるとのことだったため、まずはサーバ版をダウンロードする。

GUI の追加については 後述

Screenshot 2025-01-17 at 21.30.24.png

Screenshot 2025-01-17 at 21.30.52.png

Screenshot 2025-01-17 at 21.31.03.png

仮想マシンの作成

UTM を使用して仮想マシンを作成する。

Screenshot 2025-01-17 at 21.42.55.png
Screenshot 2025-01-17 at 21.43.35.png
Screenshot 2025-01-17 at 21.43.46.png
Screenshot 2025-01-17 at 21.43.56.png
Screenshot 2025-01-17 at 21.45.09.png
Screenshot 2025-01-17 at 21.45.20.png
Screenshot 2025-01-17 at 21.45.31.png
Screenshot 2025-01-17 at 21.47.35.png
Screenshot 2025-01-17 at 21.49.35.png
Screenshot 2025-01-17 at 21.49.59.png
Screenshot 2025-01-17 at 21.52.37.png
Screenshot 2025-01-17 at 21.53.38.png
Screenshot 2025-01-17 at 21.54.31.png
Screenshot 2025-01-17 at 21.55.27.png
Screenshot 2025-01-17 at 21.56.30.png
Screenshot 2025-01-17 at 21.57.08.png
Screenshot 2025-01-17 at 21.57.28.png
Screenshot 2025-01-17 at 21.58.09.png
Screenshot 2025-01-17 at 21.58.32.png
Screenshot 2025-01-17 at 21.59.51.png
Screenshot 2025-01-17 at 22.00.02.png
Screenshot 2025-01-17 at 22.00.40.png
Screenshot 2025-01-17 at 22.01.04.png
Screenshot 2025-01-17 at 22.01.36.png
Screenshot 2025-01-17 at 22.02.29.png
Screenshot 2025-01-17 at 22.04.01.png
Screenshot 2025-01-17 at 22.04.20.png
Screenshot 2025-01-17 at 22.06.42.png
Screenshot 2025-01-17 at 22.07.29.png
Screenshot 2025-01-17 at 22.12.45.png

Ubuntu イメージファイルの削除

仮想マシンを作成し終えたら、イメージファイルは不要なため削除する(仮想環境上はCD/DVDドライブとして認識されているようなので、取り出す操作をUTM上で模倣する)。

Screenshot 2025-01-17 at 22.16.07.png

ホスト環境の Mac 上でも、もう使用しないので、物理的に削除する(2.5GBくらいあっt)。

ポートフォワーディングの設定

ポートフォワーディング の設定を行う。

これにより、ホストの Mac OS とゲストの Ubuntu 間での SSH 通信が可能になる。

SSH はリモート接続時に利用されるプロトコル。「リモート」と聞くと、物理的に離れた環境同士のコンピュータ間の通信を連想してしまうが、仮想環境はホストOS内で隔離された環境となっているため、理論的には Mac OS と Ubuntu は離れた環境に存在していることになる。

ネスペ (2).png

ポート番号 22SSH の標準ポート。ホスト(Mac)側は 22 が別の用途で使用されている場合もあるので、競合を避けるために 2222 を使用する。

Screenshot 2025-01-19 at 11.28.56.png
Screenshot 2025-01-19 at 11.29.08.png
Screenshot 2025-01-19 at 11.29.19.png
Screenshot 2025-01-19 at 11.29.32.png
Screenshot 2025-01-19 at 11.29.55.png
Screenshot 2025-01-19 at 11.30.05.png

SSH接続

UTM で仮想環境を起動した状態で以下のコマンドを MacBook のターミナルから実行する。

<user-name> : ゲストOS(Ubuntu)のユーザ名

ホスト側のターミナル
$ ssh -p 2222 <user-name>@127.0.0.1
実際の実行結果
$ ssh -p 2222 <user-name>@127.0.0.1
ED25519 key fingerprint is SHA256:*******************
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
// yes を入力して Enter
Warning: Permanently added '[127.0.0.1]:2222' (ED25519) to the list of known hosts.
<user-name>@127.0.0.1's password:
// Ubuntu のユーザパスワードを入力
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-51-generic aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Sun Jan 19 02:37:52 AM UTC 2025

  System load:             0.01
  Usage of /:              43.1% of 9.75GB
  Memory usage:            4%
  Swap usage:              0%
  Processes:               131
  Users logged in:         0
  IPv4 address for enp0s1: 10.0.2.15
  IPv6 address for enp0s1: fec0::5cba:eaff:fe7b:f417

Expanded Security Maintenance for Applications is not enabled.

77 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

<user-name>@<user-name>:~$
// ログインが確認できたため、 exit で終了
<user-name>@<user-name>:~$exit
logout
Connection to 127.0.0.1 closed.

デスクトップ環境の追加

Ubuntu を GUI で操作したいので、デスクトップ環境を追加する。

$ apt コマンドについてはこちら。

下記コマンドは仮想環境上の Ubuntu で行う。

デスクトップ環境の追加
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install ubuntu-desktop
$ sudo reboot

起動しない。。。

Screenshot 2025-01-19 at 15.35.40.png

しばらくして表示された!(数分かかった)

Screenshot 2025-01-19 at 15.38.01.png

Screenshot 2025-01-19 at 15.39.44.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?