1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

超初心者向け、VMwareにArchLinuxをインストールする。

Last updated at Posted at 2023-12-30

【趣旨と目標】
OSに関する基礎知識、仮想環境へのインストール手順、Linuxのコマンドを本記事を確認することで復習できる、また、親(70歳以上です)に教えて実行できるほど丁寧な説明が目標です(^^;
要約しつつ、画像多め、全力で説明文を書くことで伝わるという認識のもと、全力を出しますw表現も柔らかくしています。
上級者向け(実務に就かれている方)には、コード表記をしている箇所のみを見ていただければ、参考になる記事にしたいと思います。
なお、記事が長くなったため、コマンド練習は、次の記事で行いたいと思います。

環境
・windows11(ホストマシン(自分のPC))
・Arch Linux(ゲストマシン(仮想マシン))
・VMware Workstation 16 Player(非営利目的用)

割愛しているセットアップ
VMwareのインストール
参考サイト:https://segakuin.com/vmware/

内容
・はじめに
・参考サイト
・isoイメージのダウンロードとインストール
・OSの設定
・疎通確認の儀
・パッケージマネージャーを設定
・SSHサーバーを設定し、SSH接続を受け付けることができる設定を行う。
・SSH接続、つまり疎通確認2回目の儀
・さいごに

はじめに

ザクっとやりたいことをリマインド。超初心者に向けて、仮想環境で、Linuxを使える状態までもっていく。そのためにクドイほどに説明する。そして私の技術も向上させる。
もし困ったことがあったらお申しつけください。私も狭い交友関係から全力で指導を乞いますw

全般(参考サイト)

全般、Arch Linuxをvmwareの仮想環境にインストールして、使える状態まで設定することを行います。
1 ArchLinuxのインストール全般について解説されています。
https://youtu.be/l8YPS2itHfU
2 全般について細かく設定要領が記載されたwebサイト
https://wiki.archlinux.jp/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8

isoイメージのダウンロードとインストール

isoイメージのダウンロードとインストールとは。
参考サイト:https://wa3.i-3-i.info/word15853.html
ダウンロードとインストールとは。
参考サイト:https://biz.trans-suite.jp/36572

超簡単にまとめると:「本来CDやDVDという媒体に入っているデータを、データだけファイルにまとめたものをPCに入れて設定する。」ということ。

最初に、イメージをインストールすることが必要ですので、次のwebサイトに接続して、ダウンロードしていきます。
ダウンロードに関する説明(wiki)webサイト:
https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89
(wikiとは:協力して情報を共有するためのサイトのこと。)

中々先に進めない(;'∀')

実際に進めていきます。次のサイトにアクセスします。
ダウンロードwebサイト:https://www.archlinux.jp/download/
image.png
画面を下にスクロールして赤枠内をクリック
image.png
赤枠内をクリック
image.png
すると、ダウンロードが開始されます。次の画像は、MicrosoftEdgeの画像になりますが、GoogleChromeも似た表示になります。多少時間がかかるので、待ちましょう。
image.png
ダウンロードが完了している場合は次の箇所にデータがあると思いますので、確認してみましょう!
image.png
PC自体の検索窓に「エクスプローラー」と入力し、エクスプローラーをクリック。
image.png
するとこのような表示が現れると思いますので、ダウンロードをクリックします。
すると次の画像のようにデータがあるのが分かると思いますので、確認ができたら、バッテンで画面を閉じてしまいます。ここではデータに触らないでOK!
image.png
次に、インストールしていきます。
次のVMwareのアイコンをクリックし、VMwareを立ち上げます。
image.png
立ち上がると、次のような画面になるので、赤枠内の新規仮想マシンの作成をクリックします。(Red Hut~は気になさらずです。)
image.png
すると、次の画像のとおり表示されるので、順番に気を付けて設定していきます。
image.png
元のウィザード画面に戻るので、次へをクリックします。
image.png
osをしっかり選択していきます。
image.png
バージョンの欄をクリックしたら次の画面になるので、「その他のLinux5.xカーネル64ビット」を選択します。
image.png
次のとおり、元のウィザード画面に戻るので、次へをクリックします。
image.png
仮想マシン名を決めていきます。私の場合を表示していますので、このままのネーミングをしても良いですが、鬼滅の刃が好きなんだろうなと思われてしまうのでお勧めしません(笑)Sun Breathing日の呼吸。。。めっちゃ強い呼吸ですね(笑)
image.png
次に、ディスク容量を決めます。アプリデプロイや追加のソフトウェアをインストールする予定があれば、余裕をもって設定することをお勧めいたします。今回の場合コマンドの練習しかしないので、デフォルトの8GBでも構わないのですが、多少の余裕を持たせて10GBで設定することにしました。
image.png

ここでディスクを複数に分割するか否か聞かれていますが、基本的には「単一ファイルとして格納」を選択することで問題ないと思料します。以下参考サイトを貼っておきます。
https://pepe-log.com/vmware-vmdk-1/

それではインストールの準備を完了させるのですが、少しだけカスタマイズします。
image.png
蛇足:この画像にあるハードディスクとは、仮想マシンに割り当てるディスク領域。arch Linuxさんは、10GB以内で仕事してね。ということ。メモリは、素早く動作するためにデータをあらかじめ取っておく容量になるので、この数値が少ないと反応の悪いPCが出来上がるということになるため、多少容量を向上させるカスタマイズを行う。本記事の内容である場合、メモリを向上させる必要があるかと言われれば、多少の余裕が欲しいという感じですかね!反応が遅すぎるosでは学習に支障が出る!たぶん!慣習的に向上させる部分も正直あるのですかね?そんな気がします。

続けます。
つまみを操作し、2GBに合わせます。丁度2GBにはならないのですねー。そして閉じるをクリックすると、元の画面に戻ります。
image.png
設定内容を確認し、問題なければ完了をクリックします。
image.png
自動的に次の画面になるので、再生したい仮想マシン(今回ではarch Linux)をクリックして選択し、仮想マシンの再生をクリックします。
image.png
仮想マシンを再生するとかっこいい画面に自動的に遷移していきます(笑)
image.png

ここから少し緊張感が出てきますが、何も問題ありません。現状としてはまだインストールは行われていない状態で、パーティションの状態やハードディスクの状態をコマンドを叩いて確認します。
まず、vmwareの画面の枠内を一度クリックし、コマンドが入力できる状態にします。(これをしないと、vmware内に文字が打ち込めません。)
そしてコマンドを入力します。

lsblk

出力内容は次のとおりです。
image.png

☆心が折れるポイントですねーーーーー(p_-)
一回関連する知識を整理し、出力結果を紐解きます。
Linuxのディレクトリ(windowsでいうフォルダ)の構成とパーティションについて、さらっと理解します。
Linuxのディレクトリ構成の参考動画:https://youtu.be/bzqrlef15wI
パーティションとディレクトリ構成:https://eng-entrance.com/linux-partition

要するに、専門用語に慣れる必要があるため、一度どういった言葉があって、出てきた言葉が意味するものを少しずつ理解する必要があるということ。
CCNAの学習でもそうでした。まずその時理解してみる。そして何回も見ることで長期記憶に定着する感覚ですね!現状lsblkコマンドで出力された文言を翻訳できない。。。
私なりに簡単にまとめたものは次のとおりです。
image.png

以下lsblkコマンドでの出力結果について蛇足:
「loop0」loop0 デバイスに ISO データを関連付けて、指定したディレクトリにマウントするもの。
「sda」システム全体の機能に関するデータが格納された最初のハードディスク(2番目はsdb)。WindowsでいうCドライブやDドライブのこと。
「sr0」CD,DVDドライブというデバイス名であって、デバイスを管理するドライバのメジャー番号が11で、ドライバが管理するデバイスを0と識別していますよー。
ここで読み取らなければならないのは、【作成したハードディスクがあること。】【マウントされていない。】【パーティションで分割されていない。】ということ。
なのでこれから、パーティションで分割し、ドライブをマウントしていきます。

なんとなくイメージつきますでしょうか?

パーティションの管理を行うツール「cfdisk」を使用してsdaというハードのパーティションの表示、編集を行います。次のコマンドをそのまま入力し、Enterを押下します。

cfdisk /dev/sda

※cfdiskの後は半角スペースがあります。
このコマンドを実行すると、次の画面になり「gpt」を選択します。
これは、cfツールを使用してdev/sdに適用する場合これを選択するということ。
image.png

次はこのような広い空間にちょこんと入力画面が表示されます。
image.png
image.png
①矢印ボタンで[NEW]を選択し、Enterを押下します。
②デフォルトではディスク容量が次の様に表示されています。
image.png
③これをバックスペースで消して、「1M」と入力し、Enterを押下します。
image.png
④すると次の画面になります。
image.png
⑤ここで矢印ボタンで「Type」を選択し、Enterを押下すると次の画像の画面に遷移します。
image.png
image.png
⑥「BIOS boot」を矢印ボタンで選択してEnterを押下します。
image.png
⑦するとこの画面に戻ります。お帰りです!
image.png
蛇足:
BIOSとは、ハードを管理するもので、osより先に起動する母(マザーボード)なる存在
bootとは、osを起動するプロセスで、どのドライブから起動するか選択したりできるもの。

⑧次にスワップスペース(メモリ不足の際に活躍する仮想メモリ)を作成します。
「free space」を矢印ボタンで選択し、「NEW」を選択してEnterを押下します。
image.png
image.png
⑨最初は次のように表示されます。
image.png
⑩今表示されているものをバックスペースで消して、「4G」(メモリとして設定した数値の2倍の数値)と入力してEnterを押下します。
image.png
⑪このような表示なります。徐々にパーティションができてきましたね!
image.png
⑫先程と同様、「Type」を矢印ボタンで選択してEnterを押下します。
image.png
⑬次に「Linux swap」を矢印ボタンで選択して、Enterを押下します。
image.png
⑭残りのディスク容量が表示されている項目を矢印ボタンで選択し、「NEW」を選択、Enterを押下します。私の場合はディスク容量10GBで設定し、4GBをBIOSなどに使ったので、残る6GBが表示されていますね!
image.png
image.png
⑮このままEnterを押下します。
image.png
⑯お帰りなさい(笑)
image.png
⑰ここで設定を記憶させるために、矢印ボタンで「Write」を選択してEnterを押下します。
image.png
⑱画像のように「yes」と入力して、Enterを押下して保存します。
image.png
⑲お帰りなさいw
image.png
⑳「quit」を選択し、Enterを押下して設定画面を閉じます。
image.png

改めてパーティションを確認していきます。

lsblk

しっかりパーティションができていることがわかりますね!しかし、diskがマウントされていません。後ほどマウントします。
image.png

続いて、作ったパーティションを使える状態にするために、初期化(からっぽ)にして、このパーティションにアクセスできるように設定します。なお、BIOSのために作成したパーティションを除きます。

フォーマットを行います。次のコマンドを入力し、Enterを押下します。

mkfs.ext4 /dev/sda3

ファイルシステム(mkfs)を作成して、拡張ファイルシステムのバージョン4(ext4)を、dev/sda3に割り当てるという内容になります。
image.png

次に、スワップ領域(メモリ不足の際に活躍する仮想メモリでしたね!)をフォーマットします。※これだけではまだ使える状態ではない。

mkswap /dev/sda2

このコマンドを入力し、Enterを押下します。
image.png

次にスワップを有効にします。これでスワップが有効になる。

swapon -a

画面は特に変化ありません。不安になりますがw

やっと、ユーザーが使用する領域をマウントしていきます。

cd /mnt

画像のように移動することができました。
image.png

移動した先でユーザーが使用する領域6GBのsda3をマウントしていきます。

mount /dev/sda3 /mnt

コマンドに半角スペースが空いていますので以下分かりやすく↓
image.png

マウントできているか確認していきます。1つ上の階層に移動します。次のコマンドを入力して、Enterを押下します。

cd ..

image.png
image.png
移動できていますね。

現在地を確認します。次のコマンドを入力し、Enterを押下します。

pwd

image.png
現在地がイメージできますね。

先程マウントしたディレクトリに入ります。次のコマンドを入力し、Enterを押下します。

cd mnt

image.png

ここからマウントできているか確認を行い申し上げる緊張の時ですw
ディレクトリなどの存在を一覧で確認します!

ls

image.png
「lost+found」というディレクトリができていればOK!!
システムがクラッシュしたものが格納されるディレクトリがlost+foundという認識もあるようですが、正常に回復して、正常にシステムが起動できていると解釈する時もあるとのこと。

次にosファイルを全てこのディレクトリにコピーする作業(インストール)を行います。

pacstrap /mnt base linux linux-firmware nano grub dhcpcd

最後は「dhcpcd」には気を付けて入力しましょう。
これでArchLinuxの基本的なシステムがインストールされます。
次のようなスクリプトが流れて、2~3分で完了します。
image.png

OSの設定

流れ:
・マウントのための情報収集
・システム起動時に自動的なマウントを行う設定を行う。
これによってシステムが正しく起動するためのマウント情報が保存される大事な工程。

以下のコマンドを実行し、genfstabツールによってマウントポイントと関連するファイルシステムの情報を取得します。
つまりマウントするための必要な情報を取得するということ。

genfstab /mnt

半角スペースがありますので気を付けましょう。
image.png
マウントされている場所のパス(どこにマウントされているか。)、ファイルシステムのタイプ(ext4)rwは読み書きができるファイルであるということやrelatimeといったファイルへのアクセス時刻を記録するオプションが記載からわかります。

次に、取得したマウント情報などをetc(エトセトラ)ディレクトリのfstabというファイルに記載してくれるコマンドを実行します。

genfstab /mnt >> /mnt/etc/fstab

特に画面の変化はありません。スペースの感覚は掴めたでしょうか??
image.png

OSを起動する前の設定を事前に行うために仮想rootディレクトリを作成します。
つまりインストール工程の最中ではbootの設定はできないので、仮想環境を作ることでbootの設定を事前に行うということ。

arch-chroot /mnt

次にrootのパスワードを設定していきます。

passwd

このコマンドを入力し、Enterを押下した後、任意のパスワードを入力します。入力中はパスワードが画面に表示されない設定となっているので、知っておきましょう!

今現状は次の画像の通りとなっています。
image.png

ブートローダー(GRUB)をインストールします。
今回はOS起動時に動作してほしいので、ハードディスクにインストールします。「sda」であることに注意しましょう。

grub-install /dev/sda

これは、OS起動時においてのメモリ設定や、複数OSがインストールされていた場合の起動するOSを選択設定などを行うGRUBというブートローダー。
つまり、OS起動時に必要な設定を適用してくれる機能
image.png

grubの設定ファイルを作成していきます。

grub-mkconfig -o /boot/grub/grub.cfg

image.png

CLIセッションを終了します。

exit

image.png

各種設定を行ったので、再起動をかけます。

reboot

次の画面で「root」と入力し、windowsでいう管理者権限でログインします。
パスワードは先程設定した任意のパスワードになります。
image.png

疎通確認の儀

さて、やって参りました。恒例の疎通確認の儀式です。
用意はよろしいでしょうか。

嫌な結果になっても、、私を恨まないでください(笑)
冗談です。困ったことがあればお申しつけください。

では、ICMPを利用したプログラム、「ping」という恐ろしい疎通確認手段。(正当な通信確認です。)
次のコマンドを入力し、Enterを押下します。

ping -c 2 archlinux.org

image.png
おわっ、、、、ていません。ひとまず名前解決をしようとして一時的に失敗したようですね。

先に次のコマンドを実行すべきだったのかな。
dhcp(通信するための情報を得るもの。)サービスの開始を行うコマンド

systemctl start dhcpcd

画面の変化はありません。

この後、再びpingを飛ばすと、次の画像のとおり疎通できました!!!
image.png

システムが起動した際に自動的にdhcpcdが有効化される設定を行う。

systemctl enable dhcpcd

image.png

パッケージマネージャーを設定する。

蛇足:
Linuxは色々な系統があり、それぞれ特徴があって、それぞれに設定を行うコマンド(固く言うとパッケージ管理ツール)があり、「システムのパッケージリストを更新したい。」と思った時コマンドを例に提示してみますね。
例1:Red Hut系(お仕事で使うLinuxというイメージでOK)

sudo yum update

例2:Debian系(初心者の味方、初心者のサーバー構築に向いている。)

sudo apt update

例3:Arch系(ここの説明は後で行います。)

sudo pacman -Sy

このようにLinuxの種類によってコマンドが変わってくるのです。が、基本の考え方は同じと考えますので、今回の設定を進めちゃいましょう!
ちなみに、今回設定しているLinuxは当然、Arch系になりますので、認識しておきましょう。

それでは、パッケージマネージャーを設定していきます。
リマインドしますが、パケージ管理というとなんのことやねんwとなりますが「コマンドを打つ時に必須のもの」と理解して進めましょう。
Arch系Linuxでは、「パックマン(pacman)」がそれに当たるのです。パックマン(パッケージマネージャー)。。。センスしかありませんね(。・∀・)ノ゙♪

以下、パッケージマネージャーを設定するコマンド

nano /etc/pacman.conf

nanoという編集するツールを使って設定するでーという意味です。

次の画面になります。
image.png

次に、矢印ボタンで下にスクロールし、「multilib」の「#」にカーソルを当てます。「#」にカーソルを当てて、Deleteボタンを押下して削除することで、64ビットのパッケージで、32ビットのパッケージをインストールできる設定にします。
image.png
この様に編集できたらOK
image.png

次にキーボードの「Ctrl」ボタンを押下しながら、「x」エックスボタンを押下して次の表示が現れます。
image.png
そして、設定を保存するために、「y」ボタンを押下します。
するとこの表示が現れます。
image.png
ここで、Enterを押下します。

パックマン(pacman)を同期します。
先程少し触れたコマンドですね!
今既にroot権限なので、「sudo」は無しで、このまま実行します。
つまり、sudoは管理者権限で実行するコマンドになります。
「y」が1個か2個の違いは、初期設定だけ、2個で設定すると認識しましょう。2個は強制的に設定を再インストールするようです。
通常は1個、初期設定は2個ですねー。

pacman -Syy

image.png

SSHサーバーを設定し、SSH接続を受け付けることができる設定を行う。

OpenSSHパッケージをインストールします。SSH接続とは暗号化通信によって安全に通信するもの。です!伝わりますか?
例えばインターネットを介して大事な会社のデータを送信しないといけない!となった場合に、パスをかけて。。。などセキュリティの考え方や、対策は色々とあるかとは思います。SSH接続であると途中で改ざんされた場合の通信中断や、パスなどを通信元と相手方で交換するなどによって安全に通信することができるのです。
ということで設定を続けます。

pacman -S openssh

このような画面になり、「y」と入力して、Enterを押下します。
image.png
このようにインストールされます。
image.png

インストールされたので、サーバー側から見たSSH接続設定を開始します。
ユーザーからはSSHと言いますが、サーバーから見るとSSHD(デーモン)と言いますね。

systemctl start sshd

このコマンドで画面の変化はありません。
次のコマンドを実行します。

systemctl enable sshd

これはシステム起動時に有効化してねという設定です。
このような表示になります。
image.png

サーバーをテストするためユーザーを作成します。
今後ユーザーとしてコマンド練習する場にもなりますね。

useradd -m 任意のユーザー名(お好きに決めちゃってください。)

image.png
ユーザーのパスワードを決めましょう。

passwd 任意のパスワード(ここもお好きに。)

3回聞かれるので、3回同じパスワードを入力して、Enterを押下しましょう。
image.png

SSH接続、つまり疎通確認2回目の儀

もう恐れるものはなにもありません。
そう、疎通確認を行うのです。
ひたむきに入力や説明を行ったことを思いだすのです。
必ずや接続を達成するんや!
おー

ということで次のコマンドw

ssh keiji@localhost

※₁keijiの部分は先程任意で設定したユーザー名になります。
※₂私の端末だからなのか。。「@」は「Shift」を押下しながら「2」を押下します。
もうビビッていません。疎通確認を行うのです。
上記のコマンドを実行すると次の様に接続しますか?と出ますので、「yes」と入力し、Enterを押下します。
image.png
すると、私の場合keiji(任意のユーザー名)のパスワードを求められるので、パスワードを入力して、Enterを押下すると。。。
image.png
ログインできたー。
ちなみに、ログアウトする場合は、「exit」でログアウトできます。

さいごに
以下Microsoft Bingさんが答えてくれた内容ですが、「Arch Linuxは、カスタマイズ性が高く、自分好みに合わせて構成できます。ただし、初心者には少し難しいかもしれません。~中略~Arch Linuxを使用する場合は、Linuxについて基本的な知識が必要です。Linuxに慣れ親しんでいる人にとっては、非常に魅力的なオプションです。」・・・つまりムズイことをやっていたのです。
良くできました。🙌

今インプットすることが多いことや、次アウトプットしたいことが結構難解だと認識しているので、少し更新が遅くなるけど、継続します。
では。

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?