![Ubuntu/Debian で Moreutils と一緒に GNU Parallel をインストールするにはどうすればよいですか?](https://rvso.com/image/1451229/Ubuntu%2FDebian%20%E3%81%A7%20Moreutils%20%E3%81%A8%E4%B8%80%E7%B7%92%E3%81%AB%20GNU%20Parallel%20%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
パッケージマネージャでバイナリの名前を変更するなどして競合を解決できますか(例: parallel → gparallel) または別の場所にインストールする (例: /usr/ → /usr/local/)?
答え1
のためにUbuntu v17.04 (「Zesty Zapus」)そしてDebian v9 (「ストレッチ」)、(2017またはそれ以降のバージョン、またはそれらのバージョンをベースにしたディストリビューションをお使いの場合は、ブライアン・ラーセンの回答 初め、これで十分なはずです。
以前のバージョンの場合2017、 読む...
dpkg
に使用力インストール。平行仲良くやっていくもっと見る-- 名前が変更されますもっと見る' parallel
util に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 の依存関係を確認してください)。