如何在没有管理员权限的Debian Linux上安装更新版本的GNU utils(coreutils)?


13

我想在没有管理员权限的debian linux系统上安装GNU utils(coreutils)的更新版本。有没有办法做到这一点?

理由是我需要一个比我打算运行分析的系统中安装的版本更现代的版本。我正在尝试使用“ sort -R”或“ shuf”将大文本文件中的行随机化。


1
没门。为什么要这样做?
Michael K

4
理由是我需要一个比我打算运行分析的系统中安装的版本更现代的版本。我正在尝试使用“ sort -R”或“ shuf”将大文本文件中的行随机化。
719016 2011年

Answers:


16

您不能从某种意义上说它们会覆盖系统的所有用户的现有目录,但是您可以将它们编译并安装在您的主目录中,并进行配置PATH以使其可以运行而不是系统目录。

为此,请从GNU网站下载最新版本的coreutils 。然后,将存档解压缩并cd放入其中,并运行以下命令来编译并安装它。请注意,该--prefix开关可让您配置要在其中安装的目录。

./configure --prefix=/home/avilella/coreutils/
make
make install

大多数Debian系统都配置为自动添加~/bin到您的PATH中。如果是这样,您可以将实用程序复制到该目录。但是,搜索系统目录之前,可能未将其配置为从该目录运行可执行文件,或者您可能更喜欢将它们保留在自己的目录中。在这种情况下,您将需要编辑您的~/.profile目录以搜索该目录,然后再搜索系统目录。为此,添加如下一行:

PATH="$HOME/coreutils/bin:$PATH"

如果您不想编译它们,也可以通过ar vx.deb文件上使用输出data.tar.gz包含软件包内容的tarball,从较新的Debian软件包中提取它们。但是,较新的软件包可能需要系统上不存在的较新的库。


3
在中PATH=...,必须使用双引号或不使用双引号。使用单引号将导致文字$HOME$PATH被插入,而不是其值。
user1686 2011年

@grawity:哇,这真是个愚蠢的错误,尤其是考虑到我已经因PHP的类似字符串处理而受到大脑的损害了很久了。感谢您的修复!
补丁
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.