Руководство по поисковым терминам

Таблица 2.3, «Краткое руководство по поисковым терминам» содержит краткое изложение всех поисковых терминов, поддерживаемых aptitude. Полное описание каждого термина может быть найдено ниже.

Таблица 2.3. Краткое руководство по поисковым терминам

Длинная формаКраткая формаОписание
?=переменная   Выбрать пакет, привязанный к переменной; см. «Явные цели поиска».
?not(шаблон)!шаблон Выбрать любой пакет, который не соответствует шаблону.
?action(действие) ~aдействие Выбрать пакеты, которые отмечены для данного действия (например, «установки» или «обновления»).
?all-versions(шаблон)   Выбрать пакеты, все версии которых соответствуют шаблону.
?and(шаблон1, шаблон2) шаблон1 шаблон2 Выбрать любой пакет, который соответствует и шаблону1, и шаблону2.
?any-version(шаблон)  Выбрать пакеты, у которых хотя бы одна версия соответствует шаблону.
?architecture(архитектура) ~rархитектура Выбирает пакеты для данной архитектуры (такой как «amd64» или «all»). Специальные значения: native и foreign.
?archive(архив) ~Aархив Выбрать пакеты из данного архива (например, «unstable»).
?automatic~M Выбрать пакеты, установленные автоматически.
?bind(переменная, шаблон) ?переменная:термин-имя[(аргументы)] Выбирает всё, если переменная подходит под шаблон; см. «Явные цели поиска».
?broken~b Выбрать пакеты, имеющие сломанные зависимости.
?broken-тип-зависимости~Bтип-зависимости Выбрать пакет, имеющий сломанную зависимость данного типа-зависимости.
?broken-тип-зависимости(шаблон)~DB[тип-зависимости:]шаблон Выбрать пакеты, имеющие сломанную зависимость данного типа-зависимости, подходящие под шаблон.
?broken-reverse-тип-зависимости(шаблон)~RBтип-зависимости:шаблон Выбрать пакеты, которые пакет, подходящий под шаблон, объявляет как сломанную зависимость типа тип-зависимости.
?conflicts(шаблон) ~Cшаблон Выбрать пакеты, которые конфликтуют с пакетом, соответствующим шаблону.
?config-files~c Выбрать пакеты, которые были удалены, но не вычищены.
?тип-зависимости(шаблон)~D[тип-зависимости:]шаблон Выбрать пакеты, объявляющие зависимость типа тип-зависимости по отношению к пакету, подходящему под шаблон.
?description(описание)~dописание Выбрать пакеты, чье описание соответствует описанию.
?essential~E Выбрать необходимые пакеты, то есть те, что имеют Пакеты первой необходимости: да в своих управляющих файлах.
?exact-name(имя)  Выбрать пакеты, названные именем.
?false~F Не выбрать ни одного пакета.
?for переменная: шаблон  Выбрать пакеты, подходящие под шаблон с переменной, привязанной к соответствующему пакету; см. «Явные цели поиска».
?garbage~g Выбрать пакеты, которые не требуются ни одному пакету, установленному вручную.
?installed~iВыбрать установленные пакеты.
?maintainer(сопровождающий)~mсопровождающий Выбрать пакеты, сопровождающиеся сопровождающим.
?multiarch(мультиархитектура)  Выбрать пакеты, поддерживающие мультархитектурность мультиархитектуры (то есть, либо «foreign», либо «same», либо «allowed», либо «none»).
?narrow(фильтр, шаблон)~S фильтр шаблон Выбрать пакеты, для которых единственная версия подходит и под фильтр, и под шаблон.
?name(имя)~nимя, имя Выбрать пакеты с данным именем.
?new~N Выбрать новые пакеты.
?obsolete~o Выбрать установленные пакеты, которые более не могут быть загружены.
?or(шаблон1, шаблон2)шаблон1 | шаблон2 Выбрать пакеты, подходящие под шаблон1, шаблон2, или под оба.
?origin(источник)~Oисточник Выбрать пакеты с данным источником.
?provides(шаблон)~Pшаблон Выбрать пакеты, предоставляющие пакет, подходящий под шаблон.
?priority(приоритет)~pприоритет Выбрать пакеты с данным приоритетом.
?reverse-тип-зависимости(шаблон)~R[тип-зависимости:]шаблон Выбрать пакеты, являющиеся целями зависимости типа тип-зависимости, объявленными пакетом, подходящим под шаблон.
?reverse-broken-тип-зависимости(шаблон)~RBтип-зависимости:шаблон Выбрать пакеты, являющиеся целями сломанной зависимости типа тип-зависимости, объявленной пакетом, подходящим под шаблон.
?section(раздел)~sраздел Выбрать пакеты в данном разделе.
?source-package(имя)~ename Выбрать пакеты, имя пакета с исходными кодами которого подпадает под регулярное выражение имя.
?source-version(версия)  Выбрать пакеты, версия пакета с исходными кодами которого подпадает под регулярное выражение версия.
?tag(тег)~Gтег Выбрать пакеты, имеющие данный debtag тег.
?term(ключевое-слово)  Полнотекстовый поиск пакетов, содержащих данное ключевое-слово.
?term-prefix(ключевое-слово)  Полнотекстовый поиск пакетов, содержащих ключевое слово, начинающееся с данного ключевого-слова.
?true~T Выбрать все пакеты.
?task(задача)~tзадача Выбрать пакеты, входящие в данную задачу.
?upgradable~U Выбрать установленные пакеты, которые могут быть обновлены.
?user-tag  Выбрать пакеты, отмеченные пользовательским тегом, подходящим под регулярное выражение пользовательский-тег.
?version(версия)~Vверсия Выбрать пакеты, чья версия подходит под версию (специальные значения: CURRENT, CANDIDATE, и TARGET).
?virtual~v Выбрать виртуальные пакеты.
?widen(шаблон)~Wшаблон Выбрать версии, у которых любая версия соответствующего пакета подпадает под шаблон, исключая локальные ограничения версий.

