みなさんがお使いになっているコンピューターやスマートフォンなどの端末にはOS(Operating System)というソフトウェアが組み込まれています。このOSはメモリやCPUといったハードウェアなどの各リソースの管理や制御を行い、コンピューターを人が使えるようにする土台的な役割を担っているため、基本ソフトウェアとも呼ばれます。
今回はそのOSの1つであるCentOS(Linux)と仮想化ソフト「UTM」を用いてM1 Mac上に仮想マシンの構築を行います。
仮想化ソフト「UTM」とは?
UTMとはmacOSやiOSなどAppleのデバイス上で動作する仮想マシンソフトです。
仮想マシンを端的に表すとソフトウェアを用いて物理的なコンピューターの中に複数台の仮想的なコンピューターを作成することをいいます。UTMはQemuをベースに作成されており、GitHubもしくは公式サイトで配布されている無料版とMac App Storeで配信されている有料版の2種類が存在します。両者の違いとして有料版ではソフトの自動更新が行われますが、機能面での差はないためまずは無料版を使用し、気に入ったら有料版の購入を検討することをおすすめ致します。
OSとは?
コンピューターは情報処理を行う「CPU」やCPUが処理した情報やデータを一時保存してくれる「メモリ」といった様々なパーツで構成されています。これらのパーツを指揮し、コンピューターを人が使える状態にしてくれる管制塔のような役割を担うのがOS(Operating System)です。このOSは日常のあらゆる電子機器に組み込まれており、PCやスマートフォンはもちろん、家庭用ゲーム機や車に搭載されるカーナビなどにもOSは組み込まれています。
例えば、PCだとMicrosoft社のWindowsやApple社のmacOS、スマートフォンだと同じくApple社のiOSやGoogle社が開発したAndroidなどが有名です。このようにさまざまな種類があるOSですが、その中にリーナス・トーバルズ氏が開発を行ったLinuxというOSがあります。Linuxは主にサーバーやシステム開発を行うコンピューターに使用される機会が多く、大きな特徴としてOSS(Open Source Software)のOSでソースコードが公開されており、無償で誰でも自由に改変、再配布が可能なソフトウェアという点が挙げられます。そうしてLinuxとほかのソフトウェアをパッケージングし、ユーザーがインストールや利用できる状態にしたものをLinuxディストリビューションと呼びます。今回インストールを行うCentOSもLinuxディストリビューションの1つであり、Linuxディストリビューションは主に3系統に分かれるため詳しく解説を行います。
Linuxディストリビューションとは?
リーナス・トーバルズ氏が開発を行ったLinuxカーネルを元にほかのソフトウェアをパッケージングし、ユーザーがインストールや利用できる状態にしたものをLinuxディストリビューションと呼びます。Linuxディストリビューションは主に以下の3系統に分かれます。
Red Hat系
Red Hat系とは、かつてRed Hat社によって開発されていた、「Red Hat Commercial Linux」「Red Hat Linux」をルーツとするLinuxディストリビューションです。多くの場合、RPM形式でパッケージ管理を行なっており、管理を楽にするツール提供に積極的なのが特徴といえます。Red Hat系は商業的側面が強い点があり、企業利用に特化した有償のRHEL(Red Hat Enterprise Linux)などがあります。今回使用するCentOSもRedHat系のディストリビューションであり、以下が主な派生ディストリビューションです。
名称 | 特徴 |
---|---|
RedHatEnterpriseLinux | 長期テクニカルサポートのついた有償の商業向けディストリビューション |
Fedora | RHELへのフィードバックを目的に先進性と安定性を兼ね備えた無償のコミュニティーベースディストリビューション |
CentOS | RHELとの完全互換を目指し、無償で提供する上で制約となるライセンスを含まない形でリビルドされた無償のディストリビューション |
Debian系
Debian系とはDebianプロジェクトの有志メンバーの手によって開発・運営が行われているLinuxディストリビューションです。特徴として高度なパッケージ管理技術を持ち、保守的で組織内で議論されたうえで開発がすすめられるため、安定した堅実な構成となり安心して使用できるディストリビューションといえます。Debian系ディストリビューションの中でも「Ubuntu」は他者への思いやりをスローガンにユーザフレンドリーなディストリビューションを目指し開発がされており、日本語に対応している点やマウス操作が行えるGUIが導入されているなど初心者向けのディストリビューションとして人気があります。
名称 | 特徴 |
---|---|
Debian | 高度なパッケージ管理技術を持ち、ユーザの疑問を素早く解決するオープンなサポート体制を備えたディストリビューション |
Ubuntu | 他者への思いやりをスローガンに誰にでも扱いやすいOSを開発目標と定めるGUIベースのディストリビューション |
Linux Mint | Ubuntuの使い勝手に不満を感じている有志チームによって開発された、より使いやすさを重視したUbuntuベースのディストリビューション |
Slackware系
1992年頃からスタートしたLinux史上最も歴史があるとされているディストリビューションです。
何よりも安定性とシンプルなことが特徴であり、独自のツールや仕様も少なく簡素かつ堅実な作りをしているので上級者が独自環境を構築するためのベースとして利用したり、初心者がLinuxの仕組みや操作方法を学ぶための練習用として使用されることが多いです。以下が主な派生ディストリビューションです。
名称 | 特徴 |
---|---|
Absolute Linux | Slackwareを基盤に軽量化されたディストリビューション |
Zenwalk Linux | よりデスクトップ向けに焦点を向けたSlackwareと完全互換のあるディストリビューション |
Salix OS | Slackwareとの完全な互換性を持ち、Slackwareを基にすることによって得られる安定性に重点をおいたディストリビューション |
UTMのインストール
それでは実際にM1 MacにUTMをインストールしていきます。
今回使用するインストール環境は以下になります。
- MacBook Air(M1,2020)
- macOS Venture 13.3
- UTM 4.1.6
- CentOS 7
1. GitHubへアクセス
今回はGitHubよりダウンロードを行います。
アクセスを行ったら4.1.6を選択してください。
2. OSの選択
スクロールを行い、「macOS」を選択します。
3. ダウンロード
「Download from GitHub」を選択すると「UTM.dmg」がダウンロードされます。
4. インストール
ダウンロードされた「UTM.dmg」を開き、「Applications」にドラッグ&ドロップします。
5. 起動
以上でインストールは終了したので、「Launchpad」から起動します。
CentOSのISOイメージをダウンロード
仮想マシンを構築するにはISOイメージが必要になるためダウンロードしていきます。
1. 公式サイトへアクセス
まずは公式サイトへアクセスを行い、「ARM64」を選択します。
2. ミラーサイトへアクセス
表示されるミラーサイトへアクセスを行います。
3. ISOイメージをダウンロード
表示されるISOイメージをダウンロードします。
仮想マシンを構築
仮想マシンを構築する準備が整ったため、ここからはUTMを使って実際に仮想マシンを構築していきます。
1. UTM起動
UTMを起動し、「新規仮想マシンを作成」を選択します。
2. エミュレート
下にあるカメのアイコンの「エミュレート」を選択します。
3. オペレーティングシステム
OSの選択画面に移るので「Linux」を選択します。
4. ISOイメージの選択
ここで先ほどダウンロードを行ったISOイメージを選択します。
5. ハードウェア設定
「アーキテクチャ」や「仮想マシンに割り当てるメモリ」「CPUのコア数」を選択します。アーキテクチャは「ARM64」を選択し、メモリとCPUのコア数は仮想マシンをどのように使用するかで設定値が変わるため、お好みで設定を行ってください。特にこだわりがない場合は使用するPCスペックの半分の値を超えないように設定を行いましょう。
6. ストレージ設定
仮想マシンに割り当てるストレージ容量の設定を行います。こちらも使用用途に合わせてお好みで設定を行ってください。
7. 共有ディレクトリ設定
ホストとゲストで共有するディレクトリの指定が行えます。こちらの設定は後から変更することも可能なためそのまま進めます。
8. 設定内容確認
最後にこれまで設定を行った内容が確認できるので問題がなければ仮想マシンの名称を設定し、保存を行います。
9. 仮想マシン構築
ホーム画面に戻ると先ほど作成を行った仮想マシンが表示されるため起動を行います。
CentOSのインストール
CentOSを入れるための仮想マシンが構築できたため、ここからは仮想マシンを起動してCentOSのインストールを行っていきます。
1. 仮想マシンを起動
先ほど作成した仮想マシンを起動し、「Test this media & install CentOS 7」を選択します。
2. 言語選択
インストールに使用する言語の選択に移るので「日本語」を選択します。
3. インストールの概要
最初は「インストールソース」「ソフトウェアの選択」「インストール先」にアイコンが付いており、インストールに進めないのですが、自動的にチェックが済まされアイコンが消えます。ただし、インストール先だけは自身で設定を行わないと進めないため、「インストール先」を選択します。
4. インストール先の設定
CentOSをインストールするディスクを選択します。特に変更がない場合はそのまま左上にある「完了」を選択し、インストールの概要へ戻ります。
5. インストール
概要に戻ると右下にある「インストールの開始」が選択出来るようになるのでインストールを始めます。
6. ユーザー設定
インストールを待つ間にユーザー設定を行います。お好みのROOTパスワードとユーザーの作成を行ってください。
7. 仮想マシンをシャットダウン
インストールが終了したら使用したISOイメージを取り除かないといけないため、右下の再起動は「押さずに」仮想マシン自体をシャットダウンします。
8. ISOイメージを取り除く
仮想マシンをシャットダウンしたらUTM上で先ほど作成を行った仮想マシンを選択し、「CD/DVD」を選択します。 すると削除の項目が表示されるため使用したISOイメージを削除し、仮想マシンを起動します。
9. ログイン
起動するとログインを求められるため、インストール時に作成を行っていたユーザー情報を入力します。
10. 完成
ログインが行えると[ユーザー名@localhost~]$ と表示され、使用出来る状態となります。
まとめ
今回はMacBook AirにUTMを用いて仮想マシンを構築し、CentOSをインストールする手順を紹介致しました。
コンピューターは様々なパーツで構成されており、ハードウェア単体では動作を行えませんが、それらを指揮する管制塔のような役割を担うOSをインストールすることでコンピューターとして使用出来るようになります。OSにも沢山の種類がありますが、今回はその中でもサーバーやシステム開発を行うコンピューターに使用される機会の多いLinuxをインストールしました。仮想マシンを使用することで誰でも簡単に環境構築が行え、Linuxに触れることができます。エンジニアを目指す上で基本的なコマンド操作やシステムの設定など、Linuxに関する知識はとても重要となってくるため、本記事を参考にLinuxに触れてみましょう。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2024.05.27
エンジニア初学者必見!基本シェルコマンドでファイル操作をマスター
本記事では、基本的なファイル操作コマンドを中心に、その使用方法と活用例を解説します。
- Linux
2024.03.18
エンジニアがLinuxコマンドを習得する理由
この記事では、「エンジニアがLinuxコマンドを習得する理由」について解説しています。その他、「初学者が知っておきたいLinuxの基本」や「Linuxの学習方法」も紹介しているので、初学者はぜひ参考にしてください。
- インフラエンジニア
- Linux
2024.07.15
Linuxの認定資格LpicとLinuCどっちを取得すべき?
資格は複数ありますが、中でも代表格がLinuC(リナック)とLPIC(エルピック)です。どちらも評価される資格ですが、どちらに挑戦すればいいかわからない方も多いでしょう。
- Linux