আর্ক লিনাক্সে প্যাকম্যান দ্বারা ইনস্টল করা পুরানো প্যাকেজগুলি কীভাবে মুছবেন?


51

আমি সম্প্রতি আর্ক লিনাক্স ইনস্টল করেছি এবং দেখতে পেয়েছি যে তুলনামূলক দ্রুত আমি প্রচুর স্টোরেজে খেয়ে যাচ্ছি। যে কোনও কারণে আমি ইতিমধ্যে প্রায় 2 সপ্তাহের মধ্যে 17 গিগাবাইট ব্যবহার করেছি। আমার কাছে প্রচুর পরিমাণে সফ্টওয়্যার ইনস্টল করা নেই তাই আমার বিশ্বাস হয় যে পুরানো প্যাকেজগুলির সবকটি কোথাও রক্ষণাবেক্ষণ করা হয়েছে।

এটি সমর্থন করার জন্য, আমি লক্ষ্য করেছি যে আমি যদি কোনও প্যাকেজ ইনস্টল করি, তবে সেই প্যাকেজটি সরিয়ে ফেলুন এবং তারপরে এটি পুনরায় ইনস্টল করুন যা প্যাকম্যানটি কেবল আনপ্যাক করে এবং পুনরায় ডাউনলোড না করেই সফ্টওয়্যারটিকে পুনরায় ইনস্টল করে।

আমি আমার বেস সিস্টেমটি ইনস্টল করার পরে, অতিরিক্ত সফ্টওয়্যার এর আগে, আমি প্রায় 2GB বা সম্ভবত ব্যবহার করতাম। আমি তখন থেকে কেবল মতলব, স্কাইপ, ওয়াইন এবং কয়েকটি অন্যান্য ছোট প্রোগ্রাম ইনস্টল করেছি। অবশ্যই আমি হারিয়ে যাওয়া লাইব্রেরি এবং এর মতো ইনস্টল করেছি তবে প্রায় 15 জিবি মূল্য নয়।

আমি কি এখানে পুরোপুরি ভুল বা নতুন সংস্করণে ডাউনলোড / আপগ্রেড করার সময় আর্চ কখনও পুরানো প্যাকেজগুলি মুছে না?

যদি তা হয় তবে আমি এই ব্যবহৃত না হওয়া প্যাকেজগুলি কীভাবে মুছব?

এছাড়াও, যখন আমি ইনস্টল হওয়া প্যাকেজগুলি ব্যবহার করি remove pacman -R ...


1
নিয়মিত cronবা চাকরিরূপে প্যাকেচ সেট আপ করা সম্ভবত একটি ভাল ধারণা systemd
স্পারহাক

উত্তর:


59

না, প্যাকম্যান আপনার ক্যাশে ( /var/cache/pacman/pkg) থেকে পুরানো প্যাকেজগুলি সরিয়ে দেয় না , তাই সময়ের সাথে সাথে এটি পূরণ করতে পারে।

আপনি ক্যাশে সাফ করার জন্য দুটি পন্থা অবলম্বন করতে পারেন: ব্রুট ফোর্স এর সাথে pacman -Sc:

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

অথবা, আরও অল্প সংকটযুক্ত পদ্ধতির জন্য, আপনি প্যাকম্যান-অবদানের সাথে জাহাজীকরণকারী যে কোনও একটি ইউটিলিটি ব্যবহার করতে পারেন paccache:

প্যাকচে একটি নমনীয় প্যাকম্যান ক্যাশে পরিষ্কারের ইউটিলিটি, যার প্যাকম্যান প্যাকেজ টার্বলযুক্ত কোনও ডিরেক্টরি থেকে কত, এবং কী, মুছে ফেলা হবে তা নিয়ন্ত্রণে সহায়তা করতে অসংখ্য বিকল্প রয়েছে।

