如何在基于Debian的发行版上安装tarball软件包?


19

我想知道如何在Debian上安装.tar.bz和.tar.bz2软件包,请给我完整的解释。


2
这些是档案。您需要打开它们的包装,然后查看内部说明。通常它的./configuremakemake install,但我敢肯定有人会为您提供更好的答案,与链接在那里可以学到这个很基本的东西之前,你真正尝试构建任何东西
zetah

3
根据要安装的内容,还需要安装该软件使用的库的build-essential软件包和-dev软件包。请确保将其安装到前缀/ usr / local /(通常是默认设置),否则可能会损坏系统。对于初学者,我强烈建议您限制自己使用Debian提供的软件包。下一步是搜索已经打包的软件(.deb软件包),然后手动安装它们dpkg -i ./path/to/package.deb。使用.tar。{gz,bz2}软件包是最后也是最困难的选择。
jofel 2012年

@jofel我同意您的看法,但是.deb软件包中没有某些程序,您只能从源代码(例如Firefox)安装它。
Zignd 2012年

1
Firefox在存储库中肯定是可用的,并且很少需要从源代码构建。
混沌守护进程

1
如果要手动从源安装,最困难的事情通常是安装正确的依赖项。如果README或INSTALL没有列出它们,则可能需要手动运行./configure脚本(对于基于autoconf的构建系统)。如果失败并显示“检查xyz:否”,“未找到xyz”或类似内容,请安装软件包libxyz-dev(在基于Debian的系统上),然后重试。如果该软件包不存在,则需要先找到正确的软件包,或者首先手动安装所需的库。有时您必须选择特定的库版本。
jofel 2012年

Answers:


30

首先,根据文件系统层次结构标准,此安装的软件包的位置应该/opt是二进制安装,/usr/local还是源安装。

纯二进制

这些都可以使用二进制文件了。通常,只需要提取它们就可以安装。二进制包将很容易:

  • sudo tar --directory=/opt -xvf <file>.tar.[bz2|gz]
  • 将目录添加到您的路径: export PATH=$PATH:/opt/[package_name]/bin

到此为止。

从来源

到目前为止,一个源包会比较麻烦,并且通过使用以下方法可以粗略地处理它们,每个包都是不同的

  • 将软件包下载到 /usr/local/src
  • tar xf <file>.tar.[bz2|gz]
  • cd <package name>
  • 读取README文件(几乎肯定存在)。
  • 大多数开源项目使用autoconf / automake,说明应在中README。可能会执行以下步骤:(./configure && make && make install如果出现问题,请单独运行命令以保持理智)。

如果安装中有任何问题,那么您将不得不提出特定的问题。您可能会遇到库版本不正确或缺少依赖项的问题。Debian为您打包所有内容是有原因的。Debian稳定版运行旧软件包是有原因的-要找到在十多种不同架构和无数不同硬件/系统配置上安装软件包的所有特殊情况是困难的。自行安装某些设备时,可能会遇到以下问题之一!


2
我简化了tar命令!您不需要cd / opt。而是将cd转到tarball所在的位置,然后使用tar -C--directoryoption。
杰西

1
啊,别忘了sudo:D
Jess

10

解压缩文件,然后在创建的目录中查找READMEINSTALL文件,该文件将告诉您安装软件包所需的知识(例如,依赖项,配置选项,运行命令等)。

通常把它归结为./configuremake然后make install


3
请注意,该构建很可能在配置中失败。为什么?因为您下载的源可能具有尚未安装的构建时间相关性。在Debian / Ubuntu上,如果apt也提供了该软件包,则可以使用以下命令进行安装:sudo apt-get build-dep package-name
anonfunc 2012年

7

这样做的标准方法是:

  1. tar zxvf file.tar.gz 要么 tar xvjpf file.tar.bz2
  2. 运行./configure./configure --help通常提供自定义选项)
  3. make
  4. make install

通常会有一个README或INSTALL文件也提供说明。


5

一般来说,当您安装tar.gz / tgz / tar / bz2时(请记住,这些只是压缩包文件),您需要先打开tar文件(tar xvfz/ tar xvfj),然后cd打开目录并运行./configure

在某些系统上,您可以将默认值(例如/ usr / local / {lib,bin,etc ...})作为默认安装位置,或者您可能想使用/ opt / local / {lib,bin,等等}。

所以,你会怎么做./configure --prefix=/usr/local,然后makemake install

我们由您决定要在哪里安装软件包。请记住,无论您决定执行什么操作,都可能要将路径添加到PATH shell变量中,以便可以轻松地运行这些软件包。(通常export PATH=$PATH:/opt/local/bin:/usr/local/bin)。


2

让我用一个示例来说明,例如您要安装一个软件包abc。包的依赖关系abc可以通过阅读其文档来识别。您应该在安装之前解决依赖关系(必需的库等),以获取流畅的体验。

一个之前gcc 4.7.2建立的g++m4gawkgcc-multilibgmpmpfr,和mpc必须建立。

然后是来自源部分的建筑物,第一步总是要进行提取。这可以通过使用tar命令或简单的GUI方式来完成。将提取的文件保存在文件夹中后,必须使用cd命令浏览到该文件夹,例如,如果内容在“下载”中,则:

$cd Downloads/abc

现在您需要运行./configure。通过使用--prefix=选项指定安装目录configure

首先,根据文件系统层次结构标准,如果是二进制安装,则此已安装软件包的位置应为/ opt;如果是源安装,则应为/ usr / local。

因此,如果要安装到/usr/abc目录,则将为选件--prefix=/usr/abc提供./configure说明。

$./configure --prefix=/usr/abc

--prefix=并不是您可能要指定的唯一内容,您可能还想提供其他信息以成功进行编译,例如--build=x86_64-linux-gnu64位和--build=i386-linux-gnu32位系统的类型。明智的做法是读取提取的文件中的自述文件,因为自述文件可能包含有关使用./configure命令指定哪些选项的信息。

./configure运行make命令,随后的make install。安装后,您应该使用以下export命令指定库路径,shell /环境变量。

export PATH=/usr/abc/bin:$PATH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.