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

719*_*016 13 linux debian coreutils

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

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

Pat*_*hes 16

您不能安装它们,因为它们会覆盖系统所有用户的现有目录,但您可以编译它们并将它们安装在您的主目录中,并配置您的主目录,PATH以便运行它们而不是系统目录。

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

./configure --prefix=/home/avilella/coreutils/
make
make install
Run Code Online (Sandbox Code Playgroud)

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

PATH="$HOME/coreutils/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

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

  • 在`PATH=...` 中,必须使用双引号或不使用引号。使用单引号将导致插入文字 `$HOME` 和 `$PATH`,而不是它们的值。 (3认同)