2

我需要在 linux 机器上运行一个程序,而我唯一可以访问的是我大学的服务器(由于某种原因)具有过时版本的 autoconf 和 automake。我的程序需要更新的版本。我在我的主目录中的服务器上拥有每个最新版本,但由于我不是 root 用户,因此无法将它们安装在 /usr/local/bin 中。所以我想我有两个问题:

  1. 如何让 autoconf/automake安装在我的主目录中的某个位置?这可能吗?
  2. 如何让程序访问这些较新版本,而不是自动调用过时的版本?

任何帮助将不胜感激。

4

2 回答 2

2

我不记得了,但很可能两者都是基于自动工具的,因此您可以配置然后使用./configure --prefix=${HOME}/autoprefix和安装。

于 2012-07-20T17:26:08.503 回答
2

我首选的方法是使用GNU Stow来管理我的主目录中的包。您可以使用$HOME$HOME/usr其他任何东西。我认为$HOME/usr可能是最好的,因为它不再需要在你的 homedir 上走来走去。

所以首先你配置和安装 stow。下载并解压,然后运行类似:

$ ./configure --prefix=$HOME/usr && make && make install prefix=$HOME/usr/stow/stow-2.2.0

然后你让 stow stow 自己:

$ cd ~/usr/stow
$ stow-2.2.0/bin/stow stow-2.2.0

现在你添加$HOME/usr/bin$PATH. 然后你安装autoconf。解压并 cd 进去,然后运行:

$ ./configure --prefix=$HOME/usr && make && make install prefix=$HOME/usr/stow/autoconf-2.69
$ cd ~/usr/stow
$ stow autoconf-2.69

我为什么要这样做?它让我可以轻松地从我的主目录中删除一个包,而不会引起巨大的头痛:cd ~/usr/stow && stow -D autoconf-2.69例如。我/usr/local以类似的方式进行管理,但我可以从 apt 中获取信息,因此没有引导问题。

于 2012-07-20T22:21:41.570 回答