Lubuntu 32bit でも VeraCrypt は使える

一部ファイルは TrueCrypt 後継の VeraCrypt を使って暗号化しています。

普段使っている Lubuntu 18.04 LTS / Windows 10(ともに 64bit)はどちらも問題なく使用できているものの、モバイル PC に導入している Lubuntu 16.04 LTS では使えませんでした。
(Linux は 32bit 対応バイナリが日に日に増えているため)最初はそんなものなのかなーくらいにしか感じていなかったものの、公式レポジトリにあるのに使えないのはおかしいよね?と思い始めました。

その考えは、公式サイトを見て確信に変わります。

Linux(32bit)でも VeraCrypt は使える

base on VeraCrypt - Free Open source disk encryption with strong security for the Paranoid

Linux Legacy installer for 32-bit CPU with no SSE2

SSE2 非対応 32bit CPU で動く VeraCrypt が提供されている!!!
(今回は不要ですが、私が Lubuntu 16.04 LTS を導入している VersaPro VY12M/C-3 の CPU:Celeron M 443SSE2 には対応している模様)。

VeraCrypt エラー内容

実は、先日から VeraCrypt 自体は問題なく起動していました。
しかし、暗号化ファイルをマウントしようとすると以下のようなエラーが出てマウントできなかったため、安直に 32bit だからとさじを投げていました。

  • そのようなファイルやディレクトリはありません:dmsetup
    VeraCrypt::Process::Execute:108
    dmsetup.png

dmsetup とは

VeraCrypt 自体が導入できるのであれば、この dmsetup という文言が怪しいと踏んで調べてみたらビンゴでした。

dmsetup とは、ボリューム管理を操作するためのドライバの類です。

base on Debian -- buster の dmsetup パッケージに関する詳細

パッケージ: dmsetup (2:1.02.155-3)
Linux Kernel Device Mapper のユーザ空間ライブラリ
Linux Kernel Device Mapper は、ユーザ空間にあるデバイス配置の記録を保ちつつ ボリューム管理を操作するための、最小限のカーネル空間ドライバの実装で、 LVM (Linux Logical Volume Management) チームによるものです。これは LVM だけでなく、ソフトウェア RAID、その他 "仮想" デバイスブロックを 作るドライバに対して役立ちます。

確かに、カーネル空間やブロックデバイスなど VeraCrypt に必要そうです。

base on ディスク暗号化 - ArchWiki

基本的な分類
VeraCrypt

  • 暗号化の対象
    ブロックデバイス全体
  • 暗号化の実装空間
    カーネル空間

dmsetup 導入

確認してみると、確かに入っていませんでした。
※Lubuntu 16.04 LTS x86 には標準で入っていない(あるいは、導入時にオプションで除外してしまった?)ようです。

$ apt-cache search dmsetup
dmsetup - Linux Kernel Device Mapper のユーザ空間ライブラリ
$ dpkg -l | grep dmsetup
$ ### 空っぽ ###
$ sudo apt install dmsetup

以下のパッケージが新たにインストールされます:
  dmsetup
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。

動作確認

導入後、特に再起動など必要とせずに直ぐに利用できました。
(VeraCrypt 自体は一度落とす必要があります)。