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 dpkgpour 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 bashcommande 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 installcontinue de se plaindre du conflit, comme vous l'avez écrit plus tôt.
/var/lib/dpkg/statuspour 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 installprévient que le parallelpackage ne sera pas mis à niveau, mais apt-cache policyn'affiche pas de versions différentes et apt-get dist-upgradene touchera même pas le parallelpackage. 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/parallelet moreutil 's parallelas /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).