আনইনস্টল করা প্যাকেজগুলির প্রস্তাবিত প্রস্তাবিত নির্ভরতাগুলি কীভাবে সরিয়ে ফেলবেন?


16

আমি জানি কীভাবে একটি আনইনস্টল করা প্যাকেজের নির্ভরতা অপসারণ করতে হয়? এবং আমি চেষ্টা করেছিলাম

apt-get autoremove

তবে এটি অন্যান্য প্যাকেজগুলির দ্বারা প্রস্তাবিত / প্রস্তাবিত নির্ভরতাগুলি সরিয়ে দেয় না।

এটি হ'ল, যদি আমি কোনও প্যাকেজ এক্স ইনস্টল করি যা ওয়াইয়ের প্রস্তাব দেয় তবে আমি ওয়াই ইনস্টল করি না এবং তারপরে আমি প্যাকেজ জেড ইনস্টল করে যা ওয়াইয়ের উপর নির্ভর করে এবং পরে আমি এটি করি

apt-get remove --auto-remove Z

তারপরে কিছুই নির্ভর না করেও Y স্বয়ংক্রিয়ভাবে সরানো হয় না। (এক্স এর উপরে নির্ভর করে না, যদিও "ওয়াই" তুলে নিয়েছে)।


1
আপনি কি পরিবর্তে বলতে পারবেন যে এটি কী করে এমন প্যাকেজটি কী?
ব্রায়াম

অনেকগুলি উদাহরণ রয়েছে, তাই উপরের বর্ণনায় সমস্যার সারমর্মটি বের করার চেষ্টা করেছি। আপনি ঠিক বলেছেন যে আমারও একটি দৃ concrete় উদাহরণ অন্তর্ভুক্ত করা উচিত ছিল: টেক্সলাইভ-পূর্ণ ইনস্টলেশন বিবেচনা করুন। এটি প্রচুর ফন্ট প্যাকেজ ইনস্টল করে, যা অনেক পূর্ব-বিদ্যমান প্যাকেজগুলির দ্বারা প্রস্তাবিত (তবে প্রয়োজনীয় নয়) (যা আমি ঠিক মনে করতে পারি না, তবে আমি মনে করি প্রাক-বিদ্যমান লিব্রোফিস বা ম্যাটপ্ল্লোব বা অষ্টাভগুলি এগুলি প্রস্তাব করেছিল)। সুতরাং সমস্যাটি হ'ল "apt-get ইনস্টল টেক্সলাইভ-পূর্ণ" এর পরে "apt-get ਹਟਾুন --purge --auto- রিমুভ টেক্সলাইভ-পূর্ণ" সিস্টেমটিকে একই মূল অবস্থায় ছেড়ে যায় না।
ব্যবহারকারী2809402

উত্তর:


14

যদি আপনি আপনার সিস্টেম থেকে প্রস্তাবিত প্যাকেজগুলি মুছে ফেলতে চান তবে এখনও কিছু ইনস্টল করা প্যাকেজগুলি তাদের প্রস্তাব দিচ্ছে (বা প্রস্তাব দিচ্ছে), ফাইলগুলিতে নিম্নলিখিতটি রাখুন /etc/apt/apt.conf.d/99_norecommends(এটি তৈরি করুন):

APT::Install-Recommends "false";
APT::AutoRemove::RecommendsImportant "false";
APT::AutoRemove::SuggestsImportant "false";

এই বিকল্পগুলির জন্য ডকুমেন্টেশন এখানে

তারপরে, পরবর্তী অ্যাপ্লিকেশন রানটি তাদের সমস্ত অপসারণ করা উচিত। যদি তা না হয় তবে লঞ্চ করুন এবং আবার aptitudeটাইপ করুন ।gg

এই কনফিগারেশনটি ব্যবহার করার সময় প্রস্তাবিত প্যাকেজগুলির স্বয়ংক্রিয় ইনস্টলেশনটি অক্ষম করে apt-get। জন্য aptitudeএটা কনসোল গুই থেকে কাজ করা যেতে পারে, মেনু বিকল্পগুলি> পছন্দ> (এটা আনচেক) "প্যাকেজ স্বয়ংক্রিয়ভাবে সুপারিশ ইনস্টল করুন"।


সুপারিশগুলি ইনস্টল না করার পরামর্শ দেব না কারণ বেশিরভাগ সময় তারা কার্যকর থাকে
ব্রায়াম

1
@ ব্রাইয়াম যদিও ওপি এটি চেয়েছিল তা নয়। আপনার মন্তব্য তাঁর জন্য, আমার জন্য নয়।
টোটার

আমি শুধু বলছি যে সম্ভবত ওভারকিল।
ব্রায়াম

