我需要在 linux 机器上运行一个程序,而我唯一可以访问的是我大学的服务器(由于某种原因)具有过时版本的 autoconf 和 automake。我的程序需要更新的版本。我在我的主目录中的服务器上拥有每个最新版本,但由于我不是 root 用户,因此无法将它们安装在 /usr/local/bin 中。所以我想我有两个问题:
- 如何让 autoconf/automake安装在我的主目录中的某个位置?这可能吗?
- 如何让程序访问这些较新版本,而不是自动调用过时的版本?
任何帮助将不胜感激。
我不记得了,但很可能两者都是基于自动工具的,因此您可以配置然后使用./configure --prefix=${HOME}/autoprefix
和安装。
我首选的方法是使用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 中获取信息,因此没有引导问题。