Meta paketinin resmi bir tanımı yoktur. Gayri resmi tanım, bir meta paketin sadece bağımlılıkları için kurulması amaçlanan ve kendi başına yararlı bir dosya içermemesidir.
Meta paketi paket içermeyen bir paket olarak tanımlayabilirsiniz. Bunu paket veritabanından belirlemenin bir yolu yoktur. Dosya veritabanını kullanabilir ve paketin yalnızca dizin içerdiğini kontrol edebilirsiniz (bu paketlerin çoğunda birkaç dizin bulunur). Aslında, çoğu meta paket içinde birkaç dosya bulunur /usr/share/doc/<package name>
: bir copyright
dosya, bir değişiklik günlüğü, bazen birkaç tane daha. Aşağıda, bir meta paketi yalnızca /usr/share/doc/<some directory>
(alt dizinlerinde değil) ve önde gelen dizinlerde dosya içerdiğini tanımlayan bir yaklaşım verilmiştir :
if ! apt-file -F list $package | grep -qvE '^/(usr(/share(/doc(/[^/]*(/[^/]*)?)?)?)?)?$'; then
echo "$package looks like a metapackage"
fi
Başka bir yaklaşım, ile bir paket etiketi aramaktır debtags
. Meta paketlerde yaygın olarak kullanılan birkaç etiket vardır.
debtags tag ls $package | grep -x -e 'role::metapackage' -e 'role::dummy' -e 'special::meta'
Başka bir yaklaşım, küçük boyutlu paketleri aramaktır. Her dizin 4 kB olarak sayılır, bu nedenle bir eşik seçerken buna göre planlayın (tekrar, bu bir yaklaşık değerdir).
aptitude -F '%I %p' search "~n^$package\$"
Yansıtma üzerine, metaforlar yerine sanal paketler mi demek istiyorsunuz acaba . Sanal paketler aslında paketler değil, Provides:
alanlarda kullanılan paket adlarıdır . Bunları ile listeleyebilirsiniz aptitude search '~v'
. Koşu apt-cache show
tek ekranlarda “bunun tamamen sanal olarak paket 'zcav' dan sürümlerini seçilemiyor”. Running aptitude show
, bunu sağlayan paketleri listeler. Sanal paketleri göstermenin kullanışlı bir yolu şudur apt-cache
: sanal olmayan bir paket için bir satır ve sanal bir paket için potansiyel olarak birden çok satır (her sağlayıcı için bir tane) yazdırır - tek bir sağlayıcı olsa bile paketin sanal olup olmadığını anlayabilirsiniz çünkü sağlayıcının adı farklı.
apt-cache -n search "^$package\$"