GNU Parallel'u Ubutu / Debian'da Moreutils ile birlikte nasıl kurabilirim?


22

Paket yöneticisini, örneğin ikili dosyayı yeniden adlandırarak ( örneğin, paralel → paralel ) veya farklı bir yere kurarak ( örneğin / usr / → / usr / local / ) paket yöneticisini çözebilir miyim ?

Yanıtlar:


19

İçin Ubuntu v17.04 ( "Zesty Zapus") ve Debian v9 ( "Stretch") , ( 2017 veya daha yeni) veya bu sürümleri dayalı dağıtımlar, lütfen okuyun Bryan Larsen cevabı ilk yeterli olmalıdır ki,.

2017'den önceki sürümler için okumaya devam edin ...


Kullanım dpkgiçin zorlamak yükleyin; Paralel ile güzel anlaşıyor moreutils - bu yeniden adlandırır moreutils ' paralleliçin util parallel.moreutils. Kurulum tamamlandığında her iki program da ( GNU ve moreutils ) kullanılabilir.

Not: Herhangi bir kullanıcı komut dosyası eski daha fazla ismi çağırırsa parallel , daha uzun olanı kullanmak için bu komut dosyalarını değiştirin.

Ayrıntılar: Paralel paketi al (bir şey yüklemeden veya çıkarmadan). Daha sonra compgen, (bir bashiç komut) kullanarak , arşivdeki paralel paketi bulun . Birden fazla varsa, sonuncuyu kullanın. Çakışmalara rağmen bu paketi kurmaya zorla.

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

Elde edilen sapmalar nasıl görülür?

dpkg-divert --list 'par*'

Çıktı:

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

Her iki ikili çalıştırılabilirin nasıl mevcut olduğunu görün:

compgen -c parallel | xargs which | xargs ls -l

Çıktı:

-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

1
Belki de değil! Bu kullanılan çalışma OK, ama bir Lubuntu kutu, her şeyi yükleme işlemlerinde, ama apt-get muhtemelen başka geçersiz kılma ihtiyacı ... tek paralellik kurtulmak isteyen tutar. Daha sonra ...
agc

... bunun dışında, apt-get installdaha önce yazdığınız gibi, çatışma hakkında şikayet etmeye devam ediyor.
krlmlr

1
/var/lib/dpkg/statusÇatışmayı kaldırmak için düzenleme yaptım . "Çatışmalar: moreutils" arandı, bu satırı silindi. Kaynak: superuser.com/a/815371/99136 . Şimdi çalışıyor gibi görünüyor, ama "paralel" paketin bir güncellemesinin tekrar işleri kıracağından korkuyorum.
krlmlr

1
Hayır: Paketin yükseltilmeyeceği, ancak farklı sürümleri göstermediği ve hatta pakete dokunmadığı apt-get installkonusunda uyarır . Dolayısıyla, yükseltme bilinçli olarak başlatılması gereken bir süreç gibi görünüyor. Bana uyar. parallelapt-cache policyapt-get dist-upgradeparallelparallel
krlmlr


7

Bu çatışma Ubuntu 17.04 ve Debian Stretch'te çözüldü .

Eğer yüklerseniz paralel ve moreutils almak GNU'yu parallel olarak /usr/bin/parallelve moreutil 'ın parallelolarak /usr/bin/parallel.moreutils. Yalnızca daha fazla öğe yüklerseniz , sağlar /usr/bin/parallel.

Ubuntu veya Debian'ın eski bir sürümünü kullanıyorsanız , .deb'ları daha yeni bir sürümden indirip yükleyebilirsiniz: bunlar düzgün çalışır ve çalışırlar.


1

Sanırım, en kolay yol paketlerden birini normal bir şekilde (örneğin parallel) yüklemek ve başka bir tane daha özel yola çıkarmak olacaktır.

$ 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/

1

GNU paralellikler sadece bir perl betiğidir, bu yüzden onu yararlı bir yere kopyalayabilirsiniz (örneğin / usr / local / bin / gnu-parallel).

(Sadece perl bağımlılıklarını kontrol edin).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.