имя

Выбирает пакеты, чьи имена подходят под регулярное выражение имя. Это метод поиска «по-умолчанию» и он используется для шаблонов, которые не начинаются с ~.

[Примечание]Примечание

Чтобы выбрать пакеты, чьи имена содержат несколько различных подстрок, используйте термин ?name (описывается ниже); например, «?name(apti)?name(tude)» будет соответствовать пакетам, чьи имена содержат и «apti», и «tude».

?=переменная

Выбирает пакеты, соответствующим значению переменной, которая должна быть связана ?for. Например, ?for x: ?depends( ?recommends( ?=x ) ) будет соответствовать пакету x, зависящему от пакета, рекомендующего x.

Например, следующее поисковое выражение соответствует пакетам, которые конфликтуют сами с собой:

Пример 2.2. Использование термина ?=

?for x: ?conflicts(?=x)


Дополнительную информацию см. в разделе «Явные цели поиска».

?not(шаблон), !шаблон

Выбирает пакеты, которые не соответствуют шаблону. Например, «?not(?broken)» выбирает пакеты, которые не являются «сломанными».

[Примечание]Примечание

Чтобы включить символ «!» в поисковую строку, он должен быть «экранирован» путем помещения перед ним тильды («~»); в противном случае, aptitude будет рассматривать его как часть термина ?not. Например, чтобы выбрать пакеты, чье описание содержит «extra!», используйте «?description(extra~!)».

?and(шаблон1, шаблон2), шаблон1 шаблон2

Выбирает пакеты, которые подходят и под шаблон1, и под шаблон2.

?or(шаблон1, шаблон2), шаблон1 | шаблон2

Выбирает пакеты, которые подходят под шаблон1 или под шаблон2.

[Примечание]Примечание

Чтобы использовать символ «|» в регулярном выражении, он должен быть «экранирован», иначе aptitude создаст из него термин ИЛИ: «~|».

(шаблон)

Выбирает шаблон. Например, «opengl (perl|python)» соответствует пакетам, чьи имена содержат opengl, а также содержат или perl, или python.

?action(действие), ~aдействие

Выбирает пакеты, над которыми должно быть выполнено данное действие . Действием может быть «install», «upgrade», «downgrade», «remove», «purge», «hold» (проверяет, был ли пакет зафиксирован), или «keep» (проверяет, будет ли пакет оставлен в текущей версии).

[Примечание]Примечание

Заметьте, что этот запрос проверяет лишь то, действительно ли действие будет произведено над пакетом, а не то, может ли вообще оно быть произведено. Таким образом, например, ?action(upgrade) соответствует только тем пакетам, которые вы уже решили обновить, а не тем пакетам, которые могут быть обновлены в будущем (для последнего, используйте ?upgradable).

?all-versions(шаблон)

