অ্যাপটি-গেটের মাধ্যমে কীভাবে প্যাকেজ ডাউনগ্রেড করবেন?


309

আমি কীভাবে কোনও প্যাকেজটিকে পুরানো সংস্করণে ডাউনগ্রেড করতে পারি apt-get?

অন্যান্য সরঞ্জামগুলি গ্রহণযোগ্য তবে apt-getপছন্দনীয়।

উত্তর:


306

আপনার কাছে সংস্করণ নম্বর, বা লক্ষ্য প্রকাশ, যদি apt-getকোনও নির্দিষ্ট সংস্করণ বা লক্ষ্য প্রকাশের পক্ষে সমর্থন করে। অ্যাপট-গেটের ম্যানুয়াল পৃষ্ঠায় আরও বিশদ পাওয়া যাবে । এটি টাইপ করে টার্মিনাল থেকেও অ্যাক্সেস করা যায়man apt-get

sudo apt-get install <package-name>=<package-version-number> অথবা

sudo apt-get -t=<target release> install <package-name>

চালানো আদেশ। এটি কোনও নির্দিষ্ট সংস্করণে প্যাকেজটিকে ডাউন-গ্রেড করতে ব্যবহৃত হতে পারে।

এটি সহায়ক মন্তব্যে উল্লেখ করা হয়েছে যে

  • apt-cache showpkg <package-name>সমস্ত উপলব্ধ সংস্করণ তালিকাভুক্ত। (এইচ / টি স্পারহক )
  • apt-mark hold <package-name> স্বয়ংক্রিয় আপগ্রেডগুলি প্রতিরোধ করে বর্তমান সংস্করণে প্যাকেজটি "ধারণ করে" (এইচ / টি লুস ডি সউসা )

57
এছাড়াও, apt-cache showpkg <package-name>উপলব্ধ সংস্করণ তালিকা করতে ব্যবহার করুন ।
স্পারহাক

16
এবং এরপরে আপনি চালানোর ইচ্ছাও করতে পারেন: apt-mark hold <package-name>স্বয়ংক্রিয়ভাবে আপগ্রেডগুলি এড়াতে।
Luís de Sousa

4
আমি দেখতে পেলাম যে aptitudeনির্ভরতাগুলি এর চেয়ে আরও উন্নত apt-get
ক্রিস্পি

5
apt-cache policy <package-name>কেবল ইনস্টল করা এবং উপলভ্য সংস্করণগুলি দেখায়
মাইকেল লটন

18
এবং যদি showpkgআপনার আগ্রহী সংস্করণটি না দেখায় তবে কী হবে?
ডেমোঙ্গোলেম

103

ব্যবহারের

apt-get install «pkg»=«version»

অথবা

sudo aptitude install «pkg»=«version»

যেখানে «pkg হ'ল প্যাকেজের নাম এবং « সংস্করণ the সংস্করণ নম্বর।


3
আমি যখন apt-get install pkg=version
অ্যাপটি

যেমন আরও ভোট দিয়ে (অন্যভাবে অভিন্ন) উত্তরে নির্দেশিত হয়েছে, এটি aptitudeএমন একটি মূল ক্ষেত্রে বলে মনে হয় যেখানে এর চেয়ে আরও ভাল কাজ করা যায় apt-get। আমার ক্ষেত্রে apt-getডাউনগ্রেডের অনুরোধটি স্পষ্টভাবে প্রত্যাখ্যান করেছে, যেখানে aptitudeউল্লেখ করেছেন যে অন্যান্য সংস্করণগুলি ছিল যা নতুন সংস্করণে নির্ভর করে (এবং একইভাবে একই সময়ে ডাউনগ্রেডিংয়ের প্রয়োজন ছিল)।
sxc731

28

আপনি যদি পিপিএ ব্যবহার করে সফ্টওয়্যার আপগ্রেড করেন তবে আপনি এটি ব্যবহার করে ডাউনগ্রেড করতে পারেন ppa-purge। প্রথমে আপনাকে ppa-purgeএই কোডটি ব্যবহার করে ইনস্টল করতে হবে :

sudo ppt-purge ইনস্টল করুন

তারপরে আপনি পিপিএ মুছে ফেলতে পারেন কমান্ডটি ব্যবহার করে

sudo পিপিএ- purge পিপিএ: ব্যবহারকারী / পিপিএ-নাম

এটি স্বয়ংক্রিয়ভাবে সফ্টওয়্যারটিকে তার মূল সংস্করণে ডাউনগ্রেড করবে যা উবুন্টু দিয়ে পাঠানো হয়েছিল।


1
এই প্যাকেজের নির্ভরতাগুলি হ'ল এই সমাধানটি কেবল তুলনামূলক নয় যা এটিকেও হ্রাস করতে হবে। ধন্যবাদ!
এবং

