Qubes OS #2 – 基幹システムのFedoraをアップグレード|ざっくりLinux!- 48

出典:Qubes OS, GPL, via Wikimedia Commons

Qubes OSは、単なるデスクトップOSであり、正確にはこのOS自体はLinuxディストリビューションではない。システムを動作させる基本のAdminVMのディストリビューションはFedoraだ。それ以外に、Debian、Whonixという異なったディストリビューションがデフォルトでインストールされ、Dom0という基本システムVMのもと、目的によって各ディストリビューションを使い分けることができる。

そのため、このAdminVMのFedoraを常に最新の状態にしておくことが望ましい。インストール時(2020年12月、Qubes OSのバージョン:4.0.3)のFedoraのバージョンは30だ。現時点でFedoraがリリースしている最新バージョンは33だが、Qubes OS側でのリリーススケジュールでは32のため、そこまでアップグレードすることにした。

注)Qubes OSでのスクリーンショットのやりかたがまだわからず、文字のみの説明になることをお断りしておく。

Fedoraのアップグレード 1:古いバージョンと新しいバージョンの置き換え

通常のLinuxディストリビューションのアップグレードのように、テンプレートVM内のGnomeソフトウェアや端末を利用してアップグレードすることはできない。ホストドメインと言われるDom0にて、各テンプレートVMをアップグレードする。作業は全て端末からだ。
インストールされたFedoraのバージョンは30だが、いきなりバージョン番号を飛び越えて32までアップグレードすることはできないため、30->31、31->32と、同じ手順を2度行うことになる。

最初に、Dom0の端末で以下を行う。

$ sudo qubes-dom0-update qubes-template-fedora-XX(アップグレードするバージョン番号)

途中聞かれることは全て「y」にて答えておく。これにより、新しいバージョンのテンプレートVMが作成される。新テンプレートVMは、デフォルトでネットワークに接続していないので、Qube Settingsを開いて「Networking」をsys-firewallとする。その後、Qube Managerにて更新する。

その後、画面左上のApplications Menu –> System Tools –> Qubes Global Settingsを選び、「Default template」にて新しいバージョンのFedoraを指定する。

次に、USBで接続しているマウスなどのバージョンを変更するため、以下をDom0の端末にて行う。なお、「new_template」は、以下アップグレードされたFedora名(Fedora-31など)に置き換えて読んで欲しい。

$ qvm-shutdown --wait sys-usb; qvm-prefs sys-usb template new_template; qvm-start sys-usb

再びマウスが正常に動くようになったら、以下を行う。
Applications Menu –> System Tools –> Qubes Template Managerを選び、ここで各VMで表示されている古いバージョンのFedoraから、新しいバージョンのものに全て変更する。この時点で、sys-firewallとsys-netはまだ動作している状態なので変更できない。そこで、Qube Managerにてこの2点を「kill qube」すると、Qubes Template Managerでの変更が可能となる。

最後に、DisposableテンプレートVMを新しいバージョンにするため、以下を端末で行う。

$ qvm-create -l red -t new_template new_template_dvm
$ qvm-prefs new_template_dvm template_for_dispvms True
$ qvm-features new_template_dvm appmenus-dispvm 1
$ qubes-prefs default-dispvm new_template_dvm

Qube Managerには古いDisposableテンプレートVM(Fedora-30-dvm)と新しいDisposableテンプレートVM(Fedora-31_dvm)の2つがあるので、古いほうを右クリックでDeleteする。確認のため、古いDisposableテンプレートVM名をタイプするよう要求されるので、その通りに。

新しいFedoraテンプレートVMの作成・デフォルト設定が完了したら、古いバージョンのFedoraテンプレートVMを以下の通り削除する。

$ sudo dnf remove qubes-template-new_template

終わったら再起動し、新しいFedoraテンプレートVMを更新する。Qube Managerの更新からアップデートしておく。更新しておかないと、次のアップグレードで必ず何らかの支障が出る。更新はまめに行うのが、Qubes OSの鉄則のようだ。

Fedoraのアップグレード 2:クローン作成によるアップグレード

