如何在 Ubuntu/Debian 上安装 GNU Parallel 和 Moreutils?

如何在 Ubuntu/Debian 上安装 GNU Parallel 和 Moreutils?

我可以让包管理器解决冲突吗,例如通过重命名二进制文件(例如 parallel → gparallel)或安装到其他位置(例如 /usr/ → /usr/local/)?

答案1

为了Ubuntu v17.04(“Zesty Zapus”)Debian v9(“Stretch”),(2017或更新版本),或基于这些版本的发行版,请阅读Bryan Larsen 的回答 第一的,这应该足够了。

对于之前的版本2017,继续阅读...


使用dpkg力量安装;平行线相处融洽更多工具-- 它重命名更多工具' parallelutil parallel.moreutils。安装完成后,两个程序(GNU更多工具) 均可用。

注意:如果有用户脚本调用旧的更多工具 parallel,将这些脚本更改为使用更长的名称。

详细信息:获取平行线包(无需安装或删除任何内容)。然后使用compgen,(bash内部命令)查找平行线存档中的软件包。如果有多个,则使用最新的。强制安装该软件包,尽管存在冲突。

apt-get --assume-yes --download-only install parallel &&
ls --sort=version $(compgen -f /var/cache/apt/archives/parallel) |
    tail -n 1 | xargs dpkg --force-conflicts -i

如何查看转移结果:

dpkg-divert --list 'par*'

输出:

diversion of /usr/share/man/man1/parallel.1.gz to  /usr/share/man/man1/parallel.moreutils.1.gz by parallel
diversion of /usr/bin/parallel to /usr/bin/parallel.moreutils by parallel

查看两个二进制可执行文件的可用性:

compgen -c parallel | xargs which | xargs ls -l

输出:

-rwxr-xr-x 1 root root 240814 Oct 31  2014 /usr/bin/parallel
-rwxr-xr-x 1 root root  10592 Jul 21  2015 /usr/bin/parallel.moreutils

答案2

此冲突的解决方式为Ubuntu 17.04Debian Stretch

如果您安装平行线&更多工具你得到了GNU parallel作为/usr/bin/parallel更多实用工具就像。parallel如果/usr/bin/parallel.moreutils你只安装更多工具, 它提供/usr/bin/parallel

如果你使用的是旧版本的Ubuntu或者Debian,您可以下载并安装较新版本的 .deb:它们可以正常安装和运行。

答案3

我想,最简单的方法是正常安装其中一个包(例如parallel),然后将另一个包提取到自定义路径:

$ sudo apt-get install libio-pty-perl libipc-run-perl
$ sudo apt-get download moreutils
$ dpkg -x moreutils_0.54-1_amd64.deb /tmp/moreutils
$ cd /tmp/moreutils/usr/bin/

答案4

GNU parallels 只是一个 perl 脚本,因此您可以将其复制到有用的地方(例如 /usr/local/bin/gnu-parallel)。

(只需检查 perl 依赖项)。

相关内容