如何在 Ubuntu 19.10 上在家安装折叠 (Folding@home FAHControl)

Sli*_*lim 20 dpkg 19.10

我正在尝试在家安装折叠,但遇到了 FAHControl 包的问题

$ sudo dpkg -i fahcontrol_7.5.1-1_all.deb
Selecting previously unselected package fahcontrol.
(Reading database ... 318495 files and directories currently installed.)
Preparing to unpack fahcontrol_7.5.1-1_all.deb ...
Unpacking fahcontrol (7.5.1-1) ...
dpkg: dependency problems prevent configuration of fahcontrol:
 fahcontrol depends on python-gnome2; however:
  Package python-gnome2 is not installed.

dpkg: error processing package fahcontrol (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.32.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu1) ...
Processing triggers for mime-support (3.63ubuntu1) ...
Errors were encountered while processing:
 fahcontrol
Run Code Online (Sandbox Code Playgroud)

我没有看到 python-gnome2 可用于 eoan,那么最好的方法是什么?

我在安装指南中看到 FAHControl 不是必需的,但是让它工作会很好。

Mic*_*man 17

上面链接中提到的解决方法sudo apt-mark manual python-gnome2不适用于 19.10,因为该软件包在 ubuntu 存储库中不存在:(

--force-depends出于同样的原因,强制 deps不起作用,python-gnome2不存在。

这适用于我的 Ubuntu 19.10 桌面...YMMV

步骤 1(先决条件)

确保安装了这些软件包

sudo apt install python # installs python2.7
sudo apt install python-gtk2 # used by the GUI
sudo apt install equivs # improvement by @Chemary, Tx!
Run Code Online (Sandbox Code Playgroud)

第 2 步(创建控制文件)

现在我们需要欺骗 Ubuntu 让它认为它有python-gnome2. 为此,我们将使用“equivs”。有很多关于它的好文档,但这里有一个简短的概述:

equivs-control python-gnome2
Run Code Online (Sandbox Code Playgroud)

这将python-gnome2在您需要编辑的当前目录中创建一个名为(参见下面的示例)的 DEB 控制文件。或者你可以使用这个......随意输入你自己的名字/电子邮件和东西......留下一切

第 3 步(编辑控制文件)

使用任何文本编辑器像这样更改创建的控制文件。它将在您的当前目录中(假设您从终端工作)并将被称为python-gnome2

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: python-gnome2
Version: 1:42
Maintainer: Jack Ford <mike@clustergarage.io>
Architecture: all
Description: A fake package to make FAHControl install
Run Code Online (Sandbox Code Playgroud)

第 4 步(构建一个假包)

然后用你刚刚编辑的控制文件构建一个假包

equivs-build python-gnome2
Run Code Online (Sandbox Code Playgroud)

这将在当前目录中创建一个名为python-gnome2_42_all.deb...的 DEB 包,假设您的控制文件类似于上面的示例。

第五步(安装)

现在您可以fahcontrol成功安装您的假包,并且您的 Apt 树不会被破坏。从当前目录运行这些命令。

sudo dpkg -i ./python-gnome2_*_all.deb # improvement by @Chemary, Tx!
sudo dpkg -i ./fahcontrol_7.5.1-1_all.deb 
Run Code Online (Sandbox Code Playgroud)

注意:如果你下载了fahcontrol_7.5.1-1_all.deb文件来说明你的下载目录,那么你需要从那里安装它,例如

sudo dpkg -i ~/Downloads/fahcontrol_7.5.1-1_all.deb
Run Code Online (Sandbox Code Playgroud)

第 6 步(拯救世界!)

然后从终端像这样运行它

FAHControl
Run Code Online (Sandbox Code Playgroud)

或者从您的应用程序启动器使用。我的看起来像这样

在此处输入图片说明

希望有帮助!


小智 9

有一个简单的解决方案,它的工作原理类似于 Michael 的 equivs-build,但我会说它更优雅一些。

无需创建假依赖包,只需更改原始 FAHControl 包的依赖项即可。你可以用 dpkg 做到这一点,它应该在每个基于 Debian/Ubuntu 的发行版上。我在我的机器上用 MX Linux 试了一下。

1.解压包的二进制部分:

dpkg-deb -x fahcontrol_7.5.1-1_all.deb temp-dir
Run Code Online (Sandbox Code Playgroud)

2、拆开包装的控制部分:

dpkg-deb -e fahcontrol_7.5.1-1_all.deb temp-dir/DEBIAN
Run Code Online (Sandbox Code Playgroud)

3. 编辑控制文件

打开文件temp-dir/DEBIAN/control并更改python-gnome2python-gtk2.

4. 放入新的deb包中:

dpkg-deb -b temp-dir fahcontrol_7.5.1-1_custom.deb
Run Code Online (Sandbox Code Playgroud)

5. 安装包。

这种方式的好处 - 除了无需安装其他工具即可工作 - 是,您不会在系统中引入一个空的未使用的包。


小智 1

这是他们当前的解决方法,它对我有用了几个小时,然后就停止了

Ubuntu 19 / Debian 10 及其变体上的 FAHControl

  • 警告:不要这样做,它完全破坏了我的依赖树...... (2认同)