Respostas:
Para Ubuntu v17.04 ("Zesty Zapus") e Debian v9 ("Stretch") , ( 2017 ou mais recente) ou distribuições baseadas nessas versões, leia a resposta de Bryan Larsen primeiro , o que deve ser suficiente.
Para versões anteriores a 2017 , continue lendo ...
Use dpkgpara forçar a instalação; O paralelo se dá muito bem com o moreutils - renomeia o utilitário do moreutilsparallel para parallel.moreutils. Quando a instalação é concluída, ambos os programas ( GNU e moreutils ) estão disponíveis.
Nota: se algum script de usuário chamar o antigo moreutils parallel , altere-o para usar o nome mais longo.
Detalhes: Busque o pacote paralelo (sem instalar ou remover nada). Em seguida compgen, usando (um bashcomando interno), encontre o pacote paralelo no arquivo morto. Se houver mais de um, use o mais recente. Forçar a instalação desse pacote, apesar dos conflitos.
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
Como visualizar os desvios resultantes:
dpkg-divert --list 'par*'
Saída:
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
Veja como os dois executáveis binários estão disponíveis:
compgen -c parallel | xargs which | xargs ls -l
Saída:
-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 installcontinua reclamando do conflito, como você escreveu anteriormente.
/var/lib/dpkg/statuspara remover o conflito. Pesquisou por "Conflitos: moreutils", excluiu esta linha. Fonte: superuser.com/a/815371/99136 . Parece funcionar agora, mas temo que uma atualização do pacote "paralelo" interrompa as coisas novamente.
apt-get installavisa que o parallelpacote não será atualizado, mas apt-cache policynão mostra versões diferentes e nem apt-get dist-upgradetoca no parallelpacote. Portanto, a atualização parallelparece ser um processo que precisa ser iniciado conscientemente. Tudo bem por mim.
Se você instala o paralelo & moreutils, obtém o GNU parallel as /usr/bin/parallele moreutil 's parallelcomo /usr/bin/parallel.moreutils. Se você instalar apenas o moreutils , ele fornece /usr/bin/parallel.
Se você estiver usando uma versão mais antiga do Ubuntu ou Debian , poderá baixar e instalar o .deb a partir de uma versão mais recente: eles instalam e funcionam perfeitamente.
Eu acho que a rota mais fácil seria instalar um dos pacotes normalmente (por exemplo parallel) e apenas extrair outro para o caminho personalizado:
$ 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/
Paralelos GNU é apenas um script perl, então você pode copiá-lo em algum lugar útil (por exemplo, / usr / local / bin / gnu-parallel).
(Apenas verifique as dependências do perl).