/ Var / cache / apt / সংরক্ষণাগারগুলিতে / ডিবে ফাইলগুলি কেন আছে?


উত্তর:


21

পটভূমির তথ্য

উবুন্টুতে দুটি জিনিস রয়েছে (এবং ডেবিয়ানে, উবুন্টু ভিত্তিক) যা সাধারণত "প্যাকেজ ম্যানেজার" নামে পরিচিত: dpkgএবং এপিটি।

dpkgএমন একটি প্রোগ্রাম যা প্যাকেজ ইনস্টল করে এবং অপসারণ করে এবং কোন সংস্করণে প্যাকেজ ইনস্টল করা হয় তার একটি ডাটাবেস বজায় রাখে। যখন এটি প্যাকেজ ইনস্টল করে, .debসংরক্ষণাগার ফাইল থেকে এটি করে । এই সংরক্ষণাগারগুলি প্যাকেজগুলি বিতরণ করার উপায়।

dpkgফাইলগুলি অনুলিপি (বা মুছুন) এর চেয়ে বেশি করে এবং এটির ডাটাবেস আপডেট করে - এটি ইনস্টলেশন স্ক্রিপ্ট এবং অপসারণ স্ক্রিপ্টগুলিও চালাবে। এটি বেশ পরিশীলিত হিসাবে বিবেচিত হতে পারে। তবে এটি যা করবে না তা হ'ল প্যাকেজগুলি সন্ধান এবং ডাউনলোড করা।

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

এপিটি-তে একটি লাইব্রেরি ( লিব্যাপ্ট-পিকেজি ) অন্তর্ভুক্ত রয়েছে যা বিভিন্ন সরঞ্জাম দ্বারা অ্যাক্সেস করা মূল কার্যকারিতা সরবরাহ করে। এই ধরনের কিছু সরঞ্জাম, মত apt-get, এছাড়াও দ্বারা উপলব্ধ করা হয় কার্যক্ষমঅ্যাপ্লিকেশন ইনস্টল করুন প্যাকেজ। অন্যান্য সরঞ্জাম পৃথকভাবে ইনস্টল করা হয়। এপিটি বিভিন্ন কনফিগারেশন ফাইলও সরবরাহ করে যা কীভাবে এটির মূল গ্রন্থাগার, এবং যে প্রোগ্রামগুলি এটি ব্যবহার করে, কাজ করে তা নিয়ন্ত্রণ করে।

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

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

$ sudo apt-get install chocolate-doom
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  doom-wad-shareware libmikmod3 libsdl-mixer1.2 libsdl-net1.2 libsdl1.2debian
Recommended packages:
  doom-engine
The following NEW packages will be installed:
  chocolate-doom doom-wad-shareware libmikmod3 libsdl-mixer1.2 libsdl-net1.2
  libsdl1.2debian
0 upgraded, 6 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/2,846 kB of archives.
After this operation, 8,626 kB of additional disk space will be used.

সফ্টওয়্যার সেন্টার, সফ্টওয়্যার আপডেটার / আপডেট ম্যানেজার, এবং সিনাপটিকের মতো গ্রাফিকাল সরঞ্জামগুলি এর মতোই কার্য সম্পাদন করে apt-get। তারা এপিটি সিস্টেমটিও ব্যবহার করে - এর নিয়মগুলি পর্যবেক্ষণ করে এবং মূল গ্রন্থাগারগুলির দ্বারা সরবরাহিত কার্যকারিতা ব্যবহারের মাধ্যমে - কোন প্যাকেজ ইনস্টল করা হয়েছে তা পরিবর্তন করতে, ব্যবহারকারীকে কী (তিনি) সাধারণত চান তা দেওয়ার জন্য, এইভাবে (সাধারণত) কাজ চালিয়ে যান।

/var/cache/apt/archivesফোল্ডারটি কখন এবং কখন ব্যবহৃত হয়

যখন apt-get, aptitude, সফটওয়্যার সেন্টার , Synaptic , সফটওয়্যার আপডেটার / আপডেট ম্যানেজার , বা অন্য কোন প্যাকেজ ব্যবস্থাপনা উপযোগ ডাউনলোডসমূহ প্যাকেজ (এবং অন্যান্য প্যাকেজ তারা উপর নির্ভর করে) কনফিগার করা থেকে সফ্টওয়্যার উৎস এবং তাদের ইনস্টল, ডাউনলোড প্যাকেজ (অর্থাত, .deb সংরক্ষণাগার ফাইল যেগুলি থেকে তারা ইনস্টল করা আছে) এতে সঞ্চিত থাকে /var/cache/apt/archives

