在Linux中安装新插件时如何配置路径?

在Linux中安装新插件时如何配置路径?

每当我需要在 Xentos 上安装某些东西时,我都会找到 rpm 或 tar ball。

我想知道两者之间有什么区别。

另外,如果我需要为 php 安装一些东西,但是我已经安装在不同的文件夹中,那么在新下载的 tar.gz 包中使用 configure 命令时,我该如何提供该 php 路径?

答案1

RPM 是一个包含许多特殊内容的存档。它用于安装已构建的软件,有时也用于安装源代码(通常标记为 SRPM,即源 RPM)。除了文件本身之外,它还可能包含预安装脚本、安装后脚本,以及删除前和删除后脚本(如果您想要删除软件)。它通过在 RPM 数据库中保存一些安装信息来保持整洁。您需要以 root 身份进行安装,这不仅是因为文件(几乎总是)安装在通常只有 root 才能访问的位置,而且您需要以 root 身份更改 RPM 数据库。

tarball一般来说,A只是一个档案。文件和目录的集合。您拥有的是一个源 tarball,您需要为特定安装配置并运行它。一旦您提取了 tarball(tar -xzvf /path/to/something.tar.gz将提取它)。大多数软件使用名为 的东西autoconf,它会生成一个名为 的脚本configure,该脚本可以配置您的源以进行构建。它会进行一些检查(您有编译器吗?您的库是否足够新?)并可以使用一些命令行标志。使用configure --help来查看这些标志是什么。通常,您唯一需要的标志是--prefix=/path/to/somewhere说明您想要安装的位置。一旦您运行 configure,您就可以运行make && make install来安装它。或者,sudo make install如果您使用的是仅限 root 的位置。

标志之后的任何内容prefix=...都高度依赖于您的源以及计算机上预先存在的内容。我不知道您的软件包,也不知道 php 如何连接到它。是否configure --help列出了 php 路径的任何标志?有时您只需将解释器放入您的 PATH,例如 PATH=/path/to/php/bin:$PATH。configure然后脚本(可能)找到 php 并对其进行查询(使用 perl 的东西以这种方式工作)。之后您可能需要一些后期构建配置。准备好进行实验。

由于您说您的内容位于非标准位置,因此您的选择可能只是源 tarball。RPM 是预构建的,并且通常只有很少的配置选项。

答案2

RPM 是一个预制包 - 您可以使用图形工具或rpm(CLI)来安装它。

Tarball 是源代码。通常只需运行

./configure && make && make install

如果需要更改包的安装路径,请执行以下操作:

./configure --prefix=/this/is/where/everything/goes && make && sudo make install

(或使用su -c:我是 Zenwalker,无法真正说出在基于 RH 的发行版上哪个更受欢迎)

最终会得到如下目录树:

/this/is/.../goes/bin
/this/is/.../goes/doc
/this/is/.../goes/share

如果这不是您想要更改的安装路径,请随意指定得更具体,例如./configure以下路径选项:

安装目录的微调:

--bindir=DIR 用户可执行文件 [EPREFIX/bin]

--sbindir=DIR 系统管理可执行文件 [EPREFIX/sbin]

--libexecdir=DIR 程序可执行文件 [EPREFIX/libexec]

--sysconfdir=DIR 只读单机数据 [PREFIX/etc]

--sharedstatedir=DIR 可修改的与架构无关的数据 [PREFIX/com]

--localstatedir=DIR 可修改单机数据 [PREFIX/var]

--libdir=DIR 目标代码库 [EPREFIX/lib]

--includedir=DIR C 头文件 [PREFIX/include]

--oldincludedir=非 gccv 的 DIR C 头文件[/usr/include]

--datarootdir=DIR 只读架构独立数据根目录 [PREFIX/share]

--datadir=DIR 只读架构独立数据 [DATAROOTDIR]

--infodir=DIR 信息文档 [DATAROOTDIR/info]

--localedir=DIR 区域相关数据 [DATAROOTDIR/locale]

--mandir=DIR man 文档 [DATAROOTDIR/man]

--docdir=DIR 文档根目录 [DATAROOTDIR/doc/bullet]

--htmldir=DIR html 文档 [DOCDIR]

--dvidir=DIR dvi 文档 [DOCDIR]

--pdfdir=DIR pdf 文档 [DOCDIR]

--psdir=DIR ps 文档 [DOCDIR]

相关内容