Como posso instalar o GNU Parallel juntamente com o Moreutils no Ubuntu / Debian?

17

Posso fazer com que o gerenciador de pacotes resolva o conflito? renomeando o binário ( por exemplo, paralelo → gparallel ) ou instalando em um lugar diferente ( por exemplo, / usr / → / usr / local / )?

    
por PSkocik 21.05.2015 / 09:28

4 respostas

15

Para o Ubuntu v17.04 ("Zesty Zapus") e Debian v9 ("Stretch") , ( 2017 ou mais recente), ou distros com base nessas versões, leia a resposta de Bryan Larsen primeiro , que deve ser suficiente.

Para versões anteriores a 2017 , continue a ler ...

Use dpkg para forçar a instalação; O paralelo se dá bem com moreutils - renomeia moreutils ' parallel util para parallel.moreutils . Quando a instalação é feita, ambos os programas ( GNU e moreutils ) estão disponíveis.

NB: se algum script usuário chamar o antigo moreutils parallel , altere esses scripts para usar o nome mais longo.

Detalhes: Buscar o pacote paralelo (sem instalar ou remover nada). Em seguida, usando compgen , (um comando bash internal), localize o pacote parallel no archive. Se houver mais de um, use o mais recente. Forçar esse pacote a instalar, 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
    
por 05.05.2016 / 14:43
4

Este conflito é resolvido no Ubuntu 17.04 e Debian Stretch .

Se você instalar o paralelo & moreutils você recebe o GNU parallel como /usr/bin/parallel e moreutil 's parallel as /usr/bin/parallel.moreutils . Se você instala apenas moreutils , ele fornece /usr/bin/parallel .

Se você estiver usando uma versão mais antiga do Ubuntu ou Debian , você pode baixar e instalar o .deb de uma versão mais recente: eles instalam o & funciona bem.

    
por 25.09.2017 / 17:41
1

Eu acho que o caminho 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/
    
por 21.05.2015 / 20:31
1

O paralelismo GNU é apenas um script perl, então você pode simplesmente copiá-lo em algum lugar útil (por exemplo, / usr / local / bin / gnu-parallel).

(Basta verificar as dependências perl).

    
por 07.12.2016 / 13:15