Выбирает пакеты, все версии которых соответствуют данному выражению. Каждая версия пакета будет отдельно проверена на соответствие шаблону, и пакет будет считаться подходящим под шаблон только в том случае, если под него подходят все его версии. Пакеты без версий, такие как виртуальные пакеты, всегда будут выбираться этим поисковым термином.

Этот термин не может быть использован в контексте, в котором выбор версий уже сужен, например при помощи ?depends или ?narrow. Тем не менее, он всегда может использоваться в ?widen.

?any-version(шаблон)

Выбирает пакет, если какая-либо его версия соответствует шаблону в скобках. Этот запрос двойственен ?all-versions.

Этот термин не может быть использован в контексте, в котором выбор версий уже сужен, например при помощи ?depends или ?narrow. Тем не менее, он всегда может использоваться в ?widen.

[Примечание]Примечание

Этот термин тесно связан с ?narrow. Фактически, термин ?any-version(шаблон1 шаблон2) делает в точности то же, что ?narrow(шаблон1, шаблон2).

[Примечание]Примечание

Если быть точным, то как и с любым другим шаблоном выбираются не пакеты, а версии пакетов. Для «aptitude search» и других подобных команд большой разницы нет, «aptitude versions» будет показывать лишь выбранные версии, а не все версии пакета, для которого будет в качестве подходящей выбрана любая версия. Для этого используйте ?widen.

?architecture(спецификация-архитектуры), ~rспецификация-архитектуры

Выбирает версии пакета для данной спецификации-архитектуры. Например, «?architecture(amd64)» выбирает пакеты архитектуры amd64, а «?architecture(all)» выбирает все независящие от архитектуры пакеты.

Также принимаются специальные значения native и foreign, а также шаблоны архитектур (напр., linux-any или any-amd64), определённые в Политике (раздел «11.1 Architecture specification strings»).

?archive(архив), ~Aархив

Выбирает версии пакета, доступные из архива, соответствующего указанному регулярному выражению архив. Например, «?archive(testing)» выбирает пакеты, доступные из архива testing.

?automatic, ~M

Выбирает пакеты, которые были установлены автоматически.

?bind(переменная, шаблон), ?переменная:имя-термина[(аргументы)]

Выбирает пакеты или версии пакетов, если данный шаблон соответствует пакету или версии, привязанной к переменной, которая должна быть определена в ?for.

Пример 2.3. Использование термина ?bind

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

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


Два поисковых шаблона в примере выше выбирают пакет x такой, что x зависит от пакета y, который, в свою очередь, зависит от пакета z такого, что x также напрямую зависит от z. В первом шаблоне ?bind используется явным образом, в то время как во втором шаблоне используется эквивалентный сокращенный синтаксис.

Дополнительную информацию см. в разделе «Явные цели поиска».

?broken, ~b

Выбирает «сломанные» пакеты: они имеют неудовлетворенную зависимость, предзависимость, поломки или конфликт.

?broken-тип-зависимости, ~Bтип-зависимости

Выбирает пакеты, которые имеют неудовлетворенную («сломаны») зависимость данного типа-зависимости. Типом-зависимости может быть «depends», «predepends», «recommends», «suggests», «breaks», «conflicts» или «replaces».

?broken-тип-зависимости(pattern), ~DB[тип-зависимости:]шаблон

Выбирает пакеты с неудовлетворенной зависимостью типа тип-зависимости по отношению к пакету, соответствующему шаблону. Типом-зависимости может быть любой тип зависимостей, указанный в описании ?broken-тип-зависимостей.

?conflicts(шаблон), ~Cшаблон

Выбирает пакеты, конфликтующие с пакетом, соответствующим данному шаблону. Например, «?conflicts(?maintainer(dburrows@debian.org))» выбирает пакеты, конфликтующие с теми пакетами, которые сопровождаю я.

?config-files, ~c

Выбирает пакеты, которые были удалены, но чьи файлы настройки остаются в системе (то есть, они были удалены, но не вычищены).

?тип-зависимости(шаблон), ~D[тип-зависимости:]шаблон

Типом-зависимости может быть любой из типов зависимости, приведенный в описании ?broken-тип-зависимости, а также provides: например, ?depends(libpng3) выберет пакеты, которые зависят от libpng3. Если запрос используется в короткой форме (~D), и тип-зависимости не указан, по-умолчанию выбирается тип depends.

Если тип-зависимости соответствует «provides», то выбираются те пакеты, которые предоставляют пакет, подходящий под шаблон (эквивалент ?provides). В противном случае, выбираются те пакеты, объявляющие зависимость типа тип-зависимости по отношению к версии пакета, подходящей под шаблон.

