Wie kann ich GNU Parallel neben Moreutils auf Ubuntu/Debian installieren?

Wie kann ich GNU Parallel neben Moreutils auf Ubuntu/Debian installieren?

Kann ich den Paketmanager dazu bringen, den Konflikt zu lösen, z. B. durch Umbenennen der Binärdatei (zB parallel → gparallel) oder die Installation an einem anderen Ort (zB /usr/ → /usr/local/)?

Antwort1

FürUbuntu v17.04 („Zesty Zapus“)UndDebian v9 („Stretch“), (2017oder neuer) oder Distributionen, die auf diesen Versionen basieren, lesen Sie bitteBryan Larsens Antwort Erste, das sollte ausreichen.

Für Versionen von früher2017, weiter lesen...


Verwenden Sie dpkgfürGewaltdie Installation;parallelkommt gut klar mitmehrutils-- es benennt ummehrutils' parallelutil zu parallel.moreutils. Wenn die Installation abgeschlossen ist, werden beide Programme (GNUUndmehrutils) stehen zur Verfügung.

NB: falls vorhandenBenutzerSkripte rufen die altenmehrutils parallel, ändern Sie diese Skripts, um den längeren Namen zu verwenden.

Einzelheiten: AbrufenparallelPaket (ohne etwas zu installieren oder zu entfernen). Dann verwenden Sie compgen, (ein bashinterner Befehl), findenparallelPaket im Archiv. Wenn mehr als eines vorhanden ist, verwenden Sie das neueste. Erzwingen Sie die Installation dieses Pakets, trotz Konflikten.

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

So können Sie die resultierenden Umleitungen einsehen:

dpkg-divert --list 'par*'

Ausgabe:

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

Sehen Sie, wie beide ausführbaren Binärdateien verfügbar sind:

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

Ausgabe:

-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

Antwort2

Dieser Konflikt wird gelöst inUbuntu 17.04UndDebian Stretch.

Wenn Sie installierenparallelundmehrutilsSie erhalten dieGNU parallelals /usr/bin/parallelundmehrutil's parallelals /usr/bin/parallel.moreutils. Wenn Sie nur installierenmehrutils, es bietet /usr/bin/parallel.

Wenn Sie eine ältere Version vonUbuntuoderDebian, Sie könnten die .deb-Dateien einer neueren Version herunterladen und installieren: Sie lassen sich problemlos installieren und funktionieren.

Antwort3

Ich denke, der einfachste Weg wäre, eines der Pakete normal zu installieren (z. B. parallel) und einfach ein anderes in den benutzerdefinierten Pfad zu extrahieren:

$ 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/

Antwort4

GNU Parallels ist nur ein Perl-Skript, Sie können es also einfach an einen nützlichen Ort kopieren (z. B. /usr/local/bin/gnu-parallel).

(Überprüfen Sie einfach die Perl-Abhängigkeiten).

verwandte Informationen