Přehled vyhledávacích vzorů

Tabulka 2.1 – „Rychlý průvodce vyhledávacími termy“ nabízí rychlý přehled všech vyhledávacích termů v aptitude. Kompletní popis každého termu naleznete níže.

Tabulka 2.1. Rychlý průvodce vyhledávacími termy

Dlouhá formaKrátká formaPopis
?=proměnná   Vybere balík svázaný s proměnnou; viz „Explicitní cíle“.
?not(vzor)!vzor Vybere všechny balíky, které se neshodují se vzorem.
?action(akce) ~aakce Vybere balíky, na kterých byla naplánována daná akce (např. install nebo upgrade).
?all-versions(vzor)   Vybere balíky, jejichž verze se shodují se vzorem.
?and(vzor1, vzor2) vzor1 vzor2 Vybere balíky, které se shodují jak se vzor1, tak se vzor2.
?any-version(vzor)  Vybere balíky, které splňují vzor alespoň pro jednu z verzí.
?archive(archiv) ~Aarchiv Vybere balíky ze zadaného archivu (např. unstable).
?automatic~M Vybere balíky, které byly nainstalovány automaticky.
?bind(proměnná, vzor) ?proměnná:název_termu[(argumenty)] Vybere cokoliv, kde se proměnná shoduje se vzorem; více naleznete v kapitole „Explicitní cíle“.
?broken~b Vybere balíky, které mají nesplněné (porušené) závislosti.
?broken-depType~Btyp Vybere balíky, které mají nesplněné (porušené) závislosti daného typu.
?broken-depType(vzor)~DB[typ:]vzor Vybere balíky, které mají nesplněné (porušené) závislosti daného typu na balíky shodující se se vzorem.
?broken-reverse-depType(vzor)~RBtyp:vzor Vybere balíky, vůči kterým mají balíky shodující se se vzorem nesplněné (porušené) závislosti daného typu.
?conflicts(vzor) ~Cvzor Vybere balíky, které jsou v konfliktu s balíky shodujícími se se vzorem.
?config-files~c Vybere balíky, které byly 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).
?depType(vzor)~D[typ:]vzor Vybere balíky, které deklarují závislost daného typu na balíky shodující se se vzorem.
?description(popis)~dpopis Vybere balíky, jejichž popis se shoduje s popisem.
?essential~E Vybere nezbytné balíky, tj. s těmi, které mají v kontrolních souborech uvedeno pole Essential: yes.
?false~F Nevybere žádné balíky.
?for proměnná: vzor  Vybere balíky, které se shodují se vzorem. Můžete použít proměnnou, která je navázána na balík, který se právě porovnává. Více naleznete v kapitole „Explicitní cíle“.
?garbage~g Vybere balíky, které nejsou vyžadovány žádným ručně instalovaným balíkem.
?installed~i Vybere nainstalované balíky.
?maintainer(správce)~msprávce Vybere balíky spravované správcem.
?narrow(filtr, vzor)~S filtr vzor Vybere balíky, pro které se nějaká verze shoduje jak s vzorem, tak s filtremem.
?name(jméno)~njméno, name Vybere balíky se zadaným jménem.
?new~N Vybere nové balíky.
?obsolete~o Vybere nainstalované balíky, které již nelze stáhnout.
?or(vzor1, vzor2)vzor1 | vzor2 Vybere balíky, které se shodují se vzor1, vzor2, případně s oběma.
?origin(původ)~Opůvod Vybere balíky se zadaným původem.
?provides(vzor)~Pvzor Vybere balíky, které poskytují balík shodující se se vzorem.
?priority(priorita)~ppriorita Vybere balíky se zadanou prioritou.
?reverse-depType(vzor)~R[typ:]vzor Vybere balíky, na kterých závisí (daným typem závislosti) balíky shodujícími se se vzorem.
?reverse-broken-depType(vzor)~RBtyp:vzor Vybere balíky, vůči kterým mají balíky shodující se se vzorem nesplněné (porušené) závislosti daného typu.
?section(sekce)~ssekce Vybere balíky v dané sekci.
?source-package(jméno)  Vybere balíky, jejichž jméno zdrojového balíku se shoduje s regulárním výrazem jméno.
?source-version(verze)  Vybere balíky, jejichž verze zdrojového balíku se shoduje s regulárním výrazem verze.
?tag(značka)~Gznačka Vybere balíky, které mají danou debtags značku.
?true~T Vybere všechny balíky.
?task(úloha)~túloha Vybere balíky, které jsou součástí dané úlohy.
?upgradable~U Vybere balíky, které jsou nainstalovány a mohou být aktualizovány.
?user-tag  Vybere balíky, které jsou označeny uživatelskou značkou odpovídající regulárnímu výrazu uživ-značka.
?version(verze)~Vverze Vybere balíky, jejichž verze odpovídá verzi (speciální hodnoty: CURRENT, CANDIDATE a TARGET).
?virtual~v Vybere virtuální balíky.
?widen(vzor)~Wvzor Vybere verze, pro které se vzor shoduje s libovolnou verzí příslušného balíku. Efektivně tak ignoruje omezení na konkrétní verze.

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]Poznámka

