Ř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:
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 ~n (bude popsán níže); například „~napti~ntude“. |
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: „~!“. |
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: „~|“. |
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.
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.
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).
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“.
Shoduje se s balíky, které jsou „porušené“, tj. mají nesplněné závislosti, předzávislosti, nebo jsou v konfliktu.
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.
Shoduje 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).
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.
Shoduje se s balíky, jejichž popis se shoduje s regulárním výrazem popis.
Shoduje se s Nezbytnými balíky.
Tento term se neshoduje s žádným balíkem („F“ znamená „falešný“).[13]
Shoduje se s balíky, které nejsou nainstalovány, nebo které byly instalovány automaticky a nyní na nich nezávisí žádný instalovaný balík.
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.
Shoduje 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.
Shoduje se s balíky, které byly instalovány automaticky.
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.
Shoduje se s „novými“ balíky.
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.
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).
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“.
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“).
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.
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.
Shoduje se s balíky, jejichž sekce odpovídá regulárnímu výrazu sekce.
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.
Shoduje se s balíčky, které jsou součástí úlohy, jejíž jméno odpovídá regulárnímu výrazu úloha.
Term se shoduje s libovolným balíkem, který může být aktualizován.
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.
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í.
„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 ~Wterm se shoduje s verzí balíku, pokud se term 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.