Ubuntu/Debian で Moreutils と一緒に GNU Parallel をインストールするにはどうすればよいですか?

Ubuntu/Debian で Moreutils と一緒に GNU Parallel をインストールするにはどうすればよいですか?

パッケージマネージャでバイナリの名前を変更するなどして競合を解決できますか(例: parallel → gparallel) または別の場所にインストールする (例: /usr/ → /usr/local/)?

答え1

のためにUbuntu v17.04 (「Zesty Zapus」)そしてDebian v9 (「ストレッチ」)、(2017またはそれ以降のバージョン、またはそれらのバージョンをベースにしたディストリビューションをお使いの場合は、ブライアン・ラーセンの回答 初め、これで十分なはずです。

以前のバージョンの場合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

この対立は、ウブントゥ 17.04そしてデビアンストレッチ

インストールする場合平行もっと見るあなたはGNU parallelとして/usr/bin/parallelそしてもっと見るparallelのようになります/usr/bin/parallel.moreutils。インストールのみの場合もっと見る、それは提供します/usr/bin/parallel

古いバージョンを使用している場合ウブントゥまたはデビアン新しいバージョンの .deb をダウンロードしてインストールすることもできます。インストールして問題なく動作します。

答え3

おそらく、最も簡単な方法は、パッケージの 1 つを通常どおりインストールし (例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 の依存関係を確認してください)。

関連情報