কোনও মেটাপ্যাকেজের কোনও আনুষ্ঠানিক সংজ্ঞা নেই। অনানুষ্ঠানিক সংজ্ঞাটি হ'ল একটি মেটাপ্যাকেজ এমন একটি যা কেবল তার নির্ভরতার জন্য ইনস্টল করার উদ্দেশ্যে এবং তার নিজস্ব কোনও কার্যকর ফাইল নেই।
আপনি কোনও প্যাকেজ হিসাবে কোনও মেটাপ্যাকেজকে সংজ্ঞায়িত করতে পারেন যা কোনও ফাইল নেই। প্যাকেজ ডাটাবেস থেকে এটি নির্ধারণ করার কোনও উপায় নেই। আপনি ফাইল ডাটাবেস ব্যবহার করতে পারেন এবং প্যাকেজটিতে কেবল ডিরেক্টরি রয়েছে তা পরীক্ষা করতে পারেন (এই জাতীয় প্যাকেজটিতে কয়েকটি ডিরেক্টরি রয়েছে)। আসলে, বেশিরভাগ মেটাপ্যাকেজে কয়েকটি ফাইল থাকে /usr/share/doc/<package name>
: একটি copyright
ফাইল, একটি চেঞ্জলগ, কখনও কখনও আরও কয়েকটি। এখানে একটি আনুমানিকতা রয়েছে যা একটি মেটাপ্যাকেজকে কেবলমাত্র ফাইলগুলিতে /usr/share/doc/<some directory>
(যেটির উপ-ডিরেক্টরিতে নয়) এবং শীর্ষস্থানীয় ডিরেক্টরিগুলি অন্তর্ভুক্ত হিসাবে সংজ্ঞায়িত করে :
if ! apt-file -F list $package | grep -qvE '^/(usr(/share(/doc(/[^/]*(/[^/]*)?)?)?)?)?$'; then
echo "$package looks like a metapackage"
fi
আরেকটি পদ্ধতির সাথে প্যাকেজ ট্যাগ সন্ধান করা debtags
। বেশ কয়েকটি ট্যাগ রয়েছে যা সাধারণত মেটাপ্যাকেজে ব্যবহৃত হয়।
debtags tag ls $package | grep -x -e 'role::metapackage' -e 'role::dummy' -e 'special::meta'
আরেকটি পদ্ধতি হ'ল ছোট আকারের প্যাকেজগুলি সন্ধান করা। প্রতিটি ডিরেক্টরি 4 কেবি হিসাবে গণনা করা হয়, সুতরাং একটি প্রান্তিক বাছাই করার সময় সেই অনুযায়ী পরিকল্পনা করুন (আবার, এটি একটি আনুমানিক)।
aptitude -F '%I %p' search "~n^$package\$"
প্রতিবিম্বিত হওয়ার পরে, আমি অবাক হয়েছি আপনি মেটাপ্যাকেজগুলির চেয়ে ভার্চুয়াল প্যাকেজগুলি বোঝাচ্ছেন কি না। ভার্চুয়াল প্যাকেজগুলি আসলে প্যাকেজ নয় তবে Provides:
ক্ষেত্রগুলিতে ব্যবহৃত প্যাকেজের নাম । আপনি তাদের সাথে তালিকাভুক্ত করতে পারেন aptitude search '~v'
। apt-cache show
একটি ডিসপ্লেতে চলছে "প্যাকেজ 'zcav' থেকে সংস্করণগুলি নির্বাচন করা যায় না কারণ এটি নিখুঁতভাবে ভার্চুয়াল। চলমান aptitude show
এটি উপলব্ধ প্যাকেজগুলির তালিকা করে। ভার্চুয়াল প্যাকেজগুলি দেখানোর সুবিধাজনক উপায়টি সহ apt-cache
: এটি একটি ভার্চুয়াল প্যাকেজটির জন্য একটি ভার্চুয়াল প্যাকেজটির জন্য এক লাইন এবং সম্ভাব্য একাধিক লাইন (প্রতিটি সরবরাহকারীর জন্য একটি) মুদ্রণ করে - আপনি যদি বলতে পারেন যে প্যাকেজটি ভার্চুয়াল কিনা এমনকি যদি কোনও একক সরবরাহকারী থাকে তবে কারণ সরবরাহকারীর নাম আলাদা।
apt-cache -n search "^$package\$"