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

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

我可以讓套件管理器解決衝突,例如透過重命名二進位檔案(例如並行 → gparallel)或安裝到不同的地方(例如 /usr/ → /usr/local/)?

答案1

為了Ubuntu v17.04(「Zesty Zapus」)Debian v9(“拉伸”), (2017年或更新版本),或基於這些版本的發行版,請閱讀布萊恩·拉森的回答 第一的,這應該夠了。

對於先前的版本2017年,繼續閱讀...


dpkg用於力量安裝;平行線相處得很好更多實用程式——它重命名了更多實用程式'parallel實用程式到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

這個衝突解決了烏班圖17.04Debian 拉伸

如果你安裝平行線&更多實用程式你得到GNU parallel作為/usr/bin/parallel更多實用程式parallel作為/usr/bin/parallel.moreutils.如果你只安裝更多實用程式, 它提供/usr/bin/parallel

如果您使用的是舊版本烏班圖或者德班,您可以從較新的版本下載並安裝 .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 parallel 只是一個 perl 腳本,因此您可以將其複製到有用的地方(例如 /usr/local/bin/gnu-parallel)。

(只需檢查 perl 依賴項)。

相關內容