Pro vyhledání balíků, jejichž názvy obsahují několik různých podřetězců, použijte term ?name (bude popsán níže); například ?name(apti)?name(tude) se bude shodovat s libovolným balíkem, který obsahuje jak apti, tak tude.

?=proměnná

Shoduje se s balíky, které odpovídají hodnotě proměnné, která musí být navázána na obklopující term ?for. Například ?for x: ?depends( ?recommends( ?=x ) ) se bude shodovat s libovolným balíkem x, který závisí na balíku, který doporučuje x.

Následující výraz se shoduje s balíky, které kolidují samy se sebou:

Příklad 2.1. Použití termu ?=.

?for x: ?conflicts(?=x)


Více naleznete v kapitole „Explicitní cíle“.

?not(vzor), !vzor

Shoduje se s balíky, které se neshodují se vzorem vzor. Například ?not(?broken) vybere balíky, které nejsou porušené.

[Poznámka]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: ~!. Například pro výběr balíků, jejichž popis obsahuje extra!, můžete použít ?description(extra~!).

?and(vzor1, vzor2), vzor1 vzor2

Shoduje se s balíky, které se shodují jak se vzor1, tak se vzor2.

?or(vzor1, vzor2), vzor1 | vzor2

Shoduje se s balíky, které se shodují se vzor1, vzor2, případně s oběma.

[Poznámka]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: ~|.

(vzor)

Shoduje se se vzorem. Například opengl (perl|python) se shoduje s libovolnými balíky, jejichž jméno obsahuje řetězec opengl a současně řetězec perl nebo python.

?action(akce), ~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 ?action(upgrade) 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 ?upgradable).

?all-versions(vzor)

Shoduje se s balíky, jejichž všechny verze se shodují se zadaným výrazem. Každá verze balíku se testuje samostatně vůči vzoru a balík se bude shodovat pouze v případě, že se bude shodovat každá z verzí. Balíky bez verze (například virtuální balíky) budou souhlasit vždy.

Tento term se nedá používat v kontextu, ve kterém byly verze balíků zúženy, jako je tomu například u termů ?depends a ?narrow. Můžete ho však kdykoliv použít uvnitř ?widen.

?any-version(vzor)

Shoduje se s balíkem, pokud se libovolná z jeho verzí shoduje se zadaným výrazem. Jedná se o duální term k termu ?all-versions.

Tento term se nedá používat v kontextu, ve kterém už byly verze balíků zúženy, jako je tomu například u termů ?depends a ?narrow. Můžete ho však kdykoliv použít uvnitř ?widen.

[Poznámka]Poznámka

Tento term je úzce spjat s termem ?narrow. Ve skutečnosti je ?any-version(vzor1 vzor2) ekvivalentní s ?narrow(vzor1, vzor2).

