我期望得到的是一个 .deb 文件,但是我得到的却是这个:http://whatpulse.org/downloads/50/64bit/
答案1
您似乎点击了其中一个标记为通用的。这是可以理解的,因为该网站奇怪地使用 Ubuntu 徽标来代表通用下载。
您可能最好获取.deb
软件包。这些链接标记为 Debian。Ubuntu 基于 Debian;两者都使用.deb
软件包和最多 .deb
Debian 的软件包在 Ubuntu 上可以很好地运行。(并非全部。)通常,如果某个程序的唯一可用.deb
软件包是针对 Debian 而不是 Ubuntu 的,则值得尝试使用它进行安装。
因此WhatPulse 下载页面, 在下面下载 Linux 版本:
- 点击Debian(7.0+)32位如果您运行的是 32 位版本的 Ubuntu。
- 点击Debian(7.0+)64 位如果您运行的是 64 位版本的 Ubuntu。
(您在问题中包含的链接是 64 位下载链接,因此我猜您有 64 位版本。但如果您不确定您的 Ubuntu 系统是 32 位还是 64 位,您应该检查一下。一种检查方法是使用 ++ 打开终端Ctrl并Alt运行T命令uname -m
。x86_64
表示您有一台 64 位 PC 或 Intel Mac。i686
表示您有一台 32 位 PC 或 Intel Mac。)
.deb
下载后,双击文件即可安装软件。如果不能,请执行以下操作:
您可以使用软件中心安装格德比,并使用 gdbei 安装该包。
或者你也可以在终端中执行此操作。为此,在终端窗口 ( ++ Ctrl)中,键入,在 后面加一个空格。将下载的文件拖到终端中——这将粘贴其完整内容AltT
sudo dkpg -i
-i
.deb
小路。Enter按 运行命令。出现提示时输入密码(在终端中,输入密码时似乎没有发生任何事情,但它正在接收密码;只需输入密码并按 即可Enter。)
如果在安装过程中提示您某些依赖项未得到满足,则通常可以通过告诉 Ubuntu 的包管理系统自动安装它们来修复此问题。为此,请按Ctrl+ Alt+打开终端窗口(如果您尚未打开终端窗口) T,然后运行这两个命令,让第一个命令完成后再运行第二个命令:
sudo apt-get update
sudo apt-get -f install
系统可能会提示您输入密码;如上所述,*
输入密码时不会出现占位符(如 ),但没问题,只需输入密码并按 即可Enter。
在遵循此答案中的任何建议之前,请先查看底部的警告。我不会对我的作品发表一般性的免责声明;它只针对此特定问题和答案的情况。
为什么我建议安装 Debian 软件包
有些人建议不要进行“交叉安装”,即将适用于一个 Ubuntu 版本的软件安装到另一个版本上,或者将适用于使用.deb
Ubuntu 上的软件包的其他操作系统(如 Debian)的软件安装到另一个版本上。
当然,最好的办法是获取一个针对您正在运行的 Ubuntu 版本制作的软件包。如果不存在,最好的办法是自己从源代码构建软件(假设您在这样做时不会犯错误)。不幸的是,这不是一个选择;WhatPulse 是闭源的,源代码不可用(有关详细信息,请参阅下文)。
如果您无法安装适用于您的 Ubuntu 版本的软件包,也无法从源代码安装,还有其他选择。WhatPulse 提供了用于手动安装的预编译二进制文件和系统配置脚本(请参阅沃尔弗的回答,以及替代方法请参阅本答案的部分,如下所示)。或者,您可以.deb
在您的系统上安装针对其他系统发布的软件包;这就是交叉安装。
有些人说,即使没有为您的 Ubuntu 版本构建的软件包并且没有您可以自己构建的源代码,最好也避免交叉安装。这是一个合理的立场但我不同意。我认为在这种特殊情况下,交叉安装很可能是您的最佳选择。原因如下:
任何旨在工作的包Debian 的多个版本可能也能在 Ubuntu 上运行。如果它能在多个 Debian 版本上正常运行,那么它对构建依赖项的工具链的要求可能没有那么严格,因此在 Ubuntu 上可能存在问题。
为了从真正适用于你的 Ubuntu 版本的软件包中获益,必须构建该软件包专为您的发布,使用您发布的工具链(编译器、链接器和其他工具)。除了来自官方 Ubuntu 存储库和 PPA 的软件(幸运的是,它涵盖了很多软件……但不包括 WhatPulse)外,它很稀少任何以这种方式构建的包。如果以这种方式构建,他们会提供多个 Ubuntu 软件包或规定他们提供的软件包专门用于特定版本的 Ubuntu 上运行。这种现象并非闻所未闻,但非常罕见。
大多数情况下,第三方提供的非 PPA
.deb
软件包成为 Ubuntu 软件包意味着开发人员或网站管理员恰好在网站描述中包含了“Ubuntu”一词。许多广受好评的专业品质软件都以单一
.deb
软件包(或 32 位软件包和 64 位软件包)的形式提供给所有较新的 Debian和Ubuntu 系统。Google Chrome 就是一个例子。它可能在两个系统上都进行了测试,但是它仍然是每个系统的“交叉安装”,除了它所基于的两个操作系统中的特定版本之外。一些反对交叉安装的人担心,安装
.deb
不同操作系统的软件包可能会使 Ubuntu 系统的软件包管理器陷入故障状态。这是有可能的,但我没有发现任何证据表明,交叉安装比安装任何其他非官方、非 PPA 软件包更容易发生这种情况。(PPA 软件包是在 Launchpad 上使用适当的工具链构建的,因此它们往往可以正确安装和卸载,但并非总是如此。)此外,这些问题几乎总是很容易解决,并且有很多互联网资源(包括 Ask Ubuntu)可以帮助您解决这些问题。当你安装
.deb
软件包(任何.deb
软件包,无论是否适用于不同的操作系统或 Ubuntu 版本)时,软件包管理器运行如下root
并执行系统范围的配置更改,这可能会破坏其他而不是跟踪安装了哪些软件包并促进软件包安装、卸载和升级的系统。但是,如果您下载 WhatPulse 的“通用”发行版,则必须运行一个脚本(作为root
),该脚本会进行相同类型的修改。因此,在这种情况下,这不太可能成为交叉安装的缺点。
替代方法
我不建议您使用这种方式,除非按照上述说明安装 Debian 包不起作用,或者由于某种原因您不想以这种方式进行安装。此外,如果上述方法不起作用,您可能仍然更容易,或产生更好的结果,即评论和/或编辑您的问题来解释问题(然后您可以获得针对所发生的任何问题的进一步帮助)。
如果您确实想从.tar.gz
下载的“通用”文件安装,请首先确保它适用于正确的体系结构。也就是说,如果您运行的是 32 位版本的 Ubuntu,请确保它是 32 位版本;如果您运行的是 64 位版本的 Ubuntu,请确保它是 64 位版本。
大多数以.tar.gz
、.tar.bz2
或.tar.xz
(还有一些其他变体)形式分发的软件都是源代码你有编译。然而,WhatPulse 是专有的“免费软件”(免费但不是自由),并且和此类软件的情况一样,它的源代码不会公开。
WhatPulse 的文件.tar.gz
包含实际的可执行二进制文件,以及安装它的脚本和自述文件。这是一个存档(有点像.zip
Windows 上的文件),因此您可以双击它来查看其内容,或者右键单击它并单击提取自此处。
首先,阅读自述文件(README.txt
),并查看它指向的网页。如果那里的资源(可能比这个答案更新得更快(尽管您或任何人都可以随意编辑这个答案以使其保持最新!))与这里的建议相冲突,您很可能应该按照它说的做(但要运用您的判断力)。
如果您尚未真正提取文件的内容
.tar.gz
,请执行此操作。打开终端窗口( Ctrl++AltT。更改目录在终端到您解压文件的目录
.tar.gz
。一种方法是cd
在终端中输入(末尾有一个空格),然后将文件夹从 Nautilus(文件浏览器)拖到终端中,然后按Enter。根据目前的信息,我猜测了 Ubuntu 软件包可能需要哪些作为 WhatPulse 的依赖项。我故意猜测得比较宽泛;也就是说,我怀疑以下一些库可能不是必需的,但我试图增加这样做的可能性。因此,根据我的猜测,以下命令应该安装 WhatPulse 所依赖的库,以便在 Ubuntu 上运行。
sudo apt-get update sudo apt-get install libqtcore4 libqtwebkit4 libqt4-sql libqt4-sql-sqlite libssl-dev libqtscript4-core libqtscript4-gui libqtscript4-network libqtscript4-webkit libpcap0.8 libpcapnav0
当然,您可以从网络浏览器复制并粘贴到终端中;您不必手动输入任何内容。
运行安装脚本,使 WhatPulse 能够监控您在计算机上的操作:
sudo sh 设置输入权限.sh
将 WhatPulse 可执行程序(名为 的文件whatpulse
)移动或复制到您想要的任何位置。无需在终端中执行此部分,但如果您知道如何操作,您肯定可以。
如果你想通过输入来启动它whatpulse
(在终端或 Unity dash 中),最好将它放在你的可执行文件搜索路径。我建议将其放在bin
主文件夹内的文件夹中。(如果该文件夹不存在,您可以创建它)。如果您的bin
文件夹之前不存在,您必须注销并重新登录(或者如果您愿意,重新启动),以便在您尝试运行它们时自动找到其中的文件
完成所有这些之后,假设一切正常,您应该能够whatpulse
从终端运行或按Alt+ F2(并输入,然后按下Enter或单击(whatpulse
如果出现))。
无需使用whatpulse
来运行自身sudo
。您不应该这样做(而且如果您这样做,它看起来可能无法正常工作;它不打算以这种方式运行)。
我不确定 WhatPulse 是否会提供在运行时自动启动的选项。但如果没有,如果如果你想让它自动启动,请参见:
最后,请注意,我没有使用过 WhatPulse,只是对它有点了解。这意味着两件事。
这意味着我不能确定这是否会起作用——我没有能力先亲自尝试一下。
这也意味着我无法保证 WhatPulse 的安全性,也无法确保它能像它声称的那样工作,等等。我不是说它不存在, 只是我对此了解不多,无法说 (这就是为什么我没有“能力”先亲自尝试一下)。
答案2
您链接的是一个独立的二进制文件。根据我的file
:
file whatpulse
whatpulse: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=b6027484908c5a05d8b32e4dd5c342fc12bf6670, not stripped
只需将其提取出来,mv
将它放到您想要的任何位置(根据 *nix 标准,这/opt/
仅适用于这种情况),如果您希望 bash 识别它,那么就ln -s
可以/usr/local/bin/
。