Omarchy + 仮想マシンで作る 「Linux プレイグラウンド」 ― KVM/QEMU で多彩な OS をいつでも起動
最近ちょっと寒くなった日が多くなってきましたね。寒くなったらやはり鍋がいいですよね。作るのが簡単で数食分食べれてそして体が温まります。
Omarchyをメインマシンしましたが、初心者にすごい優しいLinuxディストリビューションではないです。DHH氏のおまかせでプリインストールされたアプリと設定ファイルは、あまり問題ないですが、Arch自体は基本的にベアボーンOSなので新たにインストールするアプリが使えなかったり、色々設定をいじらないと動かなかったりします。しかも、設定失敗したら、動かなかったりします。一度やらかしまして、ゼロから再インストールしました。
そのため本番のPC設定する前に別のPC、もしくは仮想マシンで試したいものです。また、他のLinuxディストロも試したり、併用して便利なアプリを使うことができます。
この記事では、OmarchyにKVM/QEMUで動かす仮想マシンのインストール手順を紹介します。
以前の記事でLinux MintにKVM/QEMUについて紹介しましたので、だいたいの流れは一緒です。ただし、Linux Mintの元祖はDebianと言うOSのに対して、OmarchyはArch Linuxです。使うコマンドが違います。
KVM/QEMUインストールの大まかなステップは以下の目次の通りです。
①アップデートします
sudo pacman -Syu②必要なソフトウェアパッケージをインストールします
sudo pacman -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat libguestfsArch LinuxのKVM/QEMUインストールについて調べたら、ebtables iptables nftablesもインストールする手順になってますが、Omarchyはそれらがもうインストールされてるみたいで、そのtables 3兄弟は入れなくれても大丈夫です。
③システムグループにユーザー追加
libvirt – 仮想化管理デーモン(libvirtd)と kvm – カーネルベースの仮想マシン(KVM)に直接アクセスできるようにアクセス権を与えるコマンドです。
sudo usermod -aG libvirt,kvm $(whoami)このコマンドの後ログアウトしてログインした後有効になります。
④デーモンサービス開始
sudo systemctl enable --now libvirtdこのコマンドはlibvirtデーモンを有効化し、同時に起動してくれます。
⑤仮想マシンのネットワーク設定・確認
sudo virsh net-list --all仮想マシン用ネットワーク設定が用意できているか、確認します。OKの場合、以下になります。だめな場合は表の内容が空っぽの状態になります。

設定ができてなかった場合、以下のコマンドで有効にします。
sudo virsh net-start defaultsudo virsh net-autostart default以上で仮想マシンの準備は完了した、はず、でしたが、
ゲストOSを入れてみたら、どうしてもネットワークに繋がらなかったです
一休みして晩ごはんを食べた後、もう一回調べたら、 /etc/libvirt/network.conf の中のfirewall_backend設定が原因かもしれないと分かりました。iptablesに設定すれば問題が解決することが多いだと報告されています。調べによりますと、firewall_backend 設定は、libvirt が仮想ネットワークのトラフィック制御に使用するファイアウォールシステムを指定します。設定値は主に
iptables:従来の iptables を使用
nftables:新しい nf_tables フレームワークを使用
以下のコマンドで設定ファイルの中身を確認しました。catと/の間はスペースが必要です。
cat /etc/libvirt/network.conf今日も新しいコマンドについて学習しました。catは猫ではなく、ファイルの内容を出力するためのコマンドです。設定ファイルを直接開きたくない時は、このコマンドが便利ですね。以下の画像は私が設定を変えた後になっていますが、変更前の最後の行は以下の設定になっていました。
#firewall_backend = nftables
説明にも書いてありますが、firewall_backendの値が設定されてない場合、今回のようにコメントアウトされているなど、libvirt は[nftables, iptables]の中から利用可能な値を順番に自動的に選択します。つまり先にnftablesの方が選択されていたようです。最後の行の#を外して値をiptablesに変更したら、仮想マシンがネットワークにつながりました。
firewall_backend = iptables
参考までに、/etc/libvirt/network.confの編集はnanoと言うエディタをインストールして編集しました。lazyvimはまだ勉強中でですね。
⑥ゲストOS
ゲストマシンのインストール手順、ホストとゲストマシン間共有フォルダ設定手順は、以下の記事で紹介しました。記事ではLinux Mintがホストマシンでしたが、OmarchyでもLinux Mintと同じやり方で設定できましたので、是非参考にしてみてください。
ゲストマシンでインストールした・インストールしたいOSを紹介します。
<Linux Mint>
私のLinux入門OSでしたのでOmarchyで実行できないアプリはMintで実施しようと思います。

<Omarchy>
Omarchy in Omarchyです。アプリの試しインストールする時や、設定変更を試してみたい時に使います。設定ミスでOSが動かなくなったら、消せばので便利です。

<Cachy OS>
現在Distrowatchの1位のディストリビューションです。人気の理由を体験してみたいですね。一応インストールだけはしましたが、まだ使っていないです。インストールはGUIがあって難しくはなかったです。

<その他>
気になっているディストリビューション。
Zorin:初心者にすごい優しいと話題
Debian: Ubuntuをはじめ、多くのディストロの元祖
Manjaro:Arch Linuxの中で一番初心者に優しいと言われています
Nobara:ゲーム、コンテンツ作成に力を入れているらしい
Bazzite:ゲーマー向け、しかも携帯型ゲーム機PC仕様もあり
Fedora:Nobara、Bazziteの親的なディストロ
ChromeOS:Googleが作ったOS、アプリはGoogle縛りですが、Linuxと比較したい
以上
いいなと思ったら応援しよう!
記事が面白い、役に立ったと思った方へ、よければチップの応援をお願い致します。