আপনার যদি ডিস্কে একটি .deb ফাইল থাকে এবং আপনি এটি ইনস্টল করেন dpkg, এটি এর অনুলিপি তৈরি করার কারণ হবে না /var/cache/apt/archives। কিন্তু যখন কোনও প্রোগ্রাম যা স্বয়ংক্রিয়ভাবে নির্ভরতা রেজোলিউশন এবং প্যাকেজ পুনরুদ্ধার ডাউনলোড প্যাকেজগুলির এপিটি সিস্টেম ব্যবহার করে বা প্রয়োগ করে , সেখানে সেগুলি সংরক্ষণ করে।

স্বয়ংক্রিয়ভাবে ডাউনলোড হওয়া প্যাকেজগুলির জন্য .deb ফাইলগুলি সংরক্ষণ করা এবং থেকে ইনস্টল থাকা অবস্থায় /var/cache/apt/archivesসেগুলি সরাসরি সেই জায়গায় সরাসরি ডাউনলোড হয় না। পরিবর্তে, অসম্পূর্ণ (অর্থাত, প্রগতিতে) .দেব ফাইল ডাউনলোডগুলি বিদ্যমান /var/cache/apt/archives/partialএবং তারপরে /var/cache/apt/archivesশেষ হয়ে গেলে তা স্থানান্তরিত হয় ।

.deb প্যাকেজ ফাইলগুলি /var/cache/apt/archivesভবিষ্যতে ব্যবহারের জন্য প্রয়োজনীয় প্রয়োজনে সফল ইনস্টলেশন পরেও ক্যাশে থাকে । তবে আপনি নিরাপদে .deb ফাইলগুলি সরাতে পারেন যা যথেষ্ট পুরানো তাদের আবার প্রয়োজনের সম্ভাবনা নেই sudo apt-get autoclean, বা ক্যাশেড .debফাইলগুলি সম্পূর্ণরূপে সাফ করে দিতে পারেন sudo apt-get clean। দেখুন man apt-getআরও তথ্যের জন্য।

এর sudo apt-get autocleanঅনুরূপ কমান্ডের ক্রিয়াকলাপটি চিত্রিত করার পাশাপাশি আপনি সেগুলি চালনা করতে চান কিনা তা নির্ধারণ করতে আপনি পতাকা নিয়ে চালিয়ে তাদের ক্রিয়াকলাপ অনুকরণ করতে পারেন -s। এটা তোলে এই ফ্ল্যাগ পাস সেরা সামনেautoclean (অথবা যাই হোক না কেন অন্যান্য) কর্ম ক্রিয়া। এটি sudoব্যবহার করার সাথে সাথে রুট হিসাবে কোনও ইউটিলিটি চালানো সাধারণত প্রয়োজন হয় না -s, কারণ কোনও আসল পরিবর্তন করা হচ্ছে না।

উদাহরণস্বরূপ, আমার সিস্টেমে:

$ apt-get -s autoclean
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Del libubsan0 4.9.1-15ubuntu1 [83.7 kB]
Del cups-server-common 1.7.5-3 [519 kB]
Del python2.7 2.7.8-9 [205 kB]
Del g++-4.9 4.9.1-15ubuntu1 [17.4 MB]
Del libstdc++-4.9-dev 4.9.1-15ubuntu1 [1,121 kB]
    ....

তালিকাভুক্ত প্যাকেজগুলি আনইনস্টল করা হবে না ; পরিবর্তে, কেবল ক্যাশেড .deb ফাইল মুছে ফেলা হবে। (আসলে আমি যখন সেই আদেশটি চালিয়েছিলাম তখন তেমন কিছুই ঘটেনি, কারণ এটি নিছক একটি অনুকরণ ছিল।)

অন্যান্য ডাউনলোড করা ফাইল

dpkg(এপিটি বা অন্যথায়) এর মাধ্যমে ইনস্টল করা সফ্টওয়্যার আসলে এটি সরবরাহ করে .deb ফাইল থেকে চালিত হয় না। পটভূমি তথ্য বিভাগে উল্লিখিত হিসাবে , .deb ফাইলগুলি বের করা হয়। এ কারণেই এগুলি সরানো যায় এবং ইনস্টল করা প্যাকেজটি কাজ চালিয়ে যায়।

