অ্যাপট-ক্যাশে এবং ডিপিকিজি-এল এর মধ্যে পার্থক্য


9

আমি প্যাকেজগুলি পুনরুদ্ধার করতে এপট-ক্যাশে পিকনেমে ব্যবহার করি

me@host:~$ apt-cache pkgnames | wc -l
62803

62803 ফলাফল পান

কিন্তু

me@host:~$ dpkg -l | wc -l
2336

এত বড় পার্থক্য নিয়ে যাওয়ার কারণগুলি কী। আমি অনুমান করি যে dpkg অ্যাপের চেয়ে সুপার।



@ ওলরিন আমি এই প্রশ্নটি খুলতে ভোট দিয়েছি। এগুলি ডুপ্লিকেটগুলি ঠিক আছে, তবে আমি চাইছি যে সদৃশটির দিকটি উল্টে দেওয়া উচিত এবং পরিবর্তে dpkg-query বনাম এপটি-ক্যাশে এই প্রশ্নের নকল হিসাবে বন্ধ করা উচিত।
কারেল

উত্তর:


16

aptদূরবর্তী সংগ্রহস্থল পরিচালনার জন্য, dpkg- স্থানীয়ভাবে ইনস্টল করা প্যাকেজগুলির জন্য। তারা সম্পর্কিত। aptসম্মুখ সমাপ্তি dpkg। আপনি যখন চালান apt-get install packageএটি .debফাইল পায় এবং এর মাধ্যমে এটি ইনস্টল করে dpkg। সুতরাং সংখ্যাগুলি পৃথক হয় কারণ প্রচুর প্যাকেজ উপলব্ধ রয়েছে তবে কেবলমাত্র আপনার সিস্টেমে স্থানীয়ভাবে ভগ্নাংশ ইনস্টল করা আছে।

apt-cacheইনস্টলড এবং অ-ইনস্টল থাকা উভয়ই প্যাকেজ দেখাতে পারে, কারণ এটি aptক্যাশে-কে রিমোট করে রেমোটোজি রিপোজিটরিগুলিতে কী পাওয়া যায় (সেই ক্যাশেটি আপনি যখন পাবেন তখনই পাবেন apt-get update)। এই ক্ষেত্রে,

$ apt-cache policy terminator
terminator:
  Installed: (none)
  Candidate: 1.91-1


$ dpkg -l terminator
dpkg-query: no packages found matching terminator

মনে রাখবেন যে অন্য একটি সরঞ্জাম রয়েছে যা ইনস্টলড / সরানো স্থানীয় প্যাকেজগুলির তালিকাকে জিজ্ঞাসা করতে পারে এবং সেটিই dpkg-query। এই ক্ষেত্রে,

$ dpkg-query -l 'libc6'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                 Version         Architecture    Description
+++-====================-===============-===============-=============================================
ii  libc6:amd64          2.27-3          amd64           GNU C Library: Shared libraries
ii  libc6:i386           2.27-3          i386            GNU C Library: Shared libraries

$ dpkg -l libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                 Version         Architecture    Description
+++-====================-===============-===============-=============================================
ii  libc6:amd64          2.27-3          amd64           GNU C Library: Shared libraries
ii  libc6:i386           2.27-3          i386            GNU C Library: Shared libraries

অনুযায়ী dpkg ম্যানুয়াল

dpkg dpkg-deb (1) এবং dpkg- ক্যোয়ারী (1) এর ফ্রন্ট-এন্ড হিসাবেও ব্যবহার করা যেতে পারে। সমর্থিত ক্রিয়াগুলির তালিকাটি পরে অ্যাকশনস বিভাগে পাওয়া যাবে। যদি এরকম কোনও ক্রিয়াকলাপ মুখোমুখি হয় তবে dpkg কেবল প্রদত্ত প্যারামিটারগুলি দিয়ে dpkg-deb বা dpkg-query চালায় তবে বর্তমানে তাদের কাছে কোনও নির্দিষ্ট বিকল্প দেওয়া হয়নি, এই জাতীয় কোনও বিকল্প ব্যবহার করার জন্য পিছনের দিকগুলি সরাসরি কল করা প্রয়োজন।

যতদূর dpkg-queryযায়, এটি লক্ষ করা উচিত যে এই সরঞ্জামটি ইনস্টল করা প্যাকেজগুলির ডাটাবেস অনুসন্ধানের দিকে দৃষ্টি নিবদ্ধ করে এবং নির্দিষ্ট বিন্যাসে তথ্য আউটপুট করতে পারে ( -fঅপশন প্লাস -Wঅ্যাকশন)। এই ক্ষেত্রে,

$ dpkg-query -W -f='PACK:${Package}\nARCH:${Architecture}\nSTAT:${Status}\n---\n' libc6
PACK:libc6
ARCH:amd64
STAT:install ok installed
---
PACK:libc6
ARCH:i386
STAT:install ok installed
---

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


2

dpkg -l আপনার ইনস্টল করা প্যাকেজ সংস্করণগুলি দেখায় (ii দিয়ে শুরু), মুছে ফেলাগুলি (আরসি) এবং আরও কিছু (উদাহরণস্বরূপ ইনস্টল করা তবে কনফিগার করা হয়নি, মানচিত্রটি দেখুন)।

apt-cache pkgnames যোগ করা সংগ্রহস্থলগুলিতে আপনাকে সমস্ত উপলব্ধ প্যাকেজ নাম (একই প্যাকেজের সংস্করণ নয়) প্রদর্শন করে।

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