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 dpkg
para 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 bash
comando 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 install
continua reclamando do conflito, como você escreveu anteriormente.
/var/lib/dpkg/status
para 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 install
avisa que o parallel
pacote não será atualizado, mas apt-cache policy
não mostra versões diferentes e nem apt-get dist-upgrade
toca no parallel
pacote. Portanto, a atualização parallel
parece 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/parallel
e moreutil 's parallel
como /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).