উত্তর:
আপনি অনুরোধ করা জিনিস হতে পারে যে ঘটনাক্রমে কাটা পাতা এড়ানোর জন্য আপনি ইনস্টল করা উচিত port_cutleaves
প্যাকেজ তারপর রান sudo port_cutleaves
https://guide.macports.org/#using.common-tasks.keeplean
MacPorts 1.9.0 যোগ করা হয়েছে sqlite
portdbformat
এবং MacPorts 2.0.0 পুরাতন ফেলেছে flat
বিন্যাস । দ্য sqlite
পোর্ট ডি বি বিন্যাস নতুন ইনস্টলেশনের জন্য ডিফল্ট হয়; পুরানো ইনস্টলেশনের যে 1.9.x আপগ্রেড করা হয়েছে ব্যবহার চালিয়ে যেতে হবে flat
বিন্যাস 1 । আপনি একটি 1.9.x রূপান্তর করতে পারেন flat
সিস্টেম sqlite
ম্যাকপোর্ট 2.0 বা আপগ্রেড করে আপগ্রেড করে বিন্যাস করুন portdbformat
মান /opt/local/etc/macports/macports.conf
এবং তারপর একটি প্রদানকারী বন্দর রুট হিসাবে কমান্ড (উদাঃ। sudo port installed
)।
নতুন বিন্যাসের বৈশিষ্ট্যগুলির একটি হল যে এটি "অনুরোধ করা" বনাম "অনিবার্য" পোর্ট ইনস্টলেশনের ট্র্যাক রাখে। একটি অননুমোদিত পোর্ট কেবলমাত্র ইনস্টল করা হয়েছিল কারণ এটির উপর অন্য কোনও পোর্ট নির্ভর করে। দ্য leaves
pseudo-portname সমস্ত অনির্দিষ্ট পোর্টে প্রসারিত হয় যার উপর অন্য কোনো ইনস্টল করা পোর্ট নির্ভর করে না। আপনি মূলত আনইনস্টল না করে থাকলেও এটি আনইনডেড পোর্টগুলি "পরিষ্কার করতে" ব্যবহার করতে পারেন sudo port uninstall --follow-dependencies portname
(যা আপনি চান তা করতে হবে, কিন্তু আপনি এটি আনইনস্টল করার সময় প্রতিবার ব্যবহার করার কথা মনে রাখবেন)।
আপনি তাদের আনইনস্টল করার আগে আপনার বিদ্যমান পাতা পরীক্ষা করা উচিত।
port echo leaves
কিছু সাধারণ পাতা ( automake
, gperf
, libtool
, pkgconfig
) হল সাধারণ পোর্টগুলির বিল্ড-টাইম নির্ভরতা, তাই আপনি তাদের "অনুরোধ" করতে চাইতে পারেন ( sudo port setrequested port1 port2 port3 …
) তাদের আনইনস্টল এড়াতে শুধুমাত্র পরে তাদের পুনরায় ইনস্টল করতে হবে।
আপনি সহজেই যে কোনো অবশিষ্ট পাতা আনইনস্টল করতে পারেন:
sudo port uninstall leaves
দ্রষ্টব্য: আপনার পাতাগুলি ছিনতাই করার আগে, আপনি পোর্টগুলির পুরোনো সংস্করণগুলি আনইনস্টল করতে চাইতে পারেন যা আর "সক্রিয়" নয়। এটি আরও কয়েকটি পাতা প্রকাশ করতে পারে (যেমন পোর্টগুলি যা পোর্টগুলির নির্ভরতাগুলি ইনস্টল করা আছে, কিন্তু নিষ্ক্রিয়):
sudo port uninstall inactive
সেখানে বিভিন্ন বিভাগ মধ্যে ম্যাকপোর্ট গাইড যে ব্যবহার প্রক্রিয়ার বর্ণনা leaves
unneeded পোর্ট আনইনস্টল করতে।
while sudo port uninstall leaves; do :; done
যে স্বয়ংক্রিয় করতে।
sudo port uninstall --follow-dependents portname
ভুল, কারণ --follow-dependents
"নির্দিষ্ট পোর্টের উপর নির্ভর করে সমস্ত পোর্ট পুনরায় আনইনস্টল করবে"। এখানে সঠিক বিকল্প --follow-dependencies
, যা "নির্দিষ্ট পোর্টের উপর নির্ভরশীল সমস্ত পোর্টগুলিকে আনুমানিকভাবে আনইনস্টল করবে। এটি অনুরোধ হিসাবে চিহ্নিত করা বা অন্যান্য নির্ভরশীলদের নির্ভরশীলতা আনইনস্টল করবে না।"
আনইনস্টল কর্ম একটি আনইনস্টল হবে ইনস্টল পোর্ট।
%% sudo port uninstall vile Note
এছাড়াও recursively আনইনস্টল প্রদত্ত পোর্ট যে উপর নির্ভর করে পোর্ট, ব্যবহার
‑‑follow‑dependencies
পতাকা। এই নির্ভরতা আনইনস্টল করা হবে না যে অনুরোধ বা যে হিসাবে চিহ্নিত করা হয় অন্যান্য নির্ভরশীল আছে।Recursively সব পোর্ট আনইনস্টল করতে যে আগে দেওয়া পোর্ট উপর নির্ভর করে পোর্ট নিজেই আনইনস্টল, ব্যবহার করুন
‑‑follow‑dependents flag
।একটি বন্দর অন্য একটি নির্ভরশীলতা হয় ইনস্টল পোর্ট, আনইনস্টল হবে না আপনি অপসারণ না হওয়া পর্যন্ত এটি অপসারণ করুন নির্ভরশীল বন্দর (গুলি) প্রথম। অগ্রাহ্য করা এই আচরণ, -ফ (শক্তি) ব্যবহার করুন সুইচ। এই সম্ভবত বিরতি হবে নির্ভরশীলদের। আনইনস্টল করতে বাধ্য করবেন না আপনি যদি জানেন না তবে পোর্ট করছেন।
%% sudo port -f uninstall vile
শেষ অনুচ্ছেদের প্রধান ক্যাভিট নোট করুন। নির্ভরতাগুলি ঠিক সেই নির্ভরশীলতা-এবং বিভিন্ন অ্যাপ্লিকেশনগুলি (একই) নির্ভরতাগুলি একই রকম করতে পারে।
‑‑follow‑dependencies
বনাম ‑‑follow‑dependents
; উদ্ধৃত উত্তরণ উভয় বর্ণনা করে, কিন্তু শুধুমাত্র প্রথম প্রশ্ন প্রযোজ্য
একটি বন্দর এবং তার নির্ভরশীল অপসারণ করার কমান্ড হল:
sudo port uninstall foo --follow-dependents
যাইহোক, যদি আপনি আনইনস্টল করা পোর্ট নির্ভরশীল আছে এটি ছাড়া আনইনস্টল করা হবে না -f
(বল) পতাকা।
অবশ্যই আপনি উপর পড়া দ্বারা শুরু করা উচিত ম্যাকপোর্ট গাইড বিশেষ করে মধ্যে খুঁজছেন আনইনস্টল গাইড অধ্যায়।
Port_cutleaves নামক ম্যাকপোর্টস কন্ট্রোল ডিরেক্টরিতে একটি স্ক্রিপ্ট রয়েছে যা আপনি অনির্বাচিত নির্ভরতাগুলি সরাতে চালাতে পারেন: http://trac.macports.org/browser/contrib/ । এটি প্রতিটি টু আনইনস্টল করা পোর্টের জন্য আপনাকে জিজ্ঞাসা করবে এবং কিছু রাখতে, আপনি চান।
আমি অন্য উত্তর, এবং মনে করি --follow-dependents
পতাকা, আপনি কি চান না। যদি আপনি ইনস্টল A
, এবং A
প্রয়োজন B
, তারপর চমৎকার প্যাকেজ ম্যানেজমেন্ট সিস্টেম ধন্যবাদ, B
আপনার জন্য ইনস্টল করা হবে। আপনি আনইনস্টল করতে পারেন B
এবং --follow-dependents
পতাকা সচেতন হতে হবে এবং অপসারণ করা হবে A
। কিন্তু আপনি আনইনস্টল যদি কি A
, যা সম্ভবত, কারণ A
আপনি নিজে প্রথম স্থানে ইনস্টল কি? এক্ষেত্রে, B
পিছনে বাকি আছে।
আপনি যদি ফিনক ব্যবহার করেন, দী debfoster প্যাকেজ আপনার সিস্টেম সাফ করার জন্য এবং অব্যবহৃত নির্ভরতা অপসারণ করার জন্য ডিজাইন করা হয়।
Debfoster আপনি পরিত্রাণ পেতে সাহায্য করবে প্যাকেজ (উদাহরণস্বরূপ লাইব্রেরি) পেতে যখন আপনার সিস্টেমে পিছনে বামে এটি অপসারণ করা প্রয়োজন যে প্রোগ্রাম বা একটি সংস্করণ আপগ্রেড না যে নির্ভরতা আছে।
যদিও debfoster
MacPorts জন্য কাজ করবে না, সেখানে পোর্ট প্রদর্শিত হবে debfoster
, উদাহরণ স্বরূপ, portsfoster
যদিও এটি বন্ধ করা হচ্ছে বলে মনে হচ্ছে ...
সম্ভবত কোন সমাধান বর্তমানে MacPorts জন্য বিদ্যমান।
apt
ডেবিয়ান দ্বারা ব্যবহৃত সিস্টেম। আমি ম্যাকপোর্ট ব্যবহার করি না, কিন্তু আমি করেছি fink install debfoster
এবং এটা আমার জন্য ঠিক সূক্ষ্ম কাজ।
apt
সিস্টেম এবং ব্যবহার করে না deb
নথি পত্র. ম্যাকপোর্টগুলির ধারণা ফ্রিBSD পোর্ট বা নেটবিএসডি পিকেএসআরসিসি সম্পর্কিত, তবে বাস্তবায়নটি খুব ভিন্ন।
আমি পোর্ট ক্লিনআপ স্বয়ংক্রিয় করতে কিছু স্ক্রিপ্ট লিখেছি: https://github.com/vasi/macports-tools
'ম্যাকপোর্টফস্টার' স্ক্রিপ্ট সমস্ত পোর্টগুলির একটি আউটপুট আউটপুট করবে যা অনুরোধকৃত তালিকাতে কোনও প্রয়োজন নেই, যাতে 'পোর্ট নিষ্ক্রিয় করা $ (ম্যাকপোর্টফস্টার)' এক শট এটিকে সরাতে পারে।