私は、Personal用途とWork用途で仮想マシンを使い分けており、公私混同しないように心がけています。
つまり、ホストOSではブラウザを利用しないことによってセキュリティ対策を講じています。
パスワードの管理には以前より KeePassXC を利用しており、現在はネットワークを切断したVirtualBox内の Fedora Workstation で動作させています。
しかし、FedoraWorkstationははじめから様々なソフトウェアが搭載されているため、かなり重量級なディストリビューションとなっており、パスワードの管理程度でしか利用しないのに、計算資源を無駄に利用しています。
そこで、自分自身で必要なパッケージを選択し、導入することによって軽量化することができる Arch Linux に KeePassXC を入れて運用したいと考え、インストールしました。
数ヶ月経ったら忘れてしまいそうなので、ここに忘備録として残しておきます。
Arch Linuxのインストール
Arch Linuxのインストールはコマンドベースで難しい印象でしたが、 archinstall という機能を用いることで、対話ベースのCUI操作でインストールすることができました。
起動
isoファイルから起動するとこのような画面になり、Enterを押して進めるか、タイマーが0になるのを待ちます。
archinstallを用いたインストール
キーボードを受け付けるようになったら、キーマップなどの変更をせず、次のように入力し実行します。
archinstall
キーマップの設定
色々な言語が表記されていると思いますが、日本語はありません。 手動で選択することができます。
日本語キーボードを利用している場合は
jp106
と入力します。
リポジトリなどのサーバの場所の設定
たぶんこの記事を読んている方は日本住みだと思いますので、‘Japan’を選択します。
インストール先の設定
今回はVirtualBoxで8GBのディスクを作成したので、size=8.0GB
の/dev/sda
を選択します。
1
と入力すると、選択したディスクに>>
が付きますので、そのまま再度Enterキーを入力します。
パーティションの設定
Linuxのインストールで悩ましいパーティションの設定ですが、デフォルト設定で問題ありません。
フォーマットの設定
お好きな物でどうぞ。
軽い用途でしか利用しないので、ext4
にします。
ディスクの暗号化
物理マシンにインストールしているならディスク暗号化を施しておくのが良いと思います。
今回の用途は別の仮想マシンからパスワードマネージャにアクセスさせないことが目的ですので空白で十分です。
Swapの設定
zram を利用するか聞かれます。Swap領域に機密性の高いデータが書き込まれる事によるセキュリティの問題がありましたが、その対策が施されているようです。
ホスト・ユーザの設定
ホスト名やユーザ名、パスワードを入力します。
rootアカウントは作成せず、superuserで操作する派です。
プロファイル名の選択
用途によってプロファイルを選択することができます。
今回の用途ではデスクトップ画面でKeePassXCを動かすので、xorg
を選択します。
グラフィックドライバの選択
仮想マシンなので、それっぽいものを選びます。
オーディオの選択
とりあえず一番上のpipewire
を選択しましたが、オーディオ機能は利用しませんのでnone
でも十分だと思います。
また、pulseaudio
のほうがデータが多く、トラブル時でも対処しやすいと思うので好きなものを選んだほうが良いと思います。
Linuxカーネルの選択
無難にlinux
を選択しました。
カーネルレベルからセキュリティを考慮する方はlinux-hardened
を選ぶと良いのではないでしょうか。
その代わり、コンテナ系のアプリケーションを利用している場合、動作しなくなる恐れがあるようです。
1
時間ができたらhardened版のカーネルを利用してみたいと思います。
任意のソフトウェアを選択する
インストールと同時に好きなソフトをインストールできます。
ネットワークアダプタとタイムゾーンの設定
ネットワーク機能はインストール時とKeePassXCインストール時にしか利用しませんのであまりこだわらなくて良いと思います。
すでに見つかっているenp0s3
でDHCPでIPアドレスを取得する設定で問題ありません。
タイムゾーンの設定はAsia/Tokyo
です。
インストール開始
Enterキーを押すとインストールが始まります。
少し待ちます。
![start-install(22.PNG)
始めの設定でJapanを選択するとjaistのサーバが選択されるようですね。
インストール完了
poweroff
でシャットダウンして、VirtualBoxマネージャーからisoファイルを除去します。
デスクトップ環境の導入
Arch Linuxを起動すると、コンソールが起動し、セットアップ時に設定したアカウントでログインすることができます。
今回はGnomeを導入します。
Arch Linuxではpacman
です。
sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme gdm gedit
起動時にデスクトップを開くためにsystemdに設定します。
sudo systemctl enable gdm
設定完了後、再起動します。
reboot
再起動後、GUIなログイン画面が表示されます。
VirtualBox Toolsのインストール
メニューバーからGuest Additions CD
を選択し、インストールします。
自動的に起動し、管理者パスワードを求めてくるので入力し、再起動します。
KeePassXCのセットアップ
共有フォルダのマウント
KeePassXCのデータベースファイルをホスト側の共有フォルダに入れ、VirtualBoxの共有フォルダ設定から、一時的な共有フォルダの設定を行い、ゲストOSのターミナルに次にように入力してマウントします。
mkdir ~/share
sudo mount -t vboxsf HOST_Share /home/user/share
はじめに、マウントさせたいディレクトリを作成しておきます。今回はホームディレクトリ直下のshare
というディレクトリからアクセスできるようにします。
VirtualBoxの共有フォルダはvboxsf
グルーブでなければアクセスできないので、-t
でグループを指定します。
HOST_Share
はVirtualBoxの共有フォルダ設定で指定したフォルダ名を入力します。
一時的な共有フォルダをマウントしているため、ゲストOSを再起動すると共有フォルダは切断されます。
もしも、永続的に共有フォルダを利用したい場合は、/etc/fstab
の末尾に次のように記述します。
HOST_Share /home/user/share vboxsf defaults,uid=1000,gid=1000 0 0
VirtualBoxの共有設定にある『自動マウント』でマウントすると、アカウントのグループ設定などを行う必要があるため、管理者アカウントでのmount
コマンドでマウントする方法が楽だと思います。
日本語環境の構築
KeePassXCで扱うデータには日本語も含まれているため、日本語フォントを導入して豆腐を無くします。
ターミナルを開き、次のように入力します。
sudo pacman -Sy adobe-source-han-sans-jp-fonts otf-ipafont
日本語入力もしたいので、Mozcをインストールします。
sudo pacman -Sy fcitx fcitx-mozc fcitx-configtool
.bash_profile
にfcitxの設定を記述します。
nano ~/.bash_profile
次のような設定を末尾追記します。
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
Gnomeの検索からfcitx configuration
を見つけ、実行し、Input Methodの追加でMozc
を追加します。
一旦ログオフして再度ログインします。
ログイン後、日本語入力ができます。
KeePassXCをインストールする
KeePassXCのダウンロードページ にArch Linuxへのインストール方法が記述されているので、そのとおりに入力します。
sudo pacman -S keepassxc
インストールできました。
その後、VirtualBoxマネージャーのネットワーク設定でネットワーク機能を無効化することによって、オフラインな環境ができあがります。