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 ' parallelutil 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 bashinternen 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 installsich 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 installdavor, dass das parallelPaket nicht aktualisiert wird, zeigt aber apt-cache policykeine unterschiedlichen Versionen an und apt-get dist-upgradeberührt das parallelPaket auch nicht . Ein Upgrade parallelscheint 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/parallelund moreutil 's parallelas /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).