【回避策】Ubuntu 24.04にFortiClient VPN 7.4.0 (無償版FortiClient) をインストールする
背景
FortiClient VPN (所謂無償版FortiClient) は、下記メーカサイトにて配布されている。
Windows版とMac版についてはオンラインインストーラであり、インストーラを実行したタイミングの最新版がインストールされる。
一方Linux版はdeb形式とRPM形式のパッケージが配布されており、こちらはオフラインインストーラのため、ダウンロードした際のバージョンがインストールされる。
2024年12月29日現在、メーカサイトではdeb形式・RPM形式ともに 7.4.0 build 1636
が配布されている。
下記メーカドキュメントのRelease Informationによると 7.4.2 build 1698
が最新版となり、ダウンロードページでは少し古いバージョンが配布されていることがわかる。
Ubuntu 24.04とFortiClient 7.4.0の問題
フォーラムやRedditで話題になっている様に、7.4.0のdebパッケージはそのままUbuntu 24.04へインストールすることができない。
パッケージの依存関係として libappindicator1
もしくは libayatana-appindicator1
という古めのライブラリパッケージが指定されており、Ubuntu 24.04ではこれらのライブラリは公式リポジトリ (noble) から削除されている。
また、Ubuntu 22.04 (jammy) の場合でもuniverseリポジトリに置かれているので、Ubuntu 22.04の場合でもリポジトリを追加していない場合は同様に依存解決に失敗する。
依存関係の解決
依存パッケージのダウンロード
Ubuntu 24.04の場合、上記22.04向けのパッケージをインストールして依存関係を解決することでFortiClient VPNのインストール・動作を確認することができた。
デスクトップ版のUbuntu 24.04の場合、以下の様な依存関係を解決すれば良い。
libdbusmenu-gtk4 ← libappindicator1 ← FortiClient VPN
Ubuntu Packagesより libdbusmenu-gtk4_16.04.1+18.10.20180917-0ubuntu8_amd64.deb
をダウンロードする。 (使うmirror次第だが、HTTPリンクの場合はリンクをコピーして別タブで開かないとinsecureなリダイレクトとしてブラウザに怒られる)
同じくUbuntu Packagesより libappindicator1_12.10.1+20.10.20200706.1-0ubuntu1_amd64.deb
をダウンロードする。
依存パッケージのインストール
依存関係に従い、以下の順にダウンロードしたパッケージをインストールする。
$ sudo apt install ./libdbusmenu-gtk4_16.04.1+18.10.20180917-0ubuntu8_amd64.deb
$ sudo apt install ./libappindicator1_12.10.1+20.10.20200706.1-0ubuntu1_amd64.deb
FortiClient VPNのインストール
ここまでの手順で依存関係を解決できたため、FortiClient VPNをインストールすることが可能となる。
$ sudo apt install ./forticlient_vpn_7.4.0.1636_amd64.deb
根本解決について
こちらの依存関係に関する問題は、メーカのリリースノート上のKnown issuesでも該当すると思われる内容が記載されており、Bug IDが発行されている。
Bug ID
1032729 FortiClient does not install on Ubuntu 24.04 LTS.
7.4.1・7.4.2のリリースノート上のResolved issuesに上記Bug IDの表記は無いが、手元の環境で7.4.2 build 1698
にて試したところ、恐らくパッケージの依存関係指定の変更によって上記問題は解消されていたことを確認した。
契約があり上記新バージョンを入手できる環境の場合は、こちらを利用することで根本解決が可能。
7.4.0利用のために一時的に上記ライブラリをインストールしていた場合は、新バージョンをインストール後にapt purgeすればきれいに削除が可能。
$ sudo apt purge libappindicator1
$ sudo apt purge libdbusmenu-gtk4
パッケージが展開するファイルはUbuntu Packagesから確認が可能。
余談
FortiClient EMS (Endpoint Management Server) を前提とした集中管理やEPP機能、FortiSASEとの連携に利用される有償版FortiClientの場合は、下記メーカサイトの通り、パッケージ形式ではなくFortinet社のリポジトリを通して提供される。
こちらでは既にFortiClient 7.4.2が配布されている。 (利用には有償版FortiClientの契約が必須)
無償版FortiClientの配布ページについても、そのうち新バージョンに更新されると思われる。
Discussion