मैं Ubuntu / डेबियन पर Moreutils के साथ GNU समानांतर कैसे स्थापित कर सकता हूं?


22

क्या मैं बाइनरी का नाम बदलकर ( जैसे समानांतर → गपरलेंट ) या एक अलग स्थान पर स्थापित करके ( जैसे / usr / → / usr / स्थानीय / ) पैकेज मैनेजर को संघर्ष को हल कर सकता हूं ?

जवाबों:


19

के लिए Ubuntu v17.04 ( "Zesty Zapus") और डेबियन v9 ( "मांसपेशियों") , ( 2017 या नया), या उन संस्करणों पर आधारित distros, कृपया इसे पढ़ें ब्रायन लार्सन का जवाब पहले , जो पर्याप्त होना चाहिए।

2017 से पहले के संस्करणों के लिए , पर पढ़ें ...


स्थापित करने के dpkgलिए मजबूर करने के लिए उपयोग करें ; समानांतर अधिक बारीकियों के साथ मिलता है - यह अधिक्यूटाइल के उपयोग का नाम बदल देताparallel है parallel.moreutils। जब इंस्टॉल किया जाता है तो दोनों प्रोग्राम ( जीएनयू और मोरटाइल ) उपलब्ध हैं।

एनबी: यदि कोई उपयोगकर्ता स्क्रिप्ट पुराने अधिकरणों को कॉल करती हैparallel , तो उन स्क्रिप्ट को लंबे नाम का उपयोग करने के लिए बदल दें।

विवरण: समानांतर पैकेज प्राप्त करें (कुछ भी स्थापित या हटाए बिना)। फिर compgen(एक bashआंतरिक कमांड) का उपयोग करके , संग्रह में समानांतर पैकेज ढूंढें । यदि एक से अधिक हैं, तो नवीनतम का उपयोग करें। बल पैकेज है कि संघर्ष के बावजूद स्थापित करने के लिए।

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

परिणामी विविधताएँ कैसे देखें:

dpkg-divert --list 'par*'

आउटपुट:

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

देखें कि दोनों बाइनरी निष्पादन कैसे उपलब्ध हैं:

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

आउटपुट:

-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
शायद नहीं! यह प्रयोग किया जाता है काम ठीक करने के लिए, लेकिन एक Lubuntu बॉक्स, सब कुछ इंस्टॉल पर है, लेकिन apt-get एक समानताएं से छुटकारा पाने के लिए इच्छुक रहता है ... शायद एक और ओवरराइड की जरूरत है। और बाद में ...
14

... सिवाय इसके कि apt-get installसंघर्ष के बारे में शिकायत करता रहता है, जैसा कि आपने पहले लिखा था।
krlmlr

1
मैंने /var/lib/dpkg/statusसंघर्ष को दूर करने के लिए संपादन किया । "संघर्ष: अधिक जानकारी" के लिए खोज की गई, इस लाइन को हटा दिया गया। स्रोत: superuser.com/a/815371/99136 । अब काम करने लगता है, लेकिन मुझे डर है कि "समानांतर" पैकेज का एक अपडेट चीजों को फिर से तोड़ देगा।
krlmlr

1
नहींं: apt-get installचेताते हैं कि parallelपैकेज उन्नत नहीं होगा, लेकिन apt-cache policyअलग-अलग संस्करण नहीं दिखाते हैं, और यहां तक apt-get dist-upgradeकि parallelपैकेज को स्पर्श भी नहीं करेंगे । इसलिए, उन्नयन parallelएक ऐसी प्रक्रिया प्रतीत होती है जिसे सचेत रूप से शुरू करना होगा। मेरे लिए उत्तम है।
krlmlr

@krlmlr, यह मुझ पर एक नया है ... BTW, यदि आप ऊपर दिए गए ट्रिक को यहां पोस्ट करने के लिए बहुत दयालु होंगे तो हानिरहित 'dpkg --force-conflicts' कीचड़ को सहन करने के लिए apt-get विकल्प चुनें। , मैं इसे बढ़ाऊंगा।
एजीसी

7

यह संघर्ष उबंटू 17.04 और डेबियन स्ट्रेच में हल किया गया है ।

आप स्थापित कर लेते हैं समानांतर और moreutils आपको मिल जीएनयू parallel के रूप में /usr/bin/parallelऔर moreutil के parallelरूप में /usr/bin/parallel.moreutils। यदि आप केवल अधिक्यूटाइल स्थापित करते हैं , तो यह प्रदान करता है /usr/bin/parallel

यदि आप उबंटू या डेबियन के पुराने संस्करण का उपयोग कर रहे हैं , तो आप .deb के नए संस्करण से डाउनलोड और इंस्टॉल कर सकते हैं: वे ठीक से काम करते हैं।


1

मुझे लगता है, सबसे आसान मार्ग सामान्य रूप से पैकेजों में से एक को स्थापित करना होगा (जैसे parallel) और कस्टम पथ में एक और एक निकालने के लिए:

$ 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

जीएनयू समानताएं सिर्फ एक पर्ल स्क्रिप्ट है, इसलिए आप इसे कहीं उपयोगी (जैसे / usr / स्थानीय / बिन / ग्नू-समानांतर) कॉपी कर सकते हैं।

(सिर्फ पर्ल निर्भरता की जाँच करें)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.