?description(описание), ~dописание

Выбирает пакеты, чье описание подпадает под регулярное выражение описание.

?essential, ~E

Выбирает пакеты первой необходимости.

?exact-name(имя)

Выбирает пакеты, имеющие имя имя. Этот термин схож с ?name, но имя должно точно подходить под шаблон. Например, под следующий шаблон подходит только пакет apt; с ?name, под него подходил бы также aptitude, uvccapture и так далее.

Пример 2.4. Использование термина ?exact-name

?exact-name(apt)


?false, ~F

Под этот термин не подходит ни один пакет. [18]

?for переменная: шаблон

Выбирает шаблон, но данная переменная может использоваться внутри шаблона для указания на пакет или версию пакета, на которую указывает этот термин.

Вы можете использовать переменные двумя способами. Чтобы применить содержащий ? термин к переменной, напишите ?переменная:имя-термина(аргументы); например, ?x:depends(apt). В дополнение, термин ?=переменная выберет пакеты или версии пакетов, которые подходят под значение данной переменной.

Например, следующий термин выберет пакет x, который зависит и рекомендует другой пакет y.

Пример 2.5. Использование термина ?for

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


Дополнительную информацию см. в разделе «Явные цели поиска».

?garbage, ~g

Выбирает пакеты, которые еще не установлены или которые были установлены автоматически, и не входят в зависимости какого-либо установленного пакета.

?installed, ~i

Выбирает версии пакета, установленные в данный момент.

Так как по-умолчанию проверяются все версии, этот термин обычно выбирает пакеты, установленные в настоящий момент.

?maintainer(сопровождающий), ~mсопровождающий

Выбирает пакет, чей сопровождающий подпадает под регулярное выражение сопровождающий. Например, «?maintainer(joeyh)» найдет все пакеты, сопровождаемые Джо Хессом.

?multiarch(мультиархитектура)

Выбирает пакеты, поддерживающие мультиархитектурность, определенную мультиархитектурностью. Например, «?multiarch(foreign)» найдет все пакеты, которые удовлетворяют зависимости пакетов для другой архитектуры. «?multiarch(none)» выберет пакеты без поддержки мультиархитектурности.

?narrow(фильтр, шаблон), ~S фильтр шаблон

Этот термин «сужает» поиск до версий пакетов, подходящих под фильтр. В частности, он выбирает версии пакетов, подпадающие и под фильтр, и под шаблон. Строковое значение этого сочетания является строковым значением шаблона.

?name(имя), ~nимя

Выбирает пакеты, чье имя подпадает под регулярное выражение имя. Например, большинство пакетов, которые подпадают под «?name(^lib)», являются библиотеками одного или другого вида.

?new, ~N

Выбирает пакеты, являющиеся «новыми»: то есть, они были добавлены в архив с момента последней очистки списка пакетов при помощи ДействияЗабыть о новых пакетах (f) или действия командной строки forget-new.

?obsolete, ~o

Этот термин выбирает установленные пакеты, которые более не доступны в их любой версии из любого архива. В визуальном интерфейсе эти пакеты приводятся в группе «Устаревшие и пакеты, созданные локально».

?origin(источник), ~Oисточник

Выбирает версии пакетов, чей источник подпадает под регулярное выражение источник. Например, «!?origin(debian)» найдет неофициальные пакеты в вашей системе (пакеты не из архива Debian).

?provides(шаблон), ~Pшаблон

Выбирает версии пакетов, которые предоставляют пакет, подпадающий под шаблон. Например, «?provides(mail-transport-agent)» выберет пакеты, предоставляющие «mail-transport-agent».

?priority(приоритет), ~pприоритет

Выбирает пакеты, чей приоритет равен приоритету; приоритет должен быть extra, important, optional, required или standard. Например, «?priority(required)» выберет пакеты, чей приоритет соответствует «required».

?reverse-тип-зависимости(шаблон), ~R[тип-зависимости:]шаблон

Тип-зависимости может быть или «provides», или один из типов зависимостей, приведенных в описании ?broken-тип-зависимости. Если тип-зависимости не введен, по-умолчанию используется depends.

Если тип-зависимости соответствует «provides», выбирается пакет, чье имя предоставляется версией пакета, подпадающей под шаблон. В противном случае, выбираются пакеты, относительно которых версия пакета, подпадающая под шаблон, объявляет тип зависимости тип-зависимости.

?reverse-broken-тип-зависимости(шаблон), ?broken-reverse-тип-зависимости(шаблон), ~RB[тип-зависимости:]шаблон