ডিফল্টরূপে, paccacheইনস্টল করা প্যাকেজের শেষ তিনটি সংস্করণ ব্যতীত সমস্ত অপসারণ করবে তবে আপনি এই নম্বরটি -k, --keepস্যুইচ দিয়ে পরিবর্তন করতে পারবেন । -d, --dryrunআপনার পরিবর্তনগুলি পূর্বরূপ দেখতে একটি সুইচও রয়েছে। paccache --helpসমস্ত সুইচ জন্য দেখুন ।

প্যাকেজ ব্যবস্থাপনায় সহায়তা করার জন্য প্যাকম্যান-অবদান প্যাকেজে প্রচুর ইউটিলিটি রয়েছে, এটি সমস্তটি দেখতে এবং তারা কীভাবে কাজ করে এবং আর্ক চালানো আরও সহজ করে তুলতে পারে সে সম্পর্কে উপলব্ধি অর্জন করা মূল্যবান। আপনি এর সাথে সম্পূর্ণ তালিকা দেখতে পাবেন:

pacman -Ql pacman-contrib | awk -F"[/ ]" '/\/usr\/bin/ {print $NF}'

জেসনওয়ারিয়ান এটি বলেছিলেন --clean: ডাবল স্যুইচটি সম্পর্কেও সত্যই সাবধানতা অবলম্বন করুন : সাম্প্রতিক সংস্করণে কোনও সমস্যা ঘটলে (যেমন, নতুন প্যাকেজটি পুরানো লিব বা পাইথন রিলিজের উপর নির্ভর করে; হার্ডওয়্যার এবং সর্বশেষের সাথে একইভাবে) যদি ডাবল সুইচটি সহজেই কাজ করা প্যাকেজটিতে ফিরে যেতে নিষেধ করে ; কার্নেল)। আমি /আরও ভাল সমাধানের চেয়ে অন্য কোথাও প্যাকম্যান ক্যাশে সেট করে দেখছি (কেবলমাত্র /etc/pacman.conf এ পথ নির্ধারণ করুন )।
tuk0z

2
আপনার কাছে না থাকলে paccacheআপনি pacman-contribপ্যাকেজ ইনস্টল করে এটি পেতে পারেন ।
pfrenssen

+1, তবে আমি $ pacman -Ql pacman-contrib | awk -F"[/ ]" '/\/usr\/bin\/./ {print $NF}'ফলাফলের ফাঁকা রেখাটি এড়াতে পরামর্শ দিচ্ছি ? ;-)
সিবিহে

ওয়েলপ, rm -rf /var/cache/pacman/pkgকরণীয় ছিল ভুল কাজ
পোস্ট স্ব স্ব

প্রাসঙ্গিক পৃষ্ঠাটি আর্কিউইকি: wiki.archlinux.org/index.php/pacman# ক্লিনিং_সে_প্যাকেজ_ক্যাচ
wxyz

13

আপনার প্যাকেজ ক্যাশে রয়েছে /var/cache/pacman/pkg/

দ্রষ্টব্য: pacman প্যাকেজগুলি 2018 এ আপডেট হয়েছিল এবং নীচে বর্ণিত pacman-contribস্ক্রিপ্ট / সরঞ্জামগুলি ব্যবহার করার জন্য অতিরিক্তভাবে ইনস্টল করা প্রয়োজন paccache

না:

paccache -d

একটি করতে -dryrunএবং দেখুন যখন আপনি পরেরটি করবেন তখন সেই ইউটিলিটির একটি রান কীভাবে সরিয়ে ফেলতে পারে:

paccache -r

ক্যাশেড প্যাকেজগুলি সরানোর জন্য। 17 গিগাবাইট খাড়া শব্দ করে। নিশ্চিত হয়ে নিন যে আপনি কিছু রান-আপ লগ পান নি। না:

du -h /var/log

বা এমনকি ঠিক:

du -h /var

কী চলছে তার আরও সাধারণ ধারণার জন্য।


7

pacman -Sccআপনি যা জিজ্ঞাসা করছেন তা করে তবে এটি প্রস্তাবিত নয়। উইকি থেকে

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

