আমি কীভাবে উবুন্টু / ডেবিয়ানে মোরেটিলসের পাশাপাশি জিএনইউ সমান্তরাল ইনস্টল করতে পারি?


22

আমি কি প্যাকেজ ব্যবস্থাপককে দ্বিধা সমাধান করতে পারি উদাহরণস্বরূপ বাইনারিটির নাম পরিবর্তন করে ( যেমন সমান্তরাল → gparallel ) বা অন্য কোনও জায়গায় ইনস্টল করে ( যেমন / usr / → / usr / স্থানীয় / )?

উত্তর:


19

জন্য উবুন্টু v17.04 ( "প্রাণবন্ত Zapus") এবং ডেবিয়ান V9 ( "প্রসারিত") , ( 2017 বা তার থেকে নতুন), অথবা ঐ সংস্করণের উপর ভিত্তি করে ডিস্ট্রো, দয়া করে পড়ুন ব্রায়ান লারসেন এর উত্তর প্রথম , যা যথেষ্ট হওয়া উচিত।

2017 এর পূর্ববর্তী সংস্করণগুলির জন্য , পড়ুন ...


ব্যবহার করুন dpkgথেকে জোর ইনস্টল; সমান্তরাল সঙ্গে চমত্কারভাবে বরাবর পায় moreutils - এটা renames moreutils ' parallelথেকে util 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
হয়তো না! এটি ঠিকঠাক কাজ করত , তবে লুবুন্টু বাক্সে, সমস্ত কিছু ইনস্টল হয়ে যায় তবে apt-get এর একটি সমান্তরাল থেকে মুক্তি পেতে চায় ... সম্ভবত অন্য একটি ওভাররাইডের প্রয়োজন। আরও পরে ...
এ.সি.সি.

... তা ছাড়া 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

@ কেআরএলএমএল, এটি আমার পক্ষে একটি নতুন ... বিটিডাব্লু, আপনি যদি উপরের কৌশলটি এখানে পোস্ট করতে আগ্রহী হন তবে ক্ষতিকারক 'ডিপি কেজি - ফোর্স-দ্বন্দ্ব' কুলডজ সহ্য করার জন্য অ্যাপ্লিকেশন বিকল্পগুলি সেট করুন? , আমি এটি upvote।
agc

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 / স্থানীয় / বিন / gnu-সমান্তরাল) অনুলিপি করতে পারেন।

(শুধু পার্ল নির্ভরতা পরীক্ষা করুন)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.