Тип-зависимости может быть или «provides», или один из типов зависимостей, приведенных в описании ?broken-тип-зависимости. Если тип-зависимости не введен, по-умолчанию используется depends.

Выбирает пакеты, относительно которого версия пакета, подпадающая под шаблон объявляет неудовлетворенную зависимость типа тип-зависимости.

?section(раздел), ~sраздел

Выбирает пакеты, чей раздел подпадает под регулярное выражение раздел.

?source-package(имя), ~eимя

Выбирает пакет, чье имя пакета с исходным кодом подпадает под регулярное выражение имя.

?source-version(версия)

Выбирает пакет, чья версия пакета с исходным кодом подпадает под регулярное выражение версия.

?tag(тег), ~Gтег

Выбирает пакет, чьё поле Тег подпадает под регулярное выражение тег. Например, шаблон ?tag(game::strategy) выберет стратегические игры.

Дополнительную информацию о тегах и debtags, см. на http://debtags.alioth.debian.org.

?task(задача), ~tзадача

Выбирает пакет, чье имя встречается в задаче, подпадающий под регулярное выражение задача.

?term(ключевое-слово)

Этот термин выполняет полнотекстовый поиск ключевого-слова в кэше пакетов package. Когда он используется совместно с «aptitude search», ПоискОграничить экран (l) в curses оболочке, или введен в поле поиска пакета в GTK+ оболочке, то он позволит ускорить поиск aptitude, используя индекс Xapian.

?term-prefix(ключевое-слово)

Этот термин выполняет полнотекстовый поиск любого ключевого слова в кэше пакетов apt, начинающегося с ключевого слова. Когда этот термин используется совместно с «aptitude search», ПоискОграничить экран (l) в curses оболочке, или введен в поле поиска пакета в GTK+ оболочке, этот термин позволит ускорить поиск aptitude, используя индекс Xapian.

Этот термин схож с ?term, но выбирает расширения ключевого слова. Например, следующий поисковый шаблон будет выбирать любой пакет, индексированный под ключевыми словами hour, hourglass, hourly и так далее:

Пример 2.6. Использование термина ?term-prefix

?term-prefix(hour)


?true, ~T

Этот термин выбирает любой пакет. Например, «?installed?provides(?true)» выбирает установленные пакеты, предоставляющие любой пакет.

?upgradable, ~U

Этот термин выбирает установленный пакет, который может быть обновлен.

[Примечание]Примечание

Заметьте, что проводится проверка только того, доступны ли обновления для пакета, а не то можно ли выполнить обновление (с такими действиями как safe-upgrade или full-upgrade).

Например, могут быть доступны обновления для нескольких пакетов, но возможно обновлённые версии подмножества этих пакетов будут конфликтовать друг с другом, поэтому их нельзя установить одновременно, либо не все из них можно за раз обновить.

?user-tag(тег)

Этот термин выбирает пакет, отмеченный пользовательским тегом, подпадающим под регулярное выражение тег.

?version(версия), ~Vверсия

Выбирает версию пакета, чей номер версии подпадает под регулярное выражение версия, за исключением того, что отмечено ниже. Например, «?version(debian)» выберет пакеты, чья версия содержит «debian».

Следующие значения поля версия трактуются специфично. Чтобы искать номера версий, содержащих эти значения, предпошлите значению обратную косую черту; например, чтобы найти пакеты, чей номер версии содержит CURRENT, ищите \CURRENT.

  • CURRENT выбирает установленную в настоящее время версию пакета, если таковая имеется.

  • CANDIDATE выбирает версию, если таковая имеется, пакета, которая будет установлена, если вы нажмете +, выбрав пакет, или выполните команду aptitude install для этого пакета.

  • TARGET выбирает версию пакета, которая выбрана для установки в настоящее время, если таковая имеется.

?virtual, ~v

Выбирает любой пакет, являющийся чисто виртуальным: то есть, его имя предоставляется пакетом, но пакета с таким именем не существует. Например, «?virtual?reverse-provides(?installed)» выбирает виртуальные пакеты, предоставляемые любым установленным пакетом.

?widen(шаблон), ~Wшаблон

«Расширяет» поиск: если подходящие версии были ограничены термином (таким как ?depends), эти ограничения сбрасываются. Так, ?widen(шаблон) выбирает версию пакета, если шаблон соответствует какой-либо версии этого пакета.



[18] Этот термин в значительной степени симметричен с ?true.