অন্যদিকে, যখন আমি প্যাকেজগুলি আনইনস্টল করি তখন আমি ব্যবহার করতে পছন্দ করি pacman -Rnsc, কারণ এটি প্যাকেজ নির্ভরতা পাশাপাশি এইগুলির উপর নির্ভরশীল প্যাকেজগুলিও সরিয়ে দেয়। সর্বদা হিসাবে, সাবধানে পড়ুন কোন প্যাকেজগুলি সরানো হচ্ছে, আপনি আমাদের সিস্টেমকে খুব সহজেই অকেজো অবস্থায় ফেলে যেতে পারেন।


এটি দুর্দান্ত - সুতরাং এটি কি সমান rm /var/cache/pacman/pkg/*? বা - এটি কমপক্ষে ডিফল্ট হিসাবে, আমার ধারণা। আমি আমার pkg ক্যাশে /tmpবেশিরভাগ মেশিনে স্থানান্তরিত করেছি squidএবং রাউটারে একক কেন্দ্রীয় ক্যাশে পরিচালনা করতে পারি। pacman -Sccযদিও হিসাবে সহজ না ।
মাইকজারভেজ

@ মিমকিজার আপনার রাউটারে কেন্দ্রীয় প্যাকম্যান প্যাকেজ ক্যাশে? আপনি এটি কীভাবে সেট আপ করেছেন, আমার কাছে এটির শব্দটি পছন্দ হয়েছে যেহেতু আমার কাছে একটি আর্চ ডেস্কটপ এবং ল্যাপটপ উভয়ই রয়েছে।

6

paccacheপরিবর্তে এর ব্যবহারের জন্য আমি দৃ strongly়ভাবে পরামর্শ দিচ্ছি pacman -Sc। আনইনস্টল হওয়া প্যাকেজগুলির সংস্করণ নির্বাচন করে অপসারণের জন্য খুব কার্যকর পতাকা রয়েছে -upaccacheআমার প্রস্তাবিত পতাকাগুলি হ'ল (প্যাকেচে ভি 5.0.2 এর অংশ হিসাবে):

  • -d, --dryrun: একটি শুষ্ক রান সঞ্চালন, কেবল প্রার্থী প্যাকেজ সন্ধান
  • -r, --remove: প্রার্থী প্যাকেজগুলি সরান
  • -u, --uninstalled: কেবলমাত্র আনইনস্টল করা প্যাকেজগুলিকে লক্ষ্য করুন
  • -k, --keep <num>: প্রতিটি প্যাকেজের ক্যাশটিতে "নাম" রাখুন (ডিফল্ট: 3)

উদাহরণ: আনইনস্টল হওয়া প্যাকেজগুলির বাকী ক্যাশে সংস্করণগুলির জন্য পরীক্ষা করুন

paccache -dvuk0

1
এটি কীভাবে বিদ্যমান উত্তরগুলিতে বিকল্পগুলি মুদ্রণের বাইরে যুক্ত করে?
জেসনওয়ারিয়ান

যদি আপনি প্রচুর অব্যবহৃত বড় প্যাকেজগুলি সরিয়ে ফেলে থাকেন তবে আপনি সেগুলি প্যাকম্যানের ক্যাশে থেকে মুছে ফেলতে চান। এই পতাকাটি সম্ভব -uএর paccache। বড় প্যাকেজগুলির উদাহরণগুলি হ'ল জিনোম, কেডিএ বা টেক্সলাইভ আপনাকে ধারণা দেওয়ার জন্য।
strpeter

1
হ্যাঁ, আমি পতাকাটির সাথে পরিচিত। আমার বক্তব্য উত্তরে আরও বেশি পতাকা যুক্ত করছে যে এটি ইতিমধ্যে এখানে যা প্রতিলিপি তৈরি করে তা পরিবর্তন করে না।
জেসনওয়ারিয়ান

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