从源代码安装应用程序

从源代码安装应用程序

我想知道 Linux 中所有应用程序的通用安装。那是什么意思?好吧,当我使用 Windows 时,我知道如果我想安装应用程序,我会双击 .exe 文件,然后下一步、下一步、下一步。

在 Linux 中,我了解到也许有一种常见的(非通用的)方法来安装任何应用程序。也许从源代码安装?那么是否有任何可以像在 Windows 中一样安装应用程序的分步方法?

我问是因为我不想一直问谷歌,怎么办?所以,我最近设法从源 freecad 安装本指南 我认为作为一种常用方法,这将是一个很好的开始,对吗?

但问题在于去哪里找到正确的来源以及应用程序何时具有非常独特的安装方法!

答案1

尽管有成熟的工具,如 autotools(包括 automake 和 autoconf)和 cmake,但不同程序的安装说明有所不同。

由于程序可能采用不同的编程语言,因此很难给出适合所有软件包的通用命令。例如,Python 通常有 setup.py 脚本,而 C 程序通常使用 autotools 或至少一个 Makefile。

我总是从查找 INSTALL、README 或类似文件开始。如果您需要从源代码编译程序,则可能需要build-essential依赖于编译器和其他通用开发包的包。

根据您尝试编译的程序,您可能需要安装其他依赖项。请检查 README 或脚本的输出./configure(位于提取源的根目录中的可执行文件)。例如,如果它说您需要“x11 开发标头”,请尝试在存储库中查找“x11-dev”或“libx11-dev”(在本例中,这就是libx11-dev您要查找的)。

可以提取并配置使用 autoconf/automake 构建的源分发版:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

用于./configure --help可用选项。默认情况下,文件通常安装到,/usr/local这完全没问题。除非您要将文件打包到 .deb 文件中,否则不要将此前缀更改为,/usr因为它可能与包管理系统 (dpkg) 冲突。

make应该开始编译所有内容,并将make install文件安装到指定位置(这sudo对于写入特权位置(如)是必需的/usr/local)。要稍后卸载它,请从源目录运行sudo make uninstall(前提是该包已使用 autoconf/automake 正确构建,这是开发人员的责任,而不是您(用户)的责任!

如果您只想从计算机上的软件中心编译软件包,请继续(package相应地替换和版本):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

有关命令的更多详细信息,请参阅相应的手册页。(例如man dpkg-buildpackage在终端中运行)。执行这些命令后,您将在父目录中获得一个 .deb 文件。建议尽可能使用来自 Ubuntu 存储库的软件包。上述步骤仅供参考,但通常您需要在构建软件包之前对某些文件进行修改。

答案2

FreeCAD 可在 Ubuntu 软件中心使用,因此无需从源代码构建和安装它。

Ubuntu 软件中心始终是您首先要查看的地方。安装只需单击一个按钮即可。

屏幕左侧的栏中有一个 Ubuntu 软件中心的图标。

如果您确实想从源代码构建和安装程序,那么请查找该程序附带的 README 文件或其他说明。

许多软件包使用 GNU autotools 作为构建系统,可以使用以下命令进行构建和安装:

./configure
make
sudo make install

在构建程序之前,您需要检查所需的库和其他依赖项是什么(这些也应该在程序的文档中提及)。packages.ubuntu.com您可以找到包含所需库的 Ubuntu 软件包。

假设该程序需要一个名为的库blah,那么您可能需要安装该包libblah-dev(在我上面提到的 Ubuntu 包页面上查找确切的名称)。

sudo apt-get install libblah-dev

答案3

只有两种基本方法:

  1. 使用软件中心或相关工具(Synaptic、apt-get等)。这通常是最佳选择。不使用此方法可能会导致问题,例如冲突和更新困难,因此只有在您知道自己在做什么的情况下才应该采取其他措施。
  2. 阅读文档并使用它进行安装。您可能会在项目的网站上、压缩包中或从您获取文件的地方找到它。或者,可能没有文档,在这种情况下您必须使用 Google 搜索或猜测。安装软件的方法有很多种。如果这让您感到困惑,请返回第 1 条。

    如果您的软件包使用标准./configure; make; sudo make install,您可以使用它checkinstall来获取您构建的 .deb。这样,您就不必牺牲软件包管理。

答案4

Ubuntu 提供多种安装方法

  1. 通过集中包装系统

    这是 ubuntu 中的首选方法(但我个人不喜欢它)software-centre、synaptic 和 aptitude 就是它的例子

  2. 独立的 deb 包:- 此方法更简单,就像在 Windows 中一样,只需双击文件并按安装按钮即可。例如:Gdebi 包管理器

  3. 二进制软件:这些与 Windows .exe 安装非常相似,它为安装程序提供了各种 GUI,这些通常是 .bin 文件

    您可以使用钻头或类似工具来制作此类包装

  4. autopackage 和类似工具:这些是第三方包管理器,用于支持各种 Linux 发行版

  5. 源代码:这是软件安装的第一种方法,在此方法中,源代码被转换为二进制可执行文件,这些软件的安装说明通常附带源代码,并且这些仅对开源软件有效

警告:-这些仅是我的观察,我是 Linux 新手,因此如果有任何错误,请随意编辑/反对

相关内容