?archive(archiv), ~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. ?archive(testing) se shoduje s libovolným balíkem v testovací distribuci.

?automatic, ~M

Shoduje se s balíky, které byly instalovány automaticky.

?bind(proměnná, vzor), ?proměnná:term[(argumenty)]

Shoduje se s balíkem nebo verzí, pokud se daný vzor shoduje s balíkem nebo verzí navázanou na proměnnou, která je definována v obklopujícím termu ?for.

Příklad 2.2. Použití termu ?bind

?for x: ?depends(?depends(?for z: ?bind(x, ?depends(?=z))))

?for x: ?depends(?depends(?for z: ?x:depends(?=z)))


Oba výrazy v předchozím příkladu se shodují se všemi balíky x takovými, že x závisí na balíku y, který závisí na balíku z takovém, že x také závisí na z přímo. První vzor používá ?bind přímo, zatímco druhý využívá zkrácenou formu.

Více naleznete v kapitole „Explicitní cíle“.

?broken, ~b

Shoduje se s balíky, které jsou porušené, tj. mají nesplněné závislosti, předzávislosti, nebo jsou v konfliktu.

?broken-typ, ~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, breaks, conflicts nebo replaces.

?broken-typ(vzor), ~DB[typ:]vzor

Shoduje se s balíky, které mají nesplněné (porušené) závislosti daného typu vůči balíkům shodujícím se se vzorem. Typ může nabývat stejných hodnot jako v popisu termu ?broken-typ.

?conflicts(vzor), ~Cvzor

Shoduje se s balíky, které jsou v konfliktu s balíky splňujícími daný vzor. Například ?conflicts(?maintainer([email protected])) vybere všechny balíky, jež jsou v konfliktu s balíky, které spravuje autor aptitude.

?config-files, ~c

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(vzor), ~D[typ:]vzor

typ může být buď provides, nebo jedna ze závislostí popsaných v dokumentaci k ?broken-typ. Například ?depends(libpng3) se bude shodovat se všemi balíky, které závisí na libpng3. Použijete-li zkrácenou formu (~D) a nezadáte typ, použije se implicitní depends.

Pokud má typ hodnotu provides, shoduje se s balíky, které poskytují balík odpovídající vzoru (ekvivalent termu ?provides). V ostatních případech se shoduje s balíky, které mají závislost typu typ na verzi balíku, jež odpovídá vzoru.

?description(popis), ~dpopis

Shoduje se s balíky, jejichž popis se shoduje s regulárním výrazem popis.

?essential, ~E

Shoduje se s Nezbytnými balíky.

?false, ~F

Tento term se neshoduje s žádným balíkem.[15]

?for proměnná: vzor

Shoduje se se vzorem, ale navíc lze uvnitř vzoru použít proměnnou, kterou se můžete odkazovat na právě porovnávaný balík nebo verzi.

Proměnnou můžete použít dvěma způsoby. V termu začínajícím otazníkem se používá syntaxe ?proměnná:název-termu(argumenty). Například ?x:depends(apt). Dále pak term ?=proměnná vybere balík nebo verzi, která se shoduje s hodnotou zadanou v proměnné.

Například následující term se bude shodovat se všemi balíky x, které závisí na a zároveň doporučují balík y.

Příklad 2.3. Použití termu ?for

?for x: ?depends( ?for y: ?x:recommends( ?=y ) )


Více naleznete v kapitole „Explicitní cíle“.

?garbage, ~g

Shoduje se s balíky, které nejsou nainstalovány, nebo které byly nainstalovány automaticky a nyní na nich nezávisí žádný nainstalovaný balík.

?installed, ~i

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.

?maintainer(správce), ~msprávce

Shoduje se s balíky, jejich pole Maintainer (Správce) odpovídá regulárnímu výrazu správce. Například ?maintainer(joeyh) nalezne všechny balíky spravované Joey Hessem.

