出典:Qubes OS, GPL, via Wikimedia Commons |
Qubes OSは、単なるデスクトップOSであり、正確にはこのOS自体はLinuxディストリビューションではない。
システムを動作させる基本のAdminVMのディストリビューションはFedoraだ。
そのため、このAdminVMのFedoraを常に最新の状態にしておくことが望ましいので、まずはFedoraを最新バージョンまでアップデートしておくことにした。
Fedoraのアップグレード 1:古いバージョンと新しいバージョンの置き換え
インストール時(2020年12月、Qubes OSのバージョン:4.0.3)、AdminVMのFedoraのバージョンは30だ。
現時点で、Fedoraがリリースしている最新バージョンは33だが、Qubes OS側でのリリーススケジュールでは32のため、そこまでアップグレードすることにした。
注)Qubes OSでのスクリーンショットのやりかたがまだわからず、文字のみの説明になることをお断りしておく。
通常のLinuxディストリビューションのアップグレードのように、テンプレートVM内のGnomeソフトウェアや端末を利用してアップグレードすることはできない。ホストドメインと言われるDom0にて、各テンプレートVMをアップグレードする。作業は全て端末からだ。
いきなりバージョン番号を飛び越えて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!のおすすめ本】
コメント