上記方法で30->31まではできたが、31->32がどうしてもできない。何か方法はないかと、再度公式サイトのドキュメントを読み直す。そして、もう一つのアップグレード方法があることを見逃していた。
古いFedoraテンプレートVMを新しいテンプレートVMに置き換えるのではなく、クローンを作成し、そこでアップグレードを試みるというものだ。手順は多いがこちらで試してみることにした。

最初にDom0の端末で以下を行う。古いバージョンのテンプレートVMをシャットダウンし、クローンを作成・クローンの端末を作成する。バージョン31->32のアップグレードなので、以下「old_ver」は31、「new_ver」は32と置き換えて行う。

$ qvm-shutdown fedora-old_ver
$ qvm-clone fedora-old_ver fedora-new_ver
$ qvm-run -a fedora-new_ver gnome-terminal

次に上記で作成されたクローンのテンプレートVM(Fedora-32)の端末を開き、以下を行う。

$ sudo dnf clean all
$ sudo dnf --releasever=new_ver distro-sync --best --allowerasing

途中、y/nを聞かれたら、全て「y」を選んでおく。

クローンのテンプレートVMでアップグレードが完了したら、以下でバージョンを確認する。

$ cat /etc/fedora-release

再びDom0の端末を開き、アップグレードされたテンプレートVMをシャットダウン。

$ qvm-shutdown fedora-new_ver

その後、アップグレード1のQubes Global Settings以下の手順に従う。これでFedora-32へのアップグレードが完了した。

最新バージョンまでアップグレードが完了したら、日本語環境、日本語入力の設定を再度行う(前回記事参照)。前回、先に日本語環境の設定、日本語入力設定を下が、このアップグレードが終わってから行った方が良いと感じた。

ソフトウェアのインストール

最低限のソフトウェアとして、FireFoxとThunderbirdはインストール済みだが、それ以外は必要なソフトウェアを自分でインストールしなければならない。ソフトウェアのインストールは、日本語環境の設定時同様、全てFedoraテンプレートVMにて行う。ここでは、GnomeのGUI、ソフトウェアも利用できる。

ひとたびFedoraテンプレートVMにてインストールしたソフトウェアは、Personal、Work、Untrusted、VaultのいずれのVMでも改めてインストールする必要はなく、すぐに使用可能だ。

インストールしたソフトウェアを起動するには、左上のアプリケーションメニューから起動したいVMのQube Settingを開き、Applicationタブを開く。左側にはインストール済みのソフトウェア名があるので、これを右側に移せば、以後アプリケーションメニューから簡単にソフトウェアを起動することができるようになる。

各VM内でソフトウェアを使用して作成されたファイルは、それぞれのVM内「Files」に格納されている。例えば、PersonalのFilesに格納されたファイルは、Worksで同じソフトウェアを開いてもみることができない。これが、各VMが独立したコンパートメントたる特徴だ。

各VMのFilesは、ネットワークに接続することも可能だ。すでにSambaは利用可能になっているので、接続したい外部デバイスのIPアドレスを打って接続することができる。筆者は外付けHDDを利用しているので、仮にこのIPアドレスが「192.168.1.100」であれば、Filesでのサーバー接続アドレス欄に「smb://192.168.1.100」と打てば、簡単に外付けHDDにアクセスできる。

次回予定

Qubes OSの公式サイトでは、アンチウイルスソフトでの制御には限りがありため、コンパートメント化によるセキュリティを推奨している。一つのコンパートメントたるVMが、仮にマルウェアなどのウイルスにかかったとしても、他のVMとは完全に隔離されているため安全、というのがQubes OSのセキュリティだ。朧げながら、この理屈は理解できてきた。

普段使用するソフトウェアをインストールして、ようやく通常作業ができるようにはなったが、まだスクリーンショットの方法や、VM間のファイルのコピーや移動、そして肝心なセキュリティの仕組みについて、十分に調べられていない。これらを調べたのち、次回記事をアップさせる予定だ。

Qubes OSに関する日本語記事自体が少なく、参考になるものもあまり多くない。この記事は公式サイトのドキュメントを元に、自分であれこれ試しながら書いたものなので、もし違う点があれば是非ご指摘いただきたい。

【ざっくりLinux!のおすすめ本】

コメント

タイトルとURLをコピーしました