ম্যানুয়ালি / var / cache / অ্যাপ্ট কন্টেন্ট মুছে ফেলা কি নিরাপদ?


21

খুব সীমাবদ্ধ ডিস্ক স্পেস সহ এম্বেড থাকা সিস্টেমে আমার ফোল্ডারটি /var/cache/aptপ্রায় 700MB srcpkgcache.bin.*এবং বেশ কয়েকটি বড় *.binফাইল দিয়ে পূর্ণ have

পারফর্মিং sudo apt-get cleanদৃশ্যমান পার্থক্য তৈরি করেনি।

ম্যানুয়ালি এই *.bin*ফাইলগুলি মুছে ফেলা কি নিরাপদ ?


6
উবুন্টু ১৪.০৪ অনুসারে, *.binবলা ফোল্ডারে ফাইলগুলি সরিয়ে ফেলা পুরোপুরি নিরাপদ - ধরে নিচ্ছি যে বর্তমানে কোনও অ্যাপ-সম্পর্কিত প্রক্রিয়া চলছে না। পরের ফাইলগুলি apt-get updateপুনরায় জেনারেট করবে *.binএই প্রশ্নের নিশ্চিতভাবে হয় না ফাইল সম্পর্কে /var/cache/apt/archives, কিন্তু ফাইল /var/cache/apt/*.bin। বড় পার্থক্য. প্রাক্তনটি জারি করে পরিষ্কার করা যায় apt-get clean, পরেরটি ম্যানুয়ালি অপসারণ করতে হবে। স্পষ্টতই প্রশ্নটি বন্ধ করতে যারা ভোট দিয়েছেন তারা সঠিকভাবে প্রশ্নটি পড়ে নি। দুর্ভাগ্যক্রমে আমি আমার কিছু প্রতিনিধি পুরস্কার প্রদানের পরে পুনরায় খুলতে ভোট দিতে পারি না।
0xC0000022L

3
এই না সদৃশ। লিঙ্কযুক্ত উত্তরটি হ'ল সাব-ডিরেক্টরি সম্পর্কে, এটির archivesমধ্যে /var/cache/apt/একটি *.bin*ফাইল।
ওলাফ ডিয়েটসে

উত্তর:


11

আসলে তা না. এই ফাইলগুলি আপনার সিস্টেমে কোনটি উপলভ্য এবং কোনটি নয় তা নির্ধারণ করতে সহায়তা করে। ডিরেক্টরিটি খালি করার ফলে একটি ভাঙ্গা এপ-গিটিং সিস্টেম তৈরি হবে। এখানে কয়েকটি টিপস।

প্রথমত, অটো পরিষ্কার করুন

যুক্ত কর একটি

DPkg::Post-Invoke { "apt-get clean"; };

শেষে /etc/apt/apt.conf। এটি এপটি তৈরি করবে এবং dpkg প্রসেসগুলি আরও বেশি সময় নেয়, তবে এটি আপনার ক্যাশে ডিরেক্টরিটি সর্বদা পরিষ্কার থাকায় তা তৈরি করবে।

এরপরে, সংরক্ষণাগারগুলি সরান

সমস্ত উত্স সংরক্ষণাগারটি অপসারণ এবং অক্ষম করে শুরু করুন (যা আপনি ব্যবহার করছেন না)। এম্বেড থাকা সিস্টেমে আপনার সম্ভবত তাদের প্রয়োজন হবে না। এরপরে ব্যবহার না করা সমস্ত সংরক্ষণাগার মুছে ফেলুন। আপনি apt-cache policyযদি নিশ্চিত না হন তবে কোনও প্যাকেজ কী রেপো আসছে তা নির্ধারণের জন্য আপনি দৌড়াতে পারেন।

সংরক্ষণাগারগুলি আরও সরানো

আপনার কেবলমাত্র 1 বা 2 প্রয়োজন হলে কিছু পিপিএগুলি বিপুল সংখ্যক প্যাকেজ থাকার বিষয়ে আতঙ্কিত those সেই পিপিএগুলি অক্ষম করার চেষ্টা করুন এবং কেবল ডেব ফাইলগুলি ম্যানুয়ালি ইনস্টল করার চেষ্টা করুন। আপনি এই ক্ষেত্রে স্থান বাঁচান, কিন্তু আপনি স্বয়ংক্রিয় আপডেট আলগা করুন। মনে রাখবেন যে dpkg নির্ভরতা হ্যান্ডেল হবে রাখুন, যাতে আপনি এখনও জিনিস-টন অফ deps.deb দিয়ে তারপর চালানোর ইনস্টল করতে পারেন apt-get -f installনির্ভরতা আনতে।

সম্পূর্ণরূপে চরম উত্তর 1

যেহেতু একটি এম্বেড থাকা সিস্টেমের কথা ছিল, 90% মূল ভান্ডার আপনাকে কোনও উপকার করতে পারে না। এটি পরিচালনা করতে আপনি নিজের অ্যাপটি-গেট রেপো সার্ভারটি চালাতে পারেন এই লিঙ্কটি দেখুন । এটি সহজ নয়, এবং এটি কেবল একটি মেশিনের জন্য পিআইএ। তবে আপনার যদি এই কয়েকটি মেশিন থাকে তবে এটি সম্পূর্ণরূপে মূল্যবান। (আপনি রেপো সার্ভারটি যে প্যাকেজগুলির প্রকৃতপক্ষে ব্যবহার করছেন কেবল এটির একটি উপসেট হোস্ট করতে পারে You আপনাকে পুরো জিনিসটি আয়না করার দরকার নেই)

সম্পূর্ণরূপে চরম উত্তর 2

যদি স্থানটি যদি সত্যিই বড় আকারের হয় তবে আপনি সবগুলি একসাথে অক্ষম করতে পারেন এবং dpkg এর মাধ্যমে ম্যানুয়ালি ইনস্টল করতে ফিরে যেতে পারেন। বেশ কয়েকটি এম্বেড থাকা সিস্টেমে আমাকে এটি করতে হয়েছিল। এটি কাজ করে তবে এটি প্রশাসকের দুঃস্বপ্ন।


এটি একটি দুর্দান্ত উত্তর (বিশেষত সম্পূর্ণ চরম এক) তবে /etc/apt/apt.conf উবুন্টু 14.04 এ আর বিদ্যমান নেই। বর্তমানের সেরা অনুশীলনটি কী?
জাচায়সান

1
এটি উপস্থিত না থাকলে কেবল ফাইলটি তৈরি করুন। এটি এখনও পড়া হবে।
coteyr

5
দয়া করে, আপনি কেন লিখছেন যে *.binফাইলগুলি সরিয়ে ফেলা নিরাপদ নয় ? যে কোনও রান apt-get updateস্ক্র্যাচ থেকে এই ফাইলগুলি পুনরায় জেনারেট করবে (পরীক্ষিত)। উদাহরণস্বরূপ আমার ব্যবহারের কেসটি হ'ল আমি LXC ধারক টেম্পলেট তৈরি করতে চাই এবং সংরক্ষণাগারটি যতটা সম্ভব নিচে নামাতে চাই। আমি কোনও কারণ দেখতে পাচ্ছি না যে এটি অনিরাপদ। এবং আপনার উত্তর কোনও কারণ নির্দেশ করে না, কেবলমাত্র বলে যে এটি অনিরাপদ। পরীক্ষিত যে এটি উবুন্টু 14.04 এ পুরোপুরি নিরাপদ
0xC0000022L

1
আপনি বলছেন যে apt-cache cleanকোনও ডিপি কেজি কল অন্তর্ভুক্ত করার ফলে ক্লিনার ক্যাশে হবে, তবে ব্যবহারকারী বলছেন যে apt-cache cleanতাদের জন্য কোনও কিছুই পরিষ্কার করা হয়নি। এছাড়াও আপনার উত্তর সম্পূর্ণ ভুল কারণ dpkg /var/cache/apt/*প্যাকেজ পরিসংখ্যান সম্পর্কিত তথ্যের জন্য সামগ্রী ব্যবহার করে না ।
আনোয়ার

1
কার্যক্ষম-পেতে র manpage পরিষ্কারভাবে ফাংশন বর্ণনা করে cleanআউট পুনরুদ্ধারকৃত প্যাকেজ ফাইল স্থানীয় সংগ্রহস্থলে * পরিষ্কার মুছে ফেলা হবে না। এটি / var / cache / apt / সংরক্ষণাগার / এবং /var/cache/apt/archives/partial/.A থেকে লক ফাইল ব্যতীত সমস্ত কিছু সরিয়ে দেয় it যদি এটি বিপজ্জনক হয় তবে পরিষ্কার করার মতো কোনও কাজ নেই।
আনোয়ার

3

আপনি অবশ্যই মুছতে পারেন pkgcache.binএবং srcpkgcache.binকিছুই হয় না। apt-get updateএগুলি পুনরায় তৈরি করতে কেবল চালান ।


... এবং .debফাইলগুলি মুছে ফেলার ক্ষেত্রে এটি কি স্বাধীনভাবে সত্য ?
einpoklum - মনিকা

1

রাখুন pkgcache.binএবং srcpkgcache.bin, আপনি অন্যকে নিরাপদে মুছতে পারেন। ডিরেক্টরিগুলি স্পর্শ করবেন না!


ঠিক আছে ধন্যবাদ. আমি অস্থায়ীভাবে *bin.*ফাইলগুলি ব্যাকআপ ফোল্ডারে সরিয়েছি। যাইহোক, কেন অ্যাপ্লিকেশন ক্যাশের ভিতরে ক্যাশে পরিচালনা করে ? একটি ক্যাশে ডিরেক্টরি প্রকৃতির দ্বারা একটি অস্থায়ী স্টোরেজ হওয়া উচিত।
ysap

এই ইস্যুটি ইতিমধ্যে বাগেরপোর্ট করা হয়েছে। :) এখানে
ফরাসিক

আপনি অবশ্যই pkgcache.bin এবং srcpkgcache.bin মুছতে পারেন, কিছুই হয় না। apt-get আপডেট এগুলিকে পুনরায় তৈরি করে।
টমাস এম

0

আপনি অবশ্যই এটির জন্য একটি এনএফএস-শেয়ার (নেটওয়ার্ক ফাইল সিস্টেম) তৈরি করতে পারেন। এই ফাইলগুলিকে সার্ভারে রেখে যান এবং প্যাকেজগুলি আপডেট / ইনস্টল করতে চাইলেই ভাগটি মাউন্ট করুন। এম্বেড করা পরিবেশে, ইনস্টলেশনটি যাইহোক সাধারণত অপেক্ষাকৃত স্থির হবে।

sshfs আরেকটি ভাল বিকল্প, সেটআপ করা অনেক সহজ (মূলত কেবল এসএসএইচ প্রয়োজন যা মানক) তবে এতে আরও ওভারহেড (ধীর) হয়।


এটি টেকনিক্যালি কাজ করা উচিত, আপনি যখন কখন এপিটি চালায় তার সম্পূর্ণ নিয়ন্ত্রণ না থাকে। আপনি যদি এই জাতীয় কিছু ব্যবহার করেন তবে আপনাকে নিশ্চিত করতে হবে যে আপনি ক্রোন জবসের মতো "স্বয়ংক্রিয়" কার্যগুলি অক্ষম করে যা অ্যাপটি-আপডেট আপডেট চালায়।
coteyr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.