Risposte:
Per Ubuntu v17.04 ("Zesty Zapus") e Debian v9 ("Stretch") , ( 2017 o più recente) o distribuzioni basate su tali versioni, leggi prima la risposta di Bryan Larsen , che dovrebbe essere sufficiente.
Per le versioni precedenti al 2017 , continua a leggere ...
Utilizzare dpkg
per forzare l'installazione; Parallelamente va d'accordo bene con moreutils - rinomina moreutils ' parallel
util a parallel.moreutils
. Al termine dell'installazione sono disponibili entrambi i programmi ( GNU e moreutils ).
NB: se uno script utente chiama il vecchio codice parallel
, cambia quegli script per usare il nome più lungo.
Dettagli: scarica il pacchetto parallelo (senza installare o rimuovere nulla). Quindi utilizzando compgen
, (un bash
comando interno), trovare un pacchetto parallelo nell'archivio. Se ce n'è più di uno, usa l'ultimo. Forza l'installazione di quel pacchetto, nonostante i conflitti.
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
Come visualizzare le deviazioni risultanti:
dpkg-divert --list 'par*'
Produzione:
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
Scopri come sono disponibili entrambi gli eseguibili binari:
compgen -c parallel | xargs which | xargs ls -l
Produzione:
-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
continua a lamentarsi del conflitto, come hai scritto prima.
/var/lib/dpkg/status
per rimuovere il conflitto. Ricerca "Conflicts: moreutils", eliminata questa riga. Fonte: superuser.com/a/815371/99136 . Sembra funzionare ora, ma temo che un aggiornamento del pacchetto "parallelo" rompa nuovamente le cose.
apt-get install
avvisa che il parallel
pacchetto non verrà aggiornato, ma apt-cache policy
non mostra versioni diverse e apt-get dist-upgrade
non tocca nemmeno il parallel
pacchetto. Quindi, l'aggiornamento parallel
sembra essere un processo che deve essere avviato consapevolmente. Bene con me.
Se installi parallel & moreutils ottieni GNU parallel
as /usr/bin/parallel
e moreutil 's parallel
as /usr/bin/parallel.moreutils
. Se si installa solo moreutils , fornisce /usr/bin/parallel
.
Se stai usando una versione precedente di Ubuntu o Debian , puoi scaricare e installare i .deb da una versione più recente: si installano e funzionano bene.
Immagino, il percorso più semplice sarebbe quello di installare normalmente uno dei pacchetti (es. parallel
) Ed estrarne un altro nel percorso personalizzato:
$ 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/
I paralleli GNU sono solo uno script perl, quindi potresti semplicemente copiarlo in qualche posto utile (ad es. / Usr / local / bin / gnu-parallel).
(Basta controllare le dipendenze perl).