@ ব্রায়াম এটি আপনার পিওভ আমি InstallRecommendsঅক্ষমদের সাথে বেশ ভাল বাস করি । রেকর্ডের জন্য, এটি ডিবিয়ান স্কুইজ প্রকাশ না হওয়া অবধি ডিফল্টরূপে অক্ষম করা হয়েছিল, এটি ফেব্রুয়ারী ২০১১ সাল থেকে (উবুন্টু সম্পর্কে জানেন না)। তদ্ব্যতীত, আপনার কোনও সার্ভার বা ডেস্কটপ সেটআপে একই কনফিগারেশনটির প্রয়োজন পড়বে না।
টোটার

2
ইনস্টলার সুপারিশ: কেন আপনি চান না এমন 5 জিবি স্টাফ কেন ইনস্টল করবেন, যখন আপনি চান না 1 জিবি স্টাফ?
মার্ক কে কোয়ান

7

ওভাররাইডিং এপিটি বিকল্পগুলি

নির্ভরতাগুলির বিপরীতে, স্বয়ংক্রিয়ভাবে ইনস্টল করা "প্রস্তাবিত" বা "প্রস্তাবিত" প্যাকেজগুলি এড়িয়ে যেতে পারে apt-get autoremove

অন্য কোথাও বর্ণিত হিসাবে, এপিটি-র এই আচরণটি কনফিগারেশনে পরিবর্তন করা যেতে পারে।

একইভাবে, apt-getকমান্ডের কনফিগারেশনটি অস্থায়ীভাবে -oকমান্ড লাইন বিকল্পের মাধ্যমে পরিবর্তন করা যেতে পারে ।

এটি হ'ল আপনি কীভাবে অটোরেমোকে অব্যবহৃত নির্ভরতা ছাড়াও বাম-ওভারের "প্রস্তাবিত" এবং "প্রস্তাবিত" প্যাকেজগুলি সরাতে বাধ্য করবেন।

sudo apt-get autoremove -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0

সতর্ক করা!

কিছু কার্যকারিতা হারিয়ে যেতে পারে। জিনিসগুলি তদন্ত করতে এবং পুনরায় ইনস্টল করার জন্য প্রস্তুত থাকুন। এই প্যাকেজগুলি একা রেখে দেওয়া সহজ হতে পারে।

অন্যান্য অপশন

একমাত্র নির্দিষ্ট প্যাকেজের জন্য 'প্রস্তাবিত' এবং 'প্রস্তাবিত' প্যাকেজগুলি আনইনস্টল করতে, এপ ইতিহাসের লগটি একবার দেখুন।


1
এই জাতীয় প্যাকেজগুলি সহজেই বিশ্লেষণ করতে, এর বিকল্প এবং পাইপের সাথে একটি শুকনো রান সঞ্চালন করতে হবে - যাতে apt-get-sgrep ^Remvapt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
হ'ল

1

আসলে আদেশটি হ'ল:

sudo apt-get autoremove <Z>

তবে এই একটি কৌশল আছে! যদি কোনও নির্ভরতাগুলির পূর্বে ইনস্টল করা প্যাকেজগুলির সাথে থাকে যেগুলি তাদের প্রস্তাব দেয় / প্রস্তাব দেয় তবে অ্যাপ্লিকেশনগুলি সেগুলি সরাবে না।

আপনি কী প্যাকেজটি নির্দিষ্ট করেছেন তা উদাহরণস্বরূপ নয়, যদি আমি আইসডটাই প্লাগইন ইনস্টল করতে পারি তবে এটি নির্ভরতা অনুসারে জাভা / ওপেনজেআরই ইনস্টল করবে। যদি আমি এগুলি ব্যবহার করে আনইনস্টল করি তবে sudo apt-get autoremove icedtea-7-pluginআপনি খেয়াল করবেন যে এটি জাভা / ওপেনজেআরই অপসারণ করবে না, যেহেতু লিব্রেঅফিস প্যাকেজগুলির পরামর্শ দেয়।

সুতরাং, এগুলি সরাতে আপনাকে যে প্যাকেজটি আনইনস্টল করতে চান তা সম্পর্কে অতিরিক্ত মাত্রায় সুনির্দিষ্ট হতে autoremoveহবে:

sudo apt-get autoremove <Z> <dependency of Z>

এইভাবে আপনি নিশ্চিত হতে পারেন যে আপনার প্যাকেজটি সরানো হয়েছে।

আপনি কিছু নির্ভরতা অপসারণ করতে দেওরফান ব্যবহার করতে পারেন।