1
হ্যাঁ এই সমাধানটি আমার পক্ষে কুবুন্টু-পিপিএ / ব্যাকপোর্টগুলি থেকে কেডিএ / প্লাজমা ডেস্কটপ ডাউনগ্রেড করার জন্য সবচেয়ে ভাল কাজ করেছে - একটি জিনিস আমি লক্ষ্য করেছি যে পিপিএর .লিস্ট ফাইলটিতে ডাব কমেন্ট করা উচিত নয়, তাই পিপিএ-পার্জ সমস্ত ফাইল রেফারেন্স করতে পারে খাঁটি জন্য এটি অপসারণ করা প্রয়োজন। এটি প্রথমে কেন কাজ করছে না তা নির্ধারণের জন্য আমাকে এক মিনিট সময় নিয়েছিল। আশা করি যে অন্যান্য মানুষকে সাহায্য করবে!
অ্যাভেরিফ্রিমান

10

ডাউনগ্রেড করতে আপনাকে একটি কমান্ড করতে হবে

 sudo apt-get install pkg_name=version

আপনার টার্মিনালে

versionপূর্ববর্তী সংস্করণটি রাখার জায়গায় আপনি ডাউনগ্রেড করতে চান।


এটি কমপক্ষে লিনাক্স-জেনেরিকের জন্য কাজ করে না যা প্যাকেজগুলির উপর নির্ভর করে যেগুলিও ডাউনগ্রেড করা উচিত। আমি পেস্ট.বুন্টু.com
p/

9

আমার মতে, আপনার প্রথমে প্যাকেজটি আনইনস্টল বা শুদ্ধ করা উচিত, যেমন:

sudo apt-get remove <package>

অথবা

sudo apt-get purge <package>

তারপরে, আপনি যে সংস্করণটি ইনস্টল করতে চান তা ডাউনলোড করতে পারেন এবং এটি একটি ফোল্ডারে রেখে দিতে পারেন, abc.debডাউনলোডগুলিতে বলুন । টার্মিনাল খুলুন, cdকমান্ড ব্যবহার করে ফোল্ডারে চলে যান এবং এটি ব্যবহার করে পূর্ববর্তী সংস্করণটি ইনস্টল করুন dpkg:

sudo dpkg -i abc.deb

অন্যথায়, ppa-purgeযদি আপনি পিপিএগুলির মাধ্যমে আপডেট হওয়া প্যাকেজগুলি ডাউনগ্রেড করতে চান তবে একটি ছোট্ট ইউটিলিটি বলা হয় ।

এই থ্রেডটি দেখুন: http://www.webupd8.org/2009/12/remove-ppa-repositories-via-command.html


3
প্যাকেজ অপসারণ অনেকগুলি নির্ভরশীলকে সরিয়ে ফেলতে পারে, ফলস্বরূপ একটি অকেজো সিস্টেম। পিপ্পার্জ যদিও আকর্ষণীয় মনে হয়।
টাইপ করুন

12
আপনি কী ব্যাখ্যা করতে পারেন যে আপনার কেন পুরানো সংস্করণগুলি ইনস্টল করার আগে প্যাকেজগুলি (পৃথক পদক্ষেপ হিসাবে) প্রথমে আনইনস্টল করা উচিত?
এলিয়াহ কাগন


1
@ মেটো যে লিঙ্কটি হ'ল ডাউনগ্রেড রিলিজ unstable-> testing-> stableস্বতন্ত্র প্যাকেজ ডাউনগ্রেড না।
ব্রায়াম

0

এই প্রশ্নটি পুরানো তবে গুগল আমাকে এখানে নিয়ে গেছে এবং পুরানো রিলিজে গুচ্ছ প্যাকেজগুলি ডাউনগ্রেড করার সময় ম্যানুয়াল সংস্করণটি পাস করার দরকার নেই এমন সহজ আত্মা খুঁজে পেলাম না।

সুতরাং সম্ভবত যে কেউ প্রয়োজন হয় এটি আমার সমাধানও দরকারী খুঁজে পেতে পারে।

এমন একটি সরঞ্জাম রয়েছে যা apt-show-versionsইনস্টল হওয়া সংস্করণগুলি দেখায়।

আপনি সূক্ষ্ম-টিউনিং রেজেক্সের মাধ্যমে প্রয়োজনীয় সমস্ত প্যাকেজগুলি সহজেই ডাউনগ্রেড করতে পারেন তবে এটি এখানে:

$ sudo apt-get install $(apt-show-versions | grep -P 'newer than version in archive' | awk -F: '{print $1"/jessie"}')

পরিবর্তে jessieআপনি আপনার প্রয়োজনের উপর নির্ভর করে buster/ xenial/ ইত্যাদি ব্যবহার করতে পারেন ।


আপ-টু-ডেট মুক্তি ইনস্টল অথবা স্বয়ংক্রিয়ভাবে ডাউনগ্রেড: sudo apt-get install -V $(apt-show-versions | grep -F 'newer than version in archive' | awk -F: '{print $1"/'$(lsb_release -cs)'"}')। আমি ব্যবহার পছন্দ -Fজন্য grepএখানে।
জার্নো

sudo apt-show-versions -iআপনার প্যাকেজ ক্যাশে যদি পুরানো হয় তবে প্রথমে আপনাকে চালানো উচিত ।
জার্নো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.