4
2

More than 3 years have passed since last update.

Folding@homeをUbuntu 18.10+にインストールするときに起きる厄介なこと

Last updated at Posted at 2020-04-05

はじめに

この手法はあくまでもワークアラウンドです。パッケージの依存関係を意図的に汚染している点にご注意ください。

2000年から稼働を開始したFolding@homeという名前の分散コンピューティングプロジェクトがあります。
このプロジェクトは、ある特定のタンパク質がどのような立体構造に折りたたまれるか1、という課題を解決するために全世界の余剰計算資源を使って分子動力学シミュレーションを走らせるものです。
このプロジェクトの一部には、昨今世間を悪い意味で賑わせている新型コロナウィルス(SARS-CoV-2)に対する取り組みも含まれており、2020年4月初頭においても急激に参加者が増えている現状です2

一方で、Linux環境用のFolding@homeクライアントは、サポート終了したPython2系の依存関係を含んでおり、Ubuntu 16.04 LTS/18.04 LTS以外のUbuntu環境3において、GUI用のパッケージ(FAHControl)が上手くインストールできない問題が発生しています。

クライアントのコアパッケージ部分であるFAHClientのみをインストールし、ホームネットワークのWindows等からリモートアクセスする形態が一番安全な策ではあるのですが、諸般の事情によりそのような回避策が使えない、もしくはどうしてもローカル上でGUIを表示したい場合もあるでしょう。
したがって今回、debパッケージングにおけるフェイクパッケージという手法を用いてこの問題を回避します。

TL; DR

$ cd ./SOMEWHERE/TO/WORK/DIRECTORY
# apt install equivs
$ equivs-control python-gnome2
$ vi python-gnome2  # L9 -> "Package: python-gnome2", L10 -> "Version: 2.28.1", L18 comment-out
$ equivs-build python-gnome2
# apt install ./python-gnome2*.deb
# apt install ./YOUR/DOWNLOAD/DIR/fahcontrol*.deb

問題と解決

予めfahclient*.deb, fahcontrol*.deb, fahviewer*.debはダウンロードしておく。

# apt update && apt upgrade -y  # いつもの
# apt install ./fahclient*.deb  # これは成功する
# # apt install ./fahcontrol*.deb  # これが失敗する、失敗すると面倒なので実行しない

依存関係の解決に失敗するのはpython-gnome2という名前のパッケージがUbuntuのサポートから外されてしまっているため。
実はこいつがなくても(見た目上)FAHControlは動作する。
したがって、パッケージマネージャにpython-gnome2 がインストールされていると思い込ませるだけで問題ない。
この作業に役立つのがequivsパッケージ。

# apt install equivs
$ equivs-control python-gnome2  # カレントディレクトリにpython-gnome2ファイルが生成される
$ vi python-gnome2  # 編集(後述)
$ equivs-build python-gnome2  # カレントディレクトリにフェイクパッケージpython-gnome2*.debが生成される
# apt install ./python-gnome2*.deb
# apt install ./fahcontrol*.deb ./fahviewer*.deb  # work well!

python-gnome2の要編集ポイントは以下の通り。

  • L9: Package: <package name; defaults to equivs-dummy> -> Package: python-gnome2
  • L10: コメントアウト -> Version: 2.28.1
    • 念の為16.04/18.04に準拠したバージョン4にしておく
  • L11: コメントアウト -> Maintainer: Your Name <yourname@example.com>
    • ここは趣味、どっちでも
  • L18: コメントアウト -> Architecture: all
  • L27-: Description: A fake package to make FAHControl Install
    • ってことが後から見て分かればいいので文面はご自由に

あとがき

Debianあんまりわからないので間違いあったら指摘してください。

参考

Debian 管理者ハンドブック - 15.2. 最初のパッケージのビルド
StackExchange - How to install folding at home (Folding@home FAHControl) on Ubuntu 19.10


  1. フォールディングといいます 

  2. いいことです 

  3. またはそれに類するDebian系Linuxディストリビューション 

  4. 執筆時点2020/04/05現在 

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2