cmdline/apt-get.cc
সোর্স টার্বল থেকে http://packages.ubuntu.com/source/maverick/apt এ ফাইলটি অনুসন্ধান করাতে , আমি দেখতে পাচ্ছি যে --auto-remove
এটি একটি যুক্তি যা APT::Get::AutomaticRemove
সেটিংটি সক্ষম করে ।
কমান্ড autoremove
এবং remove
উভয় ফাংশন কল DoInstall
।
"অটোরেমোভ" কমান্ডটিও সেট APT::Get::AutomaticRemove
করে এবং এটি একই হিসাবে কাজ করে --auto-remove
।
তাকিয়ে DoAutomaticRemove
ফাংশন, এটা স্পষ্ট দৃশ্যমান যে সক্রিয় APT::Get::AutomaticRemove
সেটিং ( --auto-remove
এবং autoremove
এই আছে) সমস্ত ইনস্টল করা প্যাকেজ এবং চিহ্ন মুছে ফেলার জন্য অব্যবহৃত প্যাকেজ মাধ্যমে Apt, looping ঘটায়।
থেকে main()
:
CommandLine::Args Args[] = {
// ... stripped to save space
{0,"auto-remove","APT::Get::AutomaticRemove",0},
// ...
}
CommandLine::Dispatch Cmds[] = { // ...
{"remove",&DoInstall},
{"purge",&DoInstall},
{"autoremove",&DoInstall},
// ...
}
// ...
// Parse the command line and initialize the package library
CommandLine CmdL(Args,_config);
থেকে DoInstall()
:
unsigned short fallback = MOD_INSTALL;
if (strcasecmp(CmdL.FileList[0],"remove") == 0)
fallback = MOD_REMOVE;
else if (strcasecmp(CmdL.FileList[0], "purge") == 0)
{
_config->Set("APT::Get::Purge", true);
fallback = MOD_REMOVE;
}
else if (strcasecmp(CmdL.FileList[0], "autoremove") == 0)
{
_config->Set("APT::Get::AutomaticRemove", "true");
fallback = MOD_REMOVE;
}
ফাংশন থেকে DoAutomaticRemove
:
bool doAutoRemove = _config->FindB("APT::Get::AutomaticRemove", false);
// ...
// look over the cache to see what can be removed
for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); ! Pkg.end(); ++Pkg) {
if (doAutoRemove) {
if(Pkg.CurrentVer() != 0 &&
Pkg->CurrentState != pkgCache::State::ConfigFiles)
Cache->MarkDelete(Pkg, purgePkgs);
else
Cache->MarkKeep(Pkg, false, false);
}
}
আমি কথা বলতে পারে না তা অভিপ্রেত যাওয়া বা না হয়, আপনি পূরণ করতে পারে একটি বাগ / জিজ্ঞাসা একটি প্রশ্ন এ launchpad.net ।
এই মুহুর্তে, প্যাকেজগুলি মুছে ফেলা থেকে বাদ দেওয়া সম্ভব নয় apt-get autoremove
। আপনি যদি প্যাকেজ রাখতে চান, রান করুন apt-get -s autoremove
, তালিকা থেকে প্যাকেজগুলি অনুলিপি করুন এবং সেই তালিকা থেকে প্যাকেজগুলি সরিয়ে রাখতে চান। শেষ অবধি, এই প্যাকেজগুলি সরান: sudo apt-get purge [packages-to-be-removed]
(শুদ্ধি কনফিগারেশন ফাইলগুলিও সরিয়ে দেয়, যদি থাকে)