?narrow(filtr, vzor), ~S filtr vzor

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 vzor. Řetězcová hodnota porovnání je řetězcová hodnota vzoru.

?name(název), ~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 ?name(^lib) budou nejrůznější knihovny.

?new, ~N

Shoduje se s novými balíky. Tyto byly do archivu přidány od posledního spuštění AkceZapomenout nové balíky (f) (resp. příkazu forget-new).

?obsolete, ~o

Shoduje se s nainstalovanými balíky, ke kterým už v archivu neexistuje žádná verze. Tyto balíky se v celoobrazovkovém rozhraní objevují ve větvi Zastaralé a lokálně vytvořené balíky.

?origin(původ), ~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 !?origin(debian) můžete ve svém systému nalézt všechny neoficiální balíky (tj. balíky nepocházející z archivu Debianu).

?provides(vzor), ~Pvzor

Shoduje se s verzemi balíků, které poskytují balík, jež odpovídá vzoru. Například ?provides(mail-transport-agent) vyhledá všechny balíky, které poskytují balík mail-transport-agent.

?priority(priorita), ~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 ?priority(vyžadovaný) (?priority(required)) vyhledá všechny balíky s prioritou vyžadovaný (required).

?reverse-typ(vzor), ~R[typ:]vzor

Typ může být buď provides, nebo jeden z typů závislostí zmíněných v dokumentaci termu ?broken-type. Pokud nezadáte typ, použije se implicitní depends.

Pokud má typ hodnotu provides, shoduje se s balíky, jejichž název je poskytován verzí balíku, která odpovídá vzoru. V ostatních případech se shoduje s balíky, na kterých závisí balíky (typem závislosti typ) odpovídající vzoru.

?reverse-broken-typ(vzor), ?broken-reverse-typ(vzor), ~RB[typ:]vzor

Typ může být buď provides, nebo jeden z typů závislostí zmíněných v dokumentaci termu ?broken-type. Pokud nezadáte typ, použije se implicitní depends.

Shoduje se s balíky, vůči kterým mají balíky shodující se se vzorem nesplněné (porušené) závislosti daného typu.

?section(sekce), ~ssekce

Shoduje se s balíky, jejichž sekce odpovídá regulárnímu výrazu sekce.

?source-package(jméno)

Shoduje se s balíky, jejichž jméno zdrojového balíku se shoduje s regulárním výrazem jméno.

?source-version(verze)

Shoduje se s balíky, jejichž verze zdrojového balíku se shoduje s regulárním výrazem verze.

?tag(značka), ~Gznačka

Shoduje se s balíky, jejichž pole Tag se shoduje s regulárním výrazem značka. Například vzor ?tag(game::strategy) se shoduje s balíky se strategickými hrami.

Více informací o značkách naleznete na domovské stránce projektu Debtags.

?true, ~T

Tento term se shoduje s libovolným balíkem. Například ?installed?provides(?true) se shoduje s instalovanými balíky, které jsou poskytovány libovolným balíkem.

?task(úloha)~túloha

Shoduje se s balíky, které jsou součástí úlohy, jejíž jméno odpovídá regulárnímu výrazu úloha.

?upgradable, ~U

Term se shoduje s libovolným balíkem, který může být aktualizován.

?user-tag(značka)

Term se shoduje s balíky, které jsou označeny uživatelskou značkou odpovídající regulárnímu výrazu značka.

?version(verze), ~Vverze

Shoduje se s libovolnou verzí balíku, která odpovídá regulárnímu výrazu verze. Například ?version(debian) 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.

?virtual, ~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 ?virtual!?provides(?true) 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í.

?widen(vzor), ~Wvzor

Rozšíří shodu: pokud jsou omezeny verze balíku, vůči kterým se má porovnávat vnější term (jako ?depends), nebere se na tato omezení ohled. Tedy ?widen(vzor) se shoduje s verzí balíku, pokud se vzor shoduje s libovolnou verzí daného balíku.



[15] Term je poskytován hlavně kvůli symetrii s ?true.