我目前使用的是 Ubuntu 17,但这适用于所有 Linux 操作系统。
我多次遇到压缩在 tarball 中供我安装的应用程序。我第一次遇到这样的人时,我知道的甚至比我现在知道的还要少(并不多)。那次我只是摆弄这些文件,直到我能够通过简单地输入./executable
终端来执行程序。之后我每次对这种格式的程序所做的就是将文件夹移动到/usr/local/lib
(这样它就不会堵塞我的文件夹)并创建一个包含所有可执行文件和应用程序信息的.desktop
文件。/usr/share/applications
今天我遇到了一个我已经按照前面提到的方式安装的应用程序,但是他们的安装过程是执行以下命令
cd program_folder_to_install
mkdir build
cd build
cmake -(options)
这两个程序有何不同?据我所知,我的安装方式效果很好。
我安装的程序是否真的安装在我的计算机中?
我确信,如果我查看以这种方式安装的所有其他应用程序,我可以找到另一个应用程序,其说明说用cmake
或安装它make
,但我只是不知道区别,以及我是否应该返回并以这种方式安装它们。
感谢您提供有关此的任何信息!
答案1
安装软件的方法有很多种。有些需要编译(C、C++ 和其他此类语言),有些不需要或可能不需要编译(诸如 shell 之类的脚本语言不需要编译,而 Ruby 或 Perl 等其他语言可能有也可能没有需要编译的位)。编译)。因此,在每种情况下,您都需要查看可用的文档或文件,以了解如何构建和安装软件。主要系统包括:
make
将有一个Makefile
或 ,GNUmakefile
它将有用于构建或可能安装软件的各种规则,并且可能需要gmake
安装某些特定版本的 make (或 )。- 基于 Autotools 的系统应该
./configure
在 tarball 中有一个脚本。从理论上讲,除非您的系统非常奇怪,否则它应该在大多数地方运行。 - 但是,某些自动工具包可能只有一组
configure.ac
或类似的文件。您将需要那些运行autoreconf
或类似的命令,它们应该生成一个./configure
可以运行的脚本。 - 您发现基于 Cmake 的系统需要
cmake
和 来运行各种cmake
相关命令。
这不是一个完整的列表;还有其他构建和安装软件系统,然后是供应商包或端口系统,各种脚本语言将有一个或多个构建系统来为这些语言构建模块,等等。