Antworten:
Für Ubuntu v17.04 ("Zesty Zapus") und Debian v9 ("Stretch") ( 2017 oder neuer) oder Distributionen, die auf diesen Versionen basieren, lesen Sie bitte zuerst die Antwort von Bryan Larsen , die ausreichend sein sollte.
Für Versionen vor 2017 lesen Sie weiter ...
Verwenden Sie dpkg
, um die Installation zu erzwingen ; parallel wird entlang gut mit moreutils - es umbenennt moreutils ' parallel
util zu parallel.moreutils
. Nach Abschluss der Installation sind beide Programme ( GNU und moreutils ) verfügbar.
NB: Wenn ein Benutzerskript die alten moreutils aufruft parallel
, ändern Sie diese Skripte, um den längeren Namen zu verwenden.
Details: Paralleles Paket holen (ohne etwas zu installieren oder zu entfernen). Verwenden Sie dann compgen
(einen bash
internen Befehl), um das parallele Paket im Archiv zu finden. Wenn es mehrere gibt, verwenden Sie die neueste. Erzwinge 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 zeigen Sie die resultierenden Umleitungen an:
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
apt-get install
sich weiterhin über den Konflikt beschweren, wie Sie zuvor geschrieben haben.
/var/lib/dpkg/status
, um den Konflikt zu entfernen. Gesucht nach "Conflicts: moreutils", löschte diese Zeile. Quelle: superuser.com/a/815371/99136 . Scheint jetzt zu funktionieren, aber ich befürchte, dass ein Update des "Parallel" -Pakets die Dinge wieder kaputt machen wird.
apt-get install
davor, dass das parallel
Paket nicht aktualisiert wird, zeigt aber apt-cache policy
keine unterschiedlichen Versionen an und apt-get dist-upgrade
berührt das parallel
Paket auch nicht . Ein Upgrade parallel
scheint also ein Prozess zu sein, der bewusst angestoßen werden muss. Für mich in Ordnung.
Wenn Sie parallel & moreutils installieren, erhalten Sie GNU parallel
as /usr/bin/parallel
und moreutil 's parallel
as /usr/bin/parallel.moreutils
. Wenn Sie nur moreutils installieren , bietet es /usr/bin/parallel
.
Wenn Sie eine ältere Version von Ubuntu oder Debian verwenden , können Sie die .debs von einer neueren Version herunterladen und installieren: Sie installieren und funktionieren einwandfrei.
Ich denke, der einfachste Weg wäre, eines der Pakete normal zu installieren (zB parallel
) und ein anderes einfach 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/
GNU Parallels ist nur ein Perl-Skript, Sie können es also einfach an eine nützliche Stelle kopieren (z. B. / usr / local / bin / gnu-parallel).
(Überprüfen Sie einfach die Perl-Abhängigkeiten).