Řetězec, který zadáváte při hledání balíku nebo při omezování zobrazení, se nazývá „vyhledávací vzor“. Přestože většina hledání používá pouze hledání podle jména, aptitude vám nebrání ve vytváření komplexnějších dotazů.
![]() | Poznámka |
|---|---|
Vyhledávací vzory nemusíte používat pouze v celoobrazovkovém režimu, ale také u některých řádkových příkazů. Podrobnosti naleznete v kapitole Přehled příkazů. |
Vyhledávací vzor se skládá z jedné nebo více podmínek (někdy nazývaných „termy“). Balíky se shodují se vzorem, pokud se shodují se všemi jeho termy. Termy obvykle začínají vlnkou („~“), za kterou následuje znak určující typ termu a za ním je případný řetězec znaků.
Implicitně se vzory porovnávají vůči všem dostupným verzím balíku, ale
pro některé vzory existují výjimky. Například vzor ~D akceptuje jako
parametr jiný vzor a shoduje se s balíky, které závisí na balících
splňující tento vzor. V tomto případě se budou testovat pouze balíky,
které splní příslušnou závislost. Verze pro porovnání se mění pouze
v termech, které mají podterm (jako zmíněný ~D).
Většina textových hledání (v názvech balíků, popisech, atd.) probíhá pomocí regulárních výrazů (velikost písmen se ignoruje). To znamená, že musíte před řídící znaky regulárních výrazů psát zpětná lomítka. [11] (Například pro nalezení „g++“ byste měli použít vzor „g\+\+“.)
Tzv. „bílé znaky“ (mezery, tabulátory a pod.) normálně
slouží k oddělování termů, ale jinak je aptitude ignoruje. Chcete-li
zahrnout bílé (nebo jiné speciální) znaky, můžete před ně vložit vlnku
(např. Projekt~ Debian), nebo term obklopit
uvozovkami (jako třeba "Projekt Debian"). Dokonce
je možná i varianta (Projekt" "Debian). Uvnitř
termu v uvozovkách můžete pro zrušení speciálního významu uvozovek
použít zpětné lomítko („\“). Například
~d"\"email""
se bude shodovat s balíky, jejichž
popis obsahuje uvozovku bezprostředně následovanou řetězcem
email.
[12]
K dispozici jsou následující termy:
název
Shoduje se s balíky, jejichž názvy se shodují s regulárním výrazem
název. Toto je „implicitní“
režim hledání a používá se pro vzory, které nezačínají vlnkou
~.
![]() | Poznámka |
|---|---|
Pro vyhledání balíků, jejichž názvy obsahují několik různých podřetězců,
použijte |
!term
Shoduje se s balíky, které se neshodují s termem
term. Například
„!~b“ vybere balíky, které nejsou
„porušené“.
![]() | Poznámka |
|---|---|
Chcete-li zahrnout znak „!“ do regulárního výrazu, musíte
ošetřit, aby jej aptitude nepovažovala za negaci termu:
„ |
term1 | term2
Shoduje se s balíky, které se shodují buď
s term1 nebo
s term2.
![]() | Poznámka |
|---|---|
Chcete-li zahrnout znak „|“ do regulárního výrazu, musíte
ošetřit, aby jej aptitude nepovažovala za logický term NEBO:
„ |
(term)
Shoduje se s term. Závorky jsou užitečné
pro explicitní shlukování složitých výrazů. Například
„~D(perl|python)“ se shoduje
s libovolnými balíky, které závisí na balíku jehož název obsahuje buď
řetězec perl nebo python.
~Aarchiv
Shoduje se s verzemi balíků, které jsou dostupné z archivu, jehož název se
shoduje s regulárním výrazem archiv.
Tj. „~Atesting“ se shoduje
s libovolným balíkem v testovací distribuci.
~aakce
Shoduje se s balíky, na kterých je naplánována daná
akce. Akce může
nabývat hodnot „install“,
„upgrade“,
„downgrade“,
„remove“,
„purge“,
„hold“ (testuje, zda je balík podržen
v aktuální verzi) nebo „keep“
(testuje, zda se stav balíku nezmění).
Poznamenejme, tento test zjišťuje pouze akce, které jsou na balíku
skutečně naplánovány a nebere ohled na to, zda
mohou být provedeny. Například
~aupgrade se shoduje právě s těmi balíky, které
jste se rozhodli aktualizovat, ne s balíky, které by se
daly aktualizovat (pro to použijte
~U).
~Btyp
Shoduje se s balíky, které mají nesplněné („porušené“)
závislosti daného typu.
Typ může nabývat hodnot
„depends“,
„predepends“,
„recommends“,
„suggests“,
„conflicts“ nebo
„replaces“.
~bShoduje se s balíky, které jsou „porušené“, tj. mají nesplněné závislosti, předzávislosti, nebo jsou v konfliktu.
~Cterm
Shoduje se s balíky, které jsou v konfliktu s balíky splňujícími daný
term. Například
„~C~mdburrows@debian.org“ vybere
všechny balíky, jež jsou v konfliktu s balíky, které spravuje autor
aptitude.
~cShoduje se s balíky, které jsou odstraněny, ale jejichž konfigurační soubory stále zůstávají v systému (tj. jsou odstraněny, ale ne vyčištěny).
~D[B][typ:]term
typ může být buď
„provides“, nebo jedna ze závislostí
popsaných v dokumentaci
k ~B. Pokud typ není přítomen,
použije se implicitní depends. Volitelný parametr
B znamená, že se budou uvažovat pouze porušené
závislosti.
Pokud má typ hodnotu
„provides“, shoduje se s balíky, které
poskytují balík odpovídající
termu. V opačném případě se shoduje
s balíky, které mají závislost typu typ na verzi
balíku, jež odpovídá termu.
~dpopis
Shoduje se s balíky, jejichž popis se shoduje s regulárním výrazem
popis.
~EShoduje se s Nezbytnými balíky.
~FTento term se neshoduje s žádným balíkem („F“ znamená „falešný“).[13]
~gShoduje se s balíky, které nejsou nainstalovány, nebo které byly instalovány automaticky a nyní na nich nezávisí žádný instalovaný balík.
~Gznačka
Shoduje se s balíky, jejichž pole Tag se shoduje s regulárním výrazem
značka. Například vzor
~Ggame::strategy se shoduje se shoduje s balíky se
strategickými hrami.
Více informací o značkách naleznete na domovské stránce projektu Debtags.
~iShoduje se s verzemi aktuálně nainstalovaných balíků.
Jelikož se standardně testují všechny verze, znamená to, že se shoduje s aktuálně nainstalovanými balíky.
~MShoduje se s balíky, které byly instalovány automaticky.
~msprávce
Shoduje se s balíky, jejich pole Maintainer (Správce) odpovídá
regulárnímu výrazu správce. Například
„~mjoeyh“ nalezne všechny balíky
spravované Joey Hessem.
~NShoduje se s „novými“ balíky.
~nnázev
Shoduje se s balíky, jejichž název se shoduje s regulárním výrazem
název. Například většina balíků
odpovídajících výrazu „~n^lib“ budou
nejrůznější knihovny.
~Opůvod
Shoduje se s verzemi balíků, jejichž původ se shoduje s regulárním
výrazem původ. Například
výrazem „!~Odebian“ můžete ve svém
systému nalézt všechny neoficiální balíky (tj. balíky nepocházející
z archivu Debianu).
~Pterm
Shoduje se s verzemi balíků, které poskytují balík, jež odpovídá
termu. Například
„~Pmail-transport-agent“ vyhledá
všechny balíky, které poskytují balík
„mail-transport-agent“.
~ppriorita
Shoduje se s balíky, jejichž priorita odpovídá
prioritě.
Prioritu balíku můžete zadat buď českým
nebo anglickým názvem a musí to být jedna z následujících hodnot:
extra (extra),
důležitý (important),
volitelný (optional),
vyžadovaný (required) nebo
standardní (standard). Například
„~pvyžadovaný“
(„~prequired“) vyhledá všechny balíky
s prioritou „vyžadovaný“
(„required“).
~R[B][typ]:term
Typ může být buď
„provides“, nebo jeden z typů
závislostí zmíněných v dokumentaci
termu ~B. Pokud nezadáte typ,
použije se implicitní depends. Volitelný parametr
B znamená, že se budou uvažovat pouze porušené
závislosti.
Pokud má typ hodnotu
„provides“, shoduje se s balíky,
jejichž název je poskytován verzí balíku, která odpovídá
termu. V ostatních případech se shoduje
s balíky, na kterých závisí balíky (typem závislosti
typ) odpovídající
termu.
~S filtr term
Tento term „zúží“ hledání na verze balíků, které splňují
daný filtr. Konkrétně se shoduje s balíky,
jež splňují jak filtr, tak
term. Řetězcová hodnota porovnání je
řetězcová hodnota termu.
~ssekce
Shoduje se s balíky, jejichž sekce odpovídá regulárnímu výrazu
sekce.
~T
Tento term se shoduje s libovolným balíkem. Například
„~i~P~T“ se shoduje s instalovanými
balíky, které jsou poskytovány libovolným balíkem.
~túloha
Shoduje se s balíčky, které jsou součástí úlohy, jejíž jméno
odpovídá regulárnímu výrazu úloha.
~UTerm se shoduje s libovolným balíkem, který může být aktualizován.
~Vverze
Shoduje se s libovolnou verzí balíku, která odpovídá regulárnímu
výrazu verze. Například
„~Vdebian“ vyhledá balíky, jejichž
číslo verze obsahuje řetězec „debian“.
Jistou výjimkou jsou následující hodnoty
verze, na které je třeba brát zvláštní
ohled a zadávat je s úvodním lomítkem. Například pro vyhledání balíků,
jejichž verze obsahuje virtuální řetězec CURRENT,
musíte zadat \CURRENT.
CURRENT se shoduje s aktuálně nainstalovanou verzí
balíku.
CANDIDATE se shoduje s verzí balíku, která by se
nainstalovala, pokud byste na balíčku stiskli +, nebo
pokud byste na něj spustili příkaz aptitude install.
TARGET se shoduje s verzí balíku, která je
momentálně naplánována pro instalaci.
~v
Shoduje se s čistě virtuálními balíky, tj. s balíky, jejichž jméno je
poskytováno nějakým balíkem, nebo je toto jméno zmíněno
v závislostech, ale žádný balík toho jména neexistuje. Například
„~v!~P~T“ se shoduje s virtuálními
balíky, které nejsou poskytovány žádným balíkem, jinými slovy
s balíky, na kterých „něco“ závisí, ale které neexistují.
~Wterm
„Rozšíří“ shodu: pokud jsou omezeny verze balíku, vůči
kterým se má porovnávat vnější term (jako ~D), nebere se na tato
omezení ohled. Tedy
~W se shoduje
s verzí balíku, pokud se termterm shoduje
s libovolnou verzí daného balíku.
[11]
Řídící znaky regulárních výrazů zahrnují:
„+“, „-“, „.“,
„(“, „)“, „|“,
„[“, „]“, „^“,
„$“ a „?“.
Některé z těchto znaků jsou zároveň i řídícími znaky pro
aptitude. Chcete-li například napsat literál „|“, musíte
jej uvodit dvakrát: „\~|“.
[12]
Zpětné lomítko se dá použít také pro speciální sekvence
\\, \n a \t.
[13]
~F je poskytován hlavně kvůli symetrii
s ~T.