.Deb প্যাকেজগুলি থেকে ইনস্টল করা সমস্ত সিস্টেম জুড়ে থাকা ফাইলগুলি তাদের বর্তমান অবস্থানে ডাউনলোড করা হয় না - পরিবর্তে, তাদের কাছে .deb ফাইলগুলি থেকে তাদের কাছে নেওয়া হয় যা তাদের সরবরাহ করে (বা সম্ভবত বিশেষত ইনস্টলেশনের সময় বা পরে তৈরি করা হয়েছিল, যেমনটি ঘটে থাকে) কিছু কনফিগারেশন ফাইলের জন্য)।

কিন্তু .deb ফাইলগুলি কেবল প্যাকেজ পরিচালন ইউটিলিটিগুলি দ্বারা ডাউনলোড করা ফাইল নয়। প্রায়শই অন্যান্য ফাইলগুলি ডাউনলোড হয় যা প্যাকেজগুলির উপস্থিতি সম্পর্কে তথ্য সরবরাহ করে।

উদাহরণস্বরূপ, আমি যখন চালনা করি sudo apt-get update, আউটপুটটিতে লাইনগুলি অন্তর্ভুক্ত থাকে:

Get:13 http://us.archive.ubuntu.com utopic/main i386 Packages [1,341 kB]

এর অর্থ হ'ল http://us.archive.ubuntu.com/ubuntu/dists/utopic/main/binary-amd64/Packages.bz2 এর মতো একটি ফাইল ডাউনলোড এবং পরীক্ষা করা হয়েছিল যা প্যাকেজগুলি উপলভ্য রয়েছে সে সম্পর্কিত তথ্য সহ এপিটি ডাটাবেস আপডেট করতে সহায়তা করে ( এবং কোন সংস্করণে) সেই নির্দিষ্ট সফ্টওয়্যার উত্স থেকে। আপনি ডিরেক্টরিতে প্যাকেজ ফাইল এবং এই জাতীয় অন্যান্য ফাইলগুলি সন্ধান করতে পারেন /var/lib/apt/list। সেখানে সংরক্ষিত অনুলিপিগুলিকে আলাদা আলাদা নাম দেওয়া হয় us.archive.ubuntu.com_ubuntu_dists_utopic_main_binary-amd64_Packages, কারণ এ জাতীয় অনেকগুলি ফাইল থাকতে পারে।

আপনি apt-cacheবিশেষভাবে সম্পর্কে জিজ্ঞাসা করেছেন । এটি প্যাকেজ ডাটাবেসের অনুসন্ধান করে তবে এটি সিস্টেমে কোনও পরিবর্তন করে না বা কোনও ফাইল ডাউনলোড করে না।

ডাউনলোড ফাইলগুলি সফ্টওয়্যার কেন্দ্রের জন্য নির্দিষ্ট

যখন উবুন্টু সফটওয়্যার সেন্টার তার নিজস্ব ব্যবহারের জন্য ডেটা ডাউনলোড করে, এটি নির্দিষ্ট করে এবং সাধারণ এপিটি (বা dpkg) কার্যকারিতা সম্পর্কিত নয়, তখন এটি সেগুলিতে সংরক্ষণ করে /var/cache/software-center

উদাহরণস্বরূপ, আমার সিস্টেমে (এবং বেশিরভাগ সিস্টেমে), সেই ফোল্ডারে একটি xapianসাবফোল্ডার রয়েছে :

ek@Ilex:/var/cache/software-center/xapian$ ls
flintlock       postlist.baseB  record.baseB    spelling.baseB  termlist.baseB
iamchert        postlist.DB     record.DB       spelling.DB     termlist.DB
postlist.baseA  record.baseA    spelling.baseA  termlist.baseA

সফটওয়্যার সেন্টার দ্রুত অনুসন্ধানের জন্য ইনডেক্সের তথ্যগুলিতে জ্যাপিয়ান ব্যবহার করে ।

অন্যান্য সম্পর্কিত ইউটিলিটিগুলির জন্য ফাইল ডাউনলোড করা হয়েছে

কিছু অতিরিক্ত ইউটিলিটিগুলি যা এপিটি সিস্টেমের সাথে কাজ করে তাদের অপারেশনের অংশ হিসাবে ফাইলগুলি ডাউনলোড করে সঞ্চয় করে। apt-fileউবুন্টুতে ডিফল্টরূপে ইনস্টল করা হয় নি তবে এটিপি-ফাইলঅ্যাপ্ট-ফাইল ইনস্টল করুন প্যাকেজ থেকে ইনস্টল করা হতে পারে ।

