当前位置: 首页>>技术教程>>正文


如何在Ubuntu/Debian上与Moreutils一起安装GNU Parallel?

, ,

问题描述

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

最佳方案

对于Ubuntu v17.04(“Zesty Zapus”)和Debian v9(“Stretch”)(2017或更高版本)或基于这些版本的发行版,请首先阅读Bryan Larsen’s answer,这足够了。

对于2017年之前的版本,请继续阅读…


使用dpkg强制安装; parallel与moreutils相处融洽-将moreutils的parallel util重命名为parallel.moreutils。安装完成后,两个程序(GNU和moreutils)都可用。

注意:如果有任何用户脚本调用旧的moreutils 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

次佳方案

此冲突已在Ubuntu 17.04和Debian Stretch中解决。

如果您安装并行&在moreutils中,您可以将GNU parallel作为/usr/bin/parallel以及moreutil的parallel作为/usr/bin/parallel.moreutils。如果仅安装moreutils,它将提供/usr/bin/parallel

如果您使用的是Ubuntu或Debian的旧版本,则可以从较新的版本下载并安装.deb:它们会安装&工作很好。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9724.html,未经允许,请勿转载。