1
যাইহোক, অ্যাপ্লিকেশন ম্যানপেজ থেকে আমার উপলব্ধি হ'ল অটোরিমোভ কোনও প্যাকেজের নাম আশা করে না এবং এটি সিস্টেমের সমস্ত অপ্রয়োজনীয় প্যাকেজ নির্ভরতা পরিষ্কার করবে। সুতরাং আপনাকে 2 টি পদক্ষেপ করতে হবে: "আপ্ট-গেট রিমুভ জেড" এর পরে "অ্যাপেট-গেট অটোরেমোভ" করুন। আমার মূল প্রশ্নে উল্লিখিত এই দুটি পদক্ষেপ একবারে "অ্যাপট-গেট রিমুভ - অটো-রিমুভ জেড" দিয়ে করা যেতে পারে। তবে আমি যেমন বলেছি, সমস্যাটি হ'ল এখানে কিছু বাকী প্যাকেজ রয়েছে যা সেগুলি অন্য কোনও বিষয় দ্বারা প্রস্তাবিত হলে সরিয়ে দেওয়া হয় না।
user2809402

1
হ্যাঁ, আপনি আমার সমস্যাটি পুরোপুরি বর্ণনা করেছেন। ধন্যবাদ. তবে, দুর্ভাগ্যক্রমে, আপনি এটি সমাধান করেন নি, কারণ আমি /var/log/apt/history.log এ যেতে চাই না এবং জে দিয়ে কয়েক মাস আগে ইনস্টল করা সমস্ত প্যাকেজগুলি Y- এর সাথে অনুসন্ধান করতে চাই না (উদাহরণস্বরূপ, ওয়াই = জাভা / জেআর, জেড = আইসডেটিয়া প্লাগইন) এবং তারপরে ম্যানুয়ালি এপিকে কমান্ড লাইনে যুক্ত করুন। আমি কেবল জেড নির্দিষ্ট করতে চাই এবং অন্যান্য নির্ভরতাগুলি স্বয়ংক্রিয়ভাবে বাছাই করতে হবে, সেগুলি যদি অন্য বিদ্যমান প্যাকেজ এক্স (আপনার উদাহরণে এক্স = লিব্রোফাইস) দ্বারা প্রস্তাবিত হয় তবে।
user2809402

1
দুর্ভাগ্যক্রমে, এপটি সিস্টেমটি এইভাবে কাজ করে, প্যাকেজগুলি অপরিবর্তিত রাখার পরিবর্তে ইনস্টল করা পছন্দ করে, যদিও তাদের আর প্রয়োজন হয় না। এগুলি মুছে ফেলার একমাত্র উপায় হ'ল ম্যানুয়ালি বা সাথে deborphanতবে দেবরফান এখনও কিছু প্যাকেজ মিস করতে পারে। আপনি Debug::বিকল্পগুলি ব্যবহার করতে পারেন এবং এ সম্পর্কে আমার অন্যান্য উত্তরও পরীক্ষা করতে পারেন । এছাড়াও আপনি ব্যবহার করতে পারেন --no-install-recommends, তবে অ্যাপটি-গেটটি ডিফল্টরূপে প্রস্তাবিত প্যাকেজগুলি ইনস্টল করবেন না।
ব্রায়াম

@ ইউজার 2809402 আপনার জিজ্ঞাসা করা
উচিতও

ব্রিয়াম - দেওরফান পয়েন্টারের জন্য ধন্যবাদ। আমি এটি যাচাই করব.
ব্যবহারকারী2809402

-1

ঠিক আছে, আপনি যদি <Z>নির্ভরতার সাথে প্যাকেজটি সরাতে চান তবে টাইপ করুন:

sudo apt-get autoremove --purge <Z>

3
ধন্যবাদ, তবে দুর্ভাগ্যক্রমে, "--purge" যুক্ত করা সহজভাবে "অটোমোমো" দিয়ে মুছে ফেলা প্যাকেজের কনফিগারেশনগুলি সরিয়ে দেয়। তবে আমি যতদূর দেখতে পাচ্ছি, কোন প্যাকেজগুলি অপসারণ করা উচিত সে সম্পর্কে সিদ্ধান্ত পরিবর্তন করে না । এটি হ'ল, জেড এর নির্ভরশীলতাগুলি যা কিছু পূর্ববর্তী প্যাকেজ এক্স দ্বারা প্রস্তাবিত হয়েছিল, এখনও আমি "--purge" নির্দিষ্ট করে কিনা তা অপসারণ করা যায় না।
ব্যবহারকারী2809402

1
এছাড়াও, autoremoveসিস্টেম-ব্যাপী কাজ করে। আপনি যে কোনও সময় কল করার পরে autoremoveএটি আপনার সিস্টেমে সমস্ত অব্যবহৃত প্যাকেজ সরিয়ে ফেলবে। প্যাকেজ ইনস্টল করার পরে autoremovingসিস্টেমটি একই অবস্থায় ফিরে আসবে না এবং পরিবর্তে "বাকী" প্যাকেজগুলি ছেড়ে দেবে।
রল্ফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.