Respuestas:
Para Ubuntu v17.04 ("Zesty Zapus") y Debian v9 ("Stretch") , ( 2017 o más reciente), o distribuciones basadas en esas versiones, lea primero la respuesta de Bryan Larsen , que debería ser suficiente.
Para versiones anteriores a 2017 , sigue leyendo ...
Use dpkg
para forzar la instalación; Paralelamente se lleva muy bien con moreutils - renombra moreutils ' parallel
util a parallel.moreutils
. Cuando se realiza la instalación, ambos programas ( GNU y moreutils ) están disponibles.
Nota: si alguna secuencia de comandos de usuario llama a moreutils anteriores parallel
, cambie esas secuencias de comandos para usar el nombre más largo.
Detalles: Obtenga el paquete paralelo (sin instalar ni quitar nada). Luego compgen
, usando (un bash
comando interno), busque el paquete paralelo en el archivo. Si hay más de uno, use el último. Fuerce la instalación de ese paquete, a pesar de los conflictos.
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
Cómo ver los desvíos resultantes:
dpkg-divert --list 'par*'
Salida:
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
Vea cómo ambos ejecutables binarios están disponibles:
compgen -c parallel | xargs which | xargs ls -l
Salida:
-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
sigue quejándose del conflicto, como escribiste anteriormente.
/var/lib/dpkg/status
para eliminar el conflicto. Busqué "Conflictos: moreutils", eliminó esta línea. Fuente: superuser.com/a/815371/99136 . Parece funcionar ahora, pero me temo que una actualización del paquete "paralelo" volverá a romper las cosas.
apt-get install
advierte que el parallel
paquete no se actualizará, pero apt-cache policy
no muestra versiones diferentes, e incluso apt-get dist-upgrade
no tocará el parallel
paquete. Entonces, la actualización parallel
parece ser un proceso que debe iniciarse conscientemente. Bien por mi.
Si instala en paralelo y moreutils se obtiene la GNU parallel
como /usr/bin/parallel
y moreutil 's parallel
como /usr/bin/parallel.moreutils
. Si solo instala moreutils , proporciona /usr/bin/parallel
.
Si está utilizando una versión anterior de Ubuntu o Debian , puede descargar e instalar los .deb de una versión más nueva: se instalan y funcionan bien.
Supongo que la ruta más fácil sería instalar uno de los paquetes normalmente (por ejemplo parallel
) y simplemente extraer otro a la ruta personalizada:
$ 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 es solo un script perl, por lo que podría copiarlo en algún lugar útil (por ejemplo, / usr / local / bin / gnu-parallel).
(Solo verifique las dependencias perl).