apt-fileকোন প্যাকেজগুলির মাধ্যমে কোন ফাইলগুলি সরবরাহ করা হয় সে সম্পর্কিত তথ্য সংরক্ষণ করে (এমনকি স্থানীয়ভাবে ইনস্টল না করা প্যাকেজগুলির জন্যও)। এটি সংকোচিত Contentsফাইলগুলি ডাউনলোড করে প্যাকেজগুলির সামগ্রীগুলির জন্য এই তথ্যটি অর্জন করে:

$ sudo apt-file update
Downloading complete file http://us.archive.ubuntu.com/ubuntu/dists/utopic/Contents-amd64.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 29.6M  100 29.6M    0     0   856k      0  0:00:35  0:00:35 --:--:--  832k

যখন apt-file updateরুট হিসাবে চালানো হবে (উপরে হিসাবে), এই ফাইলগুলি /var/cache/apt/apt-fileডিরেক্টরিতে ডাউনলোড করা হয় । এটি আবিষ্কার করতে, আমি দৌড়েছি:

$ sudo updatedb
$ locate Contents-amd64
/var/cache/apt/apt-file/us.archive.ubuntu.com_ubuntu_dists_utopic-proposed_Contents-amd64.gz
/var/cache/apt/apt-file/us.archive.ubuntu.com_ubuntu_dists_utopic_Contents-amd64.gz

নোট করুন যে এই পোস্টে প্রদত্ত তথ্যগুলি উবুন্টুতে প্যাকেজ পরিচালন ইউটিলিটিগুলি দ্বারা ডাউনলোড করা এবং সংরক্ষণ করা ডেটা ফাইলের বেশ কয়েকটি উদাহরণ দেয় তবে এ জাতীয় ফাইলগুলি ব্যবহৃত এবং সংরক্ষণ করা উদাহরণগুলির একটি বিস্তৃত তালিকা হিসাবে বিবেচনা করা উচিত নয়।


ধন্যবাদ। কি apt-cache অথবা / এবং apt-fileএছাড়াও অনেক কিছু ডাউনলোড? যদি হ্যাঁ, তারা কোথায়?
টিম

কী করে "তবে যখন কোনও প্রোগ্রাম যা স্বয়ংক্রিয়ভাবে নির্ভরতা রেজোলিউশন এবং প্যাকেজ পুনরুদ্ধার ডাউনলোড প্যাকেজগুলির এপিটি সিস্টেম ব্যবহার করে বা প্রয়োগ করে, সেখানে সেগুলি সংরক্ষণ করে।" এর অর্থ কি?
টিম

@ টিম আমি আমার উত্তরটি যথেষ্ট পরিমাণে প্রসারিত করেছি, আমি আশা করি যে এই প্রশ্নগুলির (এবং আরও) সঠিকভাবে উত্তর পেয়েছি। সর্বদা হিসাবে আপনার মতামত সর্বাধিক স্বাগত - বিশেষত যদি কিছু অস্পষ্ট হয়।
এলিয়াহ কাগন

ধন্যবাদ "এপটি-ক্যাশে প্যাকেজ ডাটাবেস অনুসন্ধান করে", ডাটাবেস অনলাইন বা স্থানীয় কম্পিউটারে? অ্যাপটি-ক্যাশে ইন্টারনেট অ্যাক্সেস প্রয়োজন?
টিম

1
@ ওরিয়ান (আমি এই উত্তরটি সাহায্য করায় আনন্দিত!) আপনি প্রশ্নের উপর তারাটি ক্লিক করতে পারেন। এটি প্রশ্নের স্কোর এবং ভোট তীরের ঠিক নীচে। তারপরে প্রশ্নটি আপনার প্রোফাইলের পছন্দের ট্যাবে উপস্থিত হবে। কেবল প্রশ্নগুলিই অনুকূল হতে পারে। এই উত্তরের ক্ষেত্রে, বর্তমানে প্রশ্নটিতে এটি কেবলমাত্র একটি। অন্যদের পোস্ট করা যেতে পারে - যদিও আপনি সম্ভবত সেগুলিও দেখতে চাইবেন, যেহেতু কখনও কখনও নতুন উত্তরগুলিতে কোনও বিষয়ে নতুন বিকাশ সম্পর্কিত তথ্য থাকে। আপনি আপনার ব্রাউজারের বুকমার্কগুলি ব্যবহার করতে পারেন যা উত্তরের জন্য এমনকি কাজ করে। একটি নির্দিষ্ট উত্তরে পৃষ্ঠাটি খুলতে উত্তরের নীচে শেয়ার লিঙ্কটি ব্যবহার করুন ।
এলিয়াহ কাগান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.