Jawaban:
Untuk Ubuntu v17.04 ("Zesty Zapus") dan Debian v9 ("Stretch") , ( 2017 atau yang lebih baru), atau distro berdasarkan versi-versi itu, silakan baca jawaban Bryan Larsen terlebih dahulu , yang seharusnya cukup.
Untuk versi dari sebelum 2017 , baca terus ...
Gunakan dpkg
untuk memaksa instalasi; paralel bisa bergaul dengan baik dengan MoreUtils - itu mengganti nama MoreUtils ' parallel
util untuk parallel.moreutils
. Ketika instalasi selesai, kedua program ( GNU dan moreutils ) tersedia.
NB: jika ada skrip pengguna yang memanggil moreutils lama parallel
, ubah skrip tersebut untuk menggunakan nama yang lebih panjang.
Detail: Ambil paket paralel (tanpa menginstal atau menghapus apa pun). Kemudian menggunakan compgen
, ( bash
perintah internal), temukan paket paralel dalam arsip. Jika ada lebih dari satu, gunakan yang terbaru. Paksa paket itu untuk menginstal, meskipun ada konflik.
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
Cara melihat pengalihan yang dihasilkan:
dpkg-divert --list 'par*'
Keluaran:
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
Lihat bagaimana kedua executable biner tersedia:
compgen -c parallel | xargs which | xargs ls -l
Keluaran:
-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
terus mengeluh tentang konflik, seperti yang Anda tulis sebelumnya.
/var/lib/dpkg/status
untuk menghapus konflik. Mencari "Konflik: moreutils", menghapus baris ini. Sumber: superuser.com/a/815371/99136 . Tampaknya berfungsi sekarang, tetapi saya khawatir pembaruan dari paket "paralel" akan merusak lagi.
apt-get install
memperingatkan bahwa parallel
paket tidak akan ditingkatkan, tetapi apt-cache policy
tidak menampilkan versi yang berbeda, dan bahkan apt-get dist-upgrade
tidak akan menyentuh parallel
paket. Jadi, peningkatan parallel
tampaknya merupakan proses yang harus dimulai secara sadar. Baik dengan saya.
Jika Anda menginstal parallel & moreutils Anda mendapatkan GNU parallel
as /usr/bin/parallel
dan moreutil 's parallel
as /usr/bin/parallel.moreutils
. Jika Anda hanya menginstal lebih banyak kernel , ia menyediakan /usr/bin/parallel
.
Jika Anda menggunakan versi Ubuntu atau Debian yang lebih lama , Anda dapat mengunduh dan menginstal .deb dari versi yang lebih baru: mereka menginstal & berfungsi dengan baik.
Saya kira, rute termudah adalah menginstal salah satu paket secara normal (mis. parallel
) Dan mengekstrak yang lain ke jalur khusus:
$ 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/
Paralel GNU hanyalah skrip perl, jadi Anda bisa menyalinnya di tempat yang berguna (mis. / Usr / local / bin / gnu-parallel).
(Cukup periksa dependensi perl).