Réponses:
Pour Ubuntu v17.04 ( "Zesty Zapus") et Debian v9 ( "Stretch") , ( 2017 ou plus récent), ou distros basées sur ces versions, s'il vous plaît lire la réponse de Bryan Larsen premier , qui devrait être suffisant.
Pour les versions antérieures à 2017 , lisez la suite ...
Utilisez dpkg
pour forcer l'installation; parallèle s'entend bien avec moreutils - il renomme l' utilité de moreutilsparallel
en parallel.moreutils
. Une fois l'installation terminée, les deux programmes ( GNU et moreutils ) sont disponibles.
NB: si des scripts utilisateur appellent les anciens moreutils parallel
, changez ces scripts pour utiliser le nom plus long.
Détails: récupérer le package parallèle (sans rien installer ni supprimer). Ensuite, à l'aide de compgen
(une bash
commande interne), recherchez le package parallèle dans l'archive. S'il y en a plusieurs, utilisez la dernière. Forcer l'installation de ce package, malgré les conflits.
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
Comment afficher les détournements résultants:
dpkg-divert --list 'par*'
Sortie:
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
Découvrez comment les deux exécutables binaires sont disponibles:
compgen -c parallel | xargs which | xargs ls -l
Sortie:
-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
continue de se plaindre du conflit, comme vous l'avez écrit plus tôt.
/var/lib/dpkg/status
pour supprimer le conflit. Vous avez recherché "Conflicts: moreutils", supprimé cette ligne. Source: superuser.com/a/815371/99136 . Semble fonctionner maintenant, mais je crains qu'une mise à jour du package "parallèle" ne brise à nouveau les choses.
apt-get install
prévient que le parallel
package ne sera pas mis à niveau, mais apt-cache policy
n'affiche pas de versions différentes et apt-get dist-upgrade
ne touchera même pas le parallel
package. La mise parallel
à niveau semble donc être un processus qui doit être initié consciemment. Ça va pour moi.
Si vous installez parallel & moreutils vous obtenez le GNU parallel
as /usr/bin/parallel
et moreutil 's parallel
as /usr/bin/parallel.moreutils
. Si vous installez uniquement moreutils , il fournit /usr/bin/parallel
.
Si vous utilisez une ancienne version d' Ubuntu ou de Debian , vous pouvez télécharger et installer les .deb à partir d'une version plus récente: ils s'installent et fonctionnent très bien.
Je suppose que la voie la plus simple serait d'installer normalement l'un des packages (par exemple parallel
) et d'en extraire un autre sur le chemin personnalisé:
$ 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 n'est qu'un script perl, vous pouvez donc simplement le copier dans un endroit utile (par exemple / usr / local / bin / gnu-parallel).
(Il suffit de vérifier les dépendances perl).