আমি আমার ফেডোরা 17 তে কিছু আরপিএম প্যাকেজ ইনস্টল করেছি Some কিছু প্যাকেজের প্রচুর নির্ভরতা ছিল। আমি কিছু প্যাকেজ সরিয়ে ফেলেছি তবে আমি yum অপসারণের সাথে অব্যবহৃত নির্ভরতা অপসারণ করতে ভুলে গেছি।
আমি এখন এটি কিভাবে করতে পারি?
আমি আমার ফেডোরা 17 তে কিছু আরপিএম প্যাকেজ ইনস্টল করেছি Some কিছু প্যাকেজের প্রচুর নির্ভরতা ছিল। আমি কিছু প্যাকেজ সরিয়ে ফেলেছি তবে আমি yum অপসারণের সাথে অব্যবহৃত নির্ভরতা অপসারণ করতে ভুলে গেছি।
আমি এখন এটি কিভাবে করতে পারি?
উত্তর:
এটা সহজ না. "আমি যে ফাইলটি চাইছিলাম তার চেয়ে" অপসারণের পরে "মুছে ফেলা" এমন একটি ফাইলের মধ্যে কীভাবে পার্থক্য করবেন?
আপনি আপনার প্যাকেজ নির্ভরতা গ্রাফে "লিফ নোডগুলি" তালিকাভুক্ত package-cleanup
করতে yum-utils
প্যাকেজ থেকে কমান্ডটি ব্যবহার করতে পারেন । এগুলি হ'ল প্যাকেজগুলি যা অন্য কোনও কিছুকে প্রভাবিত না করে মুছে ফেলা যায়:
$ package-cleanup --leaves
এটি "লাইব্রেরি" এর একটি তালিকা তৈরি করবে যার উপর অন্য কিছুই নির্ভর করে না। বেশিরভাগ ক্ষেত্রে আপনি নিরাপদে এই প্যাকেজগুলি মুছে ফেলতে পারেন। আপনি যদি --all
কমান্ড লাইনে যুক্ত হন:
$ package-cleanup --leaves --all
আপনি প্যাকেজগুলি পাবেন যা গ্রন্থাগারগুলি বিবেচিত হয় না, তবে এই তালিকাটি এত দীর্ঘ হতে চলেছে যে সম্ভবত এটি কার্যকর হবে না।
যদি আপনি এটির সাথে প্যাকেজ ইনস্টল করেন yum install
, বলুন pdftk
, এটি অনেকটা নির্ভরশীলতা টানবে:
Installed:
pdftk.x86_64 0:1.44-10.fc18
Dependency Installed:
bouncycastle.noarch 0:1.46-6.fc18
itext-core.noarch 0:2.1.7-14.fc18
libgcj.x86_64 0:4.7.2-8.fc18
bouncycastle-mail.noarch 0:1.46-6.fc18
java-1.5.0-gcj.x86_64 0:1.5.0.0-40.fc18
sinjdoc.x86_64 0:0.5-13.fc18
bouncycastle-tsp.noarch 0:1.46-5.fc18
java_cup.noarch 1:0.11a-10.fc18
itext.x86_64 0:2.1.7-14.fc18
javamail.noarch 0:1.4.3-12.fc18
Complete!
yum remove pdftk
কেবলমাত্র সেই প্যাকেজটি সরিয়ে ফেলবে এবং সমস্ত নির্ভরতা নয়।
তবে আপনি সমস্ত 'লেনদেন' (ইনস্টল, অপসারণ ইত্যাদি) দেখতে পারেন:
$ sudo yum history list pdftk
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
88 | install pdftk | 2012-12-14 13:35 | Install | 11
এবং তারপরে আপনি সেই লেনদেনটিকে পূর্বাবস্থায় ফিরিয়ে আনতে পারেন:
$ sudo yum history undo 88
Undoing transaction 88, from Fri Dec 14 13:35:34 2012
Dep-Install bouncycastle-1.46-6.fc18.noarch @fedora
Dep-Install bouncycastle-mail-1.46-6.fc18.noarch @fedora
Dep-Install bouncycastle-tsp-1.46-5.fc18.noarch @fedora
Dep-Install itext-2.1.7-14.fc18.x86_64 @fedora
Dep-Install itext-core-2.1.7-14.fc18.noarch @fedora
Dep-Install java-1.5.0-gcj-1.5.0.0-40.fc18.x86_64 @fedora
Dep-Install java_cup-1:0.11a-10.fc18.noarch @fedora
Dep-Install javamail-1.4.3-12.fc18.noarch @fedora
Dep-Install libgcj-4.7.2-8.fc18.x86_64 @fedora
Install pdftk-1.44-10.fc18.x86_64 @fedora
Dep-Install sinjdoc-0.5-13.fc18.x86_64 @fedora
...
Complete!
yum history
। ধন্যবাদ!
ফেডোরা 18 থেকে শুরু করে আপনি কেবল এই আদেশটি ব্যবহার করতে পারেন
yum autoremove
অথবা
yum remove --setopt=clean_requirements_on_remove=1
আপনি নির্দিষ্ট প্যাকেজ সহ অটোরেমও কমান্ড প্রয়োগ করতে পারেন
yum autoremove <package>
যা ইনস্টল করা প্যাকেজ থেকে অপরিবর্তিত নির্ভরতা সরিয়ে ফেলবে। autoremove
এটির বেশিরভাগই একটি উপনাম remove --setopt=clean_requirements_on_remove=1
তবে কিছু কারণে এখনও অননুমোদিত।
yum remove --setopt=clean_requirements_on_remove=1
সেন্টোজে আমার জন্য কাজ করে
package-cleanup --leaves && yum autoremove
সরানো লাইবোরবিস এবং তাই ইন্টারনেট-রেডিও-স্ট্রিমিংয়ের "আইসস" অ্যাপ্লিকেশনটি মারা যায় - সম্ভবত এটি রেপোসে নেই এবং আমাকে এটি সংকলন করতে হয়েছিল।
yum autoremove
CentOS 7.6 এও কাজ করে।
আমি লারস্কের আরও এক ধাপ উত্তর নিয়েছি।
$ package-cleanup -q --leaves | xargs -l1 yum -y remove
এটি এমন সমস্ত নির্ভরশীলতা দখল করে যা অন্য কোনও কিছুকে প্রভাবিত না করে মুছে ফেলা যায় এবং তারপরে সেগুলি সরিয়ে দেয়। একের পর এক করে দিয়ে যাওয়াই ভাল।
"-Q" এমন কিছু সিস্টেমে দরকারী যা "yum সেটআপ করা" প্রিন্ট করে, অন্যথায় এই কমান্ডটি yum সরিয়ে দেয়। এবং আপনি কি চান না।
package-cleanup
আমার মেশিনে "সেট আপ ইয়াম" আউটপুটস, যার ফলস্বরূপ ইয়াম নিজেকে মুছে ফেলে। আমি এখন এটি কীভাবে বাছাই করব তা বোঝার চেষ্টা করছি।
-q
প্যাকেজ- ক্লিনআপের জন্য বিকল্প যুক্ত করুন । আমার সাথে
package-cleanup -q --leaves | xargs -r -l1 yum -y remove
প্যাকেজ-ক্লিনআপ আউটপুট যদি খালি থাকে তবে নীরবে xargs এড়িয়ে যাবে, জবাবদিহী, শেফ, পুতুল, অসম্পূর্ণ যেমন স্বয়ংক্রিয় স্ক্রিপ্টগুলির জন্য দরকারী
yum
: linux.die.net/man/8/yum ?