Найти в Дзене
Значения слов

Перевод: "Справочное руководство APT-PATTERNS" - описываются регулярные выражения для apt.

APT-PATTERNS(Имяреки apt-а) 26 декабря 2021 ИМЯ apt-patterns - словосочетания и их смысл в поисковых имяреках у apt-а (apt search patterns). # Не путать с apt_preferences. ОПИСАНИЕ Начиная с версии 2.0, APT получил возможность применять имяреки(patterns), которые могут быть использованы для запроса доступной наличности пакетов в apt(apt-cashe). Про доступную наличность, читаем выхлоп команды „apt-cache“: команда apt-cache не подключена постоянно к сети, а подгружает пакеты только по команде apt-cahe update(обновлять), так что перед скачиванием пакетов обновитесь! Это же относится и к команде apt. ИМЯРЕКИ ЛОГИКИ(LOGIC PATTERNS) Данные имяреки(patterns) содержат простые значения, которые можно сочетать в более сложных выражениях. Это такие значения как ?true(правда) и ?false(ложь). ?and(PATTERN, PATTERN, ...), PATTERN PATTERN ... ?и(ИМЯРЕК, ИМЯРЕК, ...) либо ИМЯРЕК ИМЯРЕК ... # пробел, это "и" Выбор названий согласно всем перечисленным имярекам: и первому и второму и т.д
Оглавление

APT-PATTERNS(Имяреки apt-а)

26 декабря 2021

ИМЯ

apt-patterns - словосочетания и их смысл в поисковых имяреках у apt-а

(apt search patterns).

# Не путать с apt_preferences.

ОПИСАНИЕ

Начиная с версии 2.0, APT получил возможность применять имяреки(patterns), которые могут быть использованы для запроса доступной наличности пакетов в apt(apt-cashe).

Про доступную наличность, читаем выхлоп команды „apt-cache“:
команда apt-cache не подключена постоянно к сети, а подгружает пакеты только по команде apt-cahe update(обновлять), так что перед скачиванием пакетов обновитесь! Это же относится и к команде apt.

ИМЯРЕКИ ЛОГИКИ(LOGIC PATTERNS)

Данные имяреки(patterns) содержат простые значения, которые можно

сочетать в более сложных выражениях. Это такие значения как

?true(правда) и ?false(ложь).

?and(PATTERN, PATTERN, ...), PATTERN PATTERN ...

?и(ИМЯРЕК, ИМЯРЕК, ...) либо ИМЯРЕК ИМЯРЕК ... # пробел, это "и"

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

?false, ~F ?ложь, ~Л

Ничего не выбирает. Используется с чем-то ещё.

?not(PATTERN), !PATTERN ?не(ИМЯРЕК) , !ИМЯРЕК # !, это "не"

Выбрать названия в которых нет указанного имярека.

?or(PATTERN, PATTERN, ...), PATTERN | PATTERN | ...

?или(ИМЯРЕК, ИМЯРЕК, ...) либо ИМЯРЕК | ИМЯРЕК | ...  # |, это "или"

Выбрать названия, в которых есть хоть какой-то из перечисляемых имяреков: или тот, или этот,....

?true, ~T ?правда, ~П

Выбрать все названия. Применяется с чем-то ещё.

(PATTERN) (ИМЯРЕК)

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

порядке, например " (~ramd64|~ri386)~nfoo ".

По имени пакета "~n" foo найти его версии по архитектуре "~r": md64 или i386. Описание "~n" и "~r" даны ниже ИМЯРЕКАХ ПАКЕТОВ.

УТОЧНЕНИЯ ИМЯРЕКОВ (NARROWING PATTERNS)

?all-versions(PATTERN) ?все-исполнения(имярек)

Выбрать пакеты, все исполнения(versions), которых соответствуют имяреку(PATTERN). Если указывать номера исполнений, то все пакеты согласно им. Можно использовать с "?widen"(раширять).

?any-version(PATTERN) ?каждое-исполнение(имярек)

Выбрать каждое исполнение(version), если имярек указывает на это исполнение. Повторяет предыдущее. Можно использовать с ?narrow(сужать). Соответствие:

?any-version(pattern1 pattern2) == ?narrow(pattern1, pattern2).

Пример:

?and(?version(1),?version(2) # ищет пакет с исполнениями "1" и "2".

?any-version(?and(?version(1),?version(2))) # заставляет логическое ?and(и) искать только то исполнение в котором есть и "1" и "2".

?narrow(PATTERN...) ?сужать(имярек...)

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

Соответствие:

?narrow(PATTERN...) == ?any-version(?and(PATTERN...)).

ИМЯРЕКИ ПАКЕТОВ

Данные имяреки выбирают нужные(specific) пакеты.

?architecture(WILDCARD), ~rWILDCARD

?архитектура(ЗНАЧОК), ~рЗНАЧОК

Выбрать пакеты с соответствующей архитектурой(amd64, i386); можно

дополнительно применять любые значки(wildcards).

?automatic, ~M ?автоматически, ~М

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

?broken, ~b ?сломанные, ~c

Выбрать пакеты со сломанными зависимостями

?config-files, ~c ?конфигурационные-файлы, ~к

Выбрать пакеты, от которых остались конфигурационные файлы, а

не сами пакеты.

?essential, ~E ?существенные, ~Щ

Выбрать пакеты, у которых прописана строка Essential:yes(да) в их

управляющем файле( control file).

?exact-name(NAME) ?точное-имя(ИМЯ)

Выбрать пакеты строго по указанному имени.

?garbage, ~g ?отходы, ~д

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

?installed, ~i ?установленный, ~у

Выбрать установленные у вас пакеты

?name(REGEX), ~nREGEX ?имя(РЕГВЫР), ~яРЕГВЫР

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

?obsolete, ~o ?отживший, ~ж

Выбрать пакеты, которых нынче нет в хранилищах(repositories)

?upgradable, ~U ?обновляемые, ~О

Выбрать пакеты, которые можно обновить(есть свежий на замену).

?virtual, ~v ?вируальный, ~в

Выбрать все виртуальные пакеты; что означает пакеты без исполнения(version).

Это возможно, когда на такие пакеты приходят ссылки откуда-то из хранилища; например, какие-то настоящие пакеты зависят от такого, с чистым именем. (Для разрешения конфликтов зависимостей между настоящими пакетами).

ИМЯРЕКИ ИСПОЛНЕНИЙ (VERSION PATTERNS)

Данные имяреки выбирают нужные исполнения пакетов(specific versions).

?archive(REGEX), ~AREGEX ?хранилище(РЕГВЫР), ~ХРЕГВЫР

Выбрать исполнения(versions), которые находятся в том хранилище,

которое указано в записи регулярного выражения(regular expression).

Под хранилищем(archive) здесь подразумевается значение в поле

"a=" в выводе команды: $ apt-cashe policy .

# например: a=stable, a=impish и т.п.
* Это поле указывает к какому выпуску вашего дистрибутива
(распределителя) относятся пакеты в хранилищах(к которым вы подключены); в выводе команды указывается ещё старшинство хранилищ виде цифр и даны ссылки на хранилища.
Команда apt-cache policy для отдельного пакета, например:
$ apt-cache policy nemo
показывает установлен он или нет, какие версии пакета доступны и из каких хранилищ, и старшинство хранилищ(цифры 100, 500 и т.д.).
По умолчанию установленный пакет имеет старшинство 100;
это ваше хранилище, содержимое которого описано в файле
/var/lib/dpkg/status), а неустановленный -500; три звёздочки: ***
указывают на номер исполнения(version) установленного пакета. См. ещё
$ man apt_preferences # это файл /etc/apt/preferences

?codename(REGEX) ?кличкаимя(РЕГВЫР)

Выбрать исполнения пакетов по их кличке, которая указана в записи

регулярного выражения(regular expression).

Под кличкой(codename) здесь подразумевается значение в поле "n=" в

выводе команды: $ apt-cache policy .

# например: n=stable, n=impish и т.п.
* Кличка(codename)-это имя присвоенное выпуску, в котором вы
работаете или подключили в качестве дополнительного хранилища.
**Значения полей "a=" и "n=" могут быть:
"a=stable,n=impish" или "a=impish,n=impish" и т.п.; поле "a=" может
отсутствовать у хранилищ-сайтов.

?origin(REGEX), ~OREGEX ?происхождение(РЕГВЫР) либо ~ПРЕГВЫР

Выбрать исполнения(versions) пакетов·по·их·происхождению(origin),

которое·указано·в·записи регулярного·выражения(regular·expression).

Под происхождением(origin) здесь подразумевается значение в поле

"o=" в выводе команды: $ apt-cache policy .

# например: "o=Ubuntu", "o=LP-PPA..." - для "ppa.launchpad.net" и др.

?section(REGEX), ~sREGEX ?раздел(РЕГВЫР), ~рРЕГВЫР

Выбрать исполнения пакетов(versions) по их разделу(section),

которое указано в записи регулярного выражения(regular expression).

Примеры разделов: doc, net и другие.
Посмотреть разделы можно командой:
$ apt search --display-format '%s' ~T | sed 's/\/.//' | sort | uniq
# Эта команда взята из aptitude:
# $ aptitude search --display-format '%s' \~T | sed 's/\/.*//' | sort | uniq
# Отличие - здесь есть звёздочка „*“ и избегается тильда „\~“.
Про тильду см. „ПЕРЕНОС ИЗ ПОСОБНИКА“;
про звёздочку-проверено на Linux Mint.
Посмотреть вместе с отделом архива в виде area/section
$ apt search --display-format '%s' --disable-columns ~T | sort | uniq
# Эта команда взята из aptitude:
# $ aptitude search --display-format '%s' --disable-columns \~T | sort | uniq
# Отличие - здесь избегается тильда „\~“.
Про тильду см. „ПЕРЕНОС ИЗ ПОСОБНИКА“.
Или на https://www.debian.org/doc/debian-policy/ch-archive.html
# В описании пакетов поле для обозначения раздела(section) каждого пакета содержит:
- название_раздела(section), если пакет относится к главному(main) хранилищу и
- отдел/название_раздела(area/section), если пакет относится к хранилищам contrib и non-free; для Debian.
Для Ubutu это: main, restricted, universe, multiverse.

?source-package(REGEX), ~eREGEX ?исходники-пакета(РЕГВЫР), ~еРЕГВЫР

Выбрать исполнения пакетов(versions) среди их исходников(sourse package), имена которых указаны в записи регулярного выражения (regular xpression).

?source-version(REGEX) ?исходники-исполнение(РЕГВЫР)

Выбрать исполнения пакетов(versions) среди исходников, по иcполнениям пакетов(package version), которое указано в записи регулярного выражения(regular expression).

?version(REGEX), ~VREGEX ?исполнение(РЕГВЫР), ~И(РЕГВЫР)

Выбрать исполнения пакетов(versions) по их исполнению(version),

которое указано в записи регулярного выражения(regular expression).

?priority(NAME), ~pNAME ?важность(ИМЯ) либо ~вИМЯ

Выбрать исполнения пакетов(versions) по их важности(Priority), которая

прописана в имени(name).

** Важность пакетов:
необходимый(required)->обязательный
важный(important)
стандартный(standard)->обычный
дополнительный(optional)->на выбор
необязательный(extra)->добавочный
Неизвестно(Unknown)
Важность пакетов дана в переводе команды aptitude->верный перевод.
Важность(очерёдность) пакетов можно посмотреть в русском переводе:
$ apt search --display-format '%P' ~T | sort | uniq
# Эта команда взята из aptitude:
# $ aptitude search --display-format '%P' \~T | sort | uniq
# Отличие - здесь избегается тильда „\~“. Про тильду см. „ПЕРЕНОС ИЗ ПОСОБНИКА“.
Это связано с тем, что команда aptitude хорошо русифицирована. Чтобы посмотреть соответствующие названия важности(priority) по-английски:
$ env LANGUAGE=en_RU.UTF-8 apt search --display-format '%P' ~T | sort | uniq
# Эта команда взята из aptitude:
# $ env LANGUAGE=en_RU.UTF-8 aptitude search --display-format '%P' \~T | sort | uniq
# Отличие - здесь избегается тильда „\~“. Про тильду см. „ПЕРЕНОС ИЗ ПОСОБНИКА“.

ВЗАИМОСВЯЗИ МЕЖДУ ПАКЕТАМИ в ИМЯРЕКАХ(PACKAGE RELATIONSHIP PATTERNS)

Эти имяреки(patterns) служат для поиска указанных ниже особенностей

исполнений пакетов(package versions), таких как зависит/конфликтует

(depend/conflict) с другими пакетами.

?depends(PATTERN), ~DPATTERN, зависит

?pre-depends(PATTERN),~DPre-Depends:PATTERN, предзависит

?suggests(PATTERN), ~DSuggests:PATTERN, советует

?conflicts(PATTERN), ~DConflicts:PATTERN, конфликтует

?replaces(PATTERN), ~DReplaces:PATTERN, подставляет

?obsoletes(PATTERN), ~DObsoletes:PATTERN, отсутствует

?breaks(PATTERN), ~DBreaks:PATTERN, ограничивает

?enhances(PATTERN), ~DEnhances:PATTERN улучшает

Выбирает исполнения пакетов, когда пакет зависит/предзависит/

советует/конфликтует/и прочее от/с ИМЯРЕКАМИ(PATTERNS) пакетов.

?reverse-depType(PATTERN), ~RDepType:PATTERN

Противоположное ?зависит(?depends) и ?сотоварищи(?friends)

- выбрать все исполнения пакетов, от которых зависит и т.п. пакет

указанный в ИМЯРЕК(PATTERN).

Поскольку видзав(deptype) относится к видам зависимостей, например

"зависит"(depends), то нам не до́лжно заново повторять здесь весь

перечень из первой части данного раздела.(Это по-поводу сотоварищей).

ПРИМЕРЫ(EXAMPLES)

apt remove ?garbage apt удалить ?отходы

# В терминале запись точно такая же.

Удалить все пакеты, которые были установлены автоматически,

но больше не нужны; то же, что и apt autoremove(самоудались).

apt purge ?config-files apt очистить ?конфиг-файлы

Очистить(purge) остатки тех пакетов, от которых остались конфигурационные файлы.

# В терминале запись точно такая же.
# Можно запустить в режиме "понарошку"(simulate):
$ apt purge --simulate ?config-files # или
$ apt purge --dry-run ?config-files # dry run - холостой ход.
# От настоящего исполнения вывод команды будет отличаться
# отсутствием запроса на подтверждение действия:
"Хотите продолжить?". Это идёт от apt-get.

apt list ~i !~M (~slibs|~sperl|~spython)

Просмотреть список(list) всех пакетов установленных вручную,

с выборкой по разделам libs,perl или python.

  • # Запись в терминале отличается.
Нужно прикрыть символы, которые воспринимает оболочка командной строки, цитированием или обратной косой чертой, см. про цитирование ниже:
$ apt list ~i \!~M \(~slibs\|~sperl\|~spython\) # или
$ apt list ~i \!~M '(~slibs|~sperl|~spython)' # или для единообразия
$ apt list ~i '!'~M '(~slibs|~sperl|~spython)'
  • Ещё примеры записей в терминале:
$ apt search ?virtual # поиск виртуальных пакетов; или
$ apt search ~v # без всякого цитирования и косых черт.
$ apt search ?provides\(rubygems\) # поиск пакетов, которые
# обеспечивают(provides) работу виртуального пакета rubygems.
# Это идёт от aptitude.
$ apt search ~DConflicts:nemo # кто отторгает nemo?
  • Цитирование.
Цитирование бывает двух видов строгое, с одинарными кавычками
„''“ и простое с двойными кавычками „""“ .
Строгое цитирование „''“ - в нём утрачивают значение все
  • специальные символы вида: ? * . () | \ ~ , - и прочее.
Простое цитирование „""“ - в нём сохраняют своё значение символы
  • „$“ „\“ „`“ и всё. В нём пробелы объёдиняют слова в фразы, а не разделяют их.
Обратная косая черта „\“ (Escape-изба́ви) - нужна для цитирования
отдельного символа, в том числе и невидимого, например пробела,
конца строки; запись вида „\033“ - воспринимается целиком как
восьмеричный код символа Escape(изба́ви), т.е. символа „\“.

ПЕРЕНОС ИЗ ПОСОБНИКА(MIGRATING FROM APTITUDE)

Имяреки в apt возникли под сильным влиянием имяреков aptitude

(пособника), но с некоторыми поправками.

Словосочетания(syntax) сделаны единообразными: если вы открываете

скобки после условия(term), то это всегда должно считаться началом

перечня с какими-то значениями.

В aptitude(пособнике) словосочетание "?foo(bar)" может означать

"?и(?foo,bar)", в случае, если для слова "foo" ничего не найдётся.

В APT-е, в таком случае, появится сообщение об ошибке.

* foo - нечто, bar-черта, нечто.

Применяются не все имяреки(patterns) из aptitude.

Из aptitude доступны некоторые из дополнительных имяреков

(patterns), например такие, что нужны для нахождения

gstreamer codecs(кодеков для воспроизведения звука и видео

на основе Gstreamer).

Не применяется аптитьюдовский способ избегания тильды

"~" через "\~" .

Это означает, что аптитьюдовская команда, например "поиск
автоматически установленных пакетов":
$ aptitude search \~M
в APT будет выглядеть так:
$ apt search ~M
хотя и аптитьюдовский способ, тоже работает:
$ apt search \~M

в списке с перечнем допускается замыкающая запятая, например:

" 1, 2 , " .

В ?narrow(?сужение) допускается неграниченный перечень.

Просто слово, например "foo"(нечто) нельзя использовать для замены

?name(foo) ?имя(нечто), так как это может привести к незаметным

опечаткам. Представьте себе запись:

?and(...,~poptional) ?и(...,~одополнительный)

Здесь запрашивается пакет, с указанной важностью, но, если вы не

наберёте "~", то будет запрашиваться пакет по имени, в котором есть

"poptional"(одополнительный).

Объединение имяреков по (...), то есть запись вида

?or(A,B) вместо A|B не поддерживается.

# это означает "или А или Б"

Мы не считаем, что знак "|" так широко распространён, и нет

необходимости совершать объединения без него.

Виды зависимости(dependency types) для ~D и для связанных с ним

значений должны указываться однозначно „в грамотном выражении,

чему мы и следуем“ (in the canonical case).

* Здесь имеется в виду, что в aptitude короткая форма ~D означает
"зависит"(depends), но может писаться и как ~Ddepends.
** Игра слов:
"canonical" - одобренный (церковью)
Canonical — британская компания, основанная Марком Шаттлвортом для развития и популяризации Linux-дистрибутива Ubuntu.
case - падеж; падеж передаёт взаимотношение имярека с глаголом;
canonical case-общепринятый падеж; падежей в английском языке три;
бывают ещё "un-canonical cases" - не общепринятые падежи; смысл в
том, что разные имреки - разные падежные взаимоотношения; скажем
„я завишу“ -можно, „ямне завишу“ - не допустимо.

СМОТРИ ТАКЖЕ(SEE ALSO)

apt-get(8), apt(8)

# Посмотреть полный перечень подкоманд для APT можно из файла, командой:
$ less /usr/share/bash-completion/completions/apt
# Это косвенная возможность, но она пока есть.
# ИМЯРЕКИ ЛОГИКИ(LOGIC PATTERNS)(см. вначале) в этом файле, под
# заголовком "Debian apt(8) completion(довершение)" не представлены.
# См. содержимое файла /usr/share/bash-completion/completions/apt и
# вывод команды cat /usr/local/bin/apt, она показывает как работают
# подкоманды apt в Linux Mint, ниже в Дополнении.

ГЛЮКИ(BUGS)

Страница ошибок APT(APT bug page[1]). Если вы хотите отправить

отчёт об ошибке для APT, пожалуйста, ознакомьтесь с файлом

/usr/share/doc/debian/bug-reporting.tx или просмотрите вывод

команды reportbug(1)(отчёт об ошибках).

АВТОР(AUTHOR)

Пакет APT был написан командой APT <apt@packages.debian.org>.

АВТОРЫ(AUTHORS)

Джейсон Гантзорп(Jason Gunthorpe)(Чейсын Пушкарёв)

Gunthorpe(Пушкарёво)-деревня и гражданский приход

в английском графстве Норфолк(СеверныйНародец).

Команда APT(APT team)

ЗАМЕТКИ(NOTES)

- Страничка ошибок APT(APT bug page)

http://bugs.debian.org/src:apt

ДОПОЛНЕНИЕ

######################

Не существует полного руководства по команде APT. Понимание её всех

возможностей доступно косвенно. Рассмотрим как.

Вывод команды less /usr/share/bash-completion/completions/apt

позволяет увидеть перечень всех подкоманд для apt. Логические имяреки

для or, and, not, true, false - в файле apt в папке bash-completion

представлены в общем виде; неявно. Перечень из этого файла:

# Подкоманды APT

Дополнения:

-d --download-only

-y --assume-yes

--assume-no

-u --show-upgraded

-m --ignore-missing

-t --target-release

--download

--fix-missing

--ignore-hold

--upgrade

--only-upgrade

--allow-change-held-packages

--allow-remove-essential

--allow-downgrades

--print-uris

--trivial-only

--remove

--arch-only

--allow-unauthenticated

--allow-insecure-repositories

--install-recommends

--install-suggests

--no-install-recommends

--no-install-suggests

--fix-policy

Подкоманды:

"list"

"search"

"show" "showsrc"

"install" "remove" "purge" "autoremove" "autopurge"

"update"

"upgrade" "full-upgrade" "dist-upgrade"

"edit-sources"

"help"

"source" "build-dep"

"clean" "autoclean"

"download" "changelog"

"moo"

"depends" "rdepends"

"policy"

-t|--target-release)

Выполняется команда "$(apt-cache policy | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)"

Дополнения для отдельных команд:

install|remove|purge|upgrade|dist-upgrade|full-upgrade|autoremove)

--show-progress

--fix-broken --purge --verbose-versions --auto-remove

-s --simulate --dry-run

--download

--fix-missing

--fix-policy

--ignore-hold

--force-yes

--trivial-only

--reinstall --solver

-t --target-release

update

--list-cleanup

--print-uris

--allow-insecure-repositories

list

--installed --upgradable

--manual-installed

-v --verbose

-a --all-versions

-t --target-release

show

-a --all-versions

depends|rdepends

-i

--important

--installed

--pre-depends

--depends

--recommends

--suggests

--replaces

--breaks

--conflicts

--enhances

--recurse

--implicit

search

-n --names-only

-f --full

showsrc

--only-source

source

-s --simulate --dry-run

-b --compile --build

-P --build-profiles

--diff-only --debian-only

--tar-only

--dsc-only

-t --target-release

build-dep

-a --host-architecture

-s --simulate --dry-run

-P --build-profiles

-t --target-release

--purge --solver

moo

--color

clean|autoclean)

-s --simulate --dry-run

Как выполняются подкоманды:

remove|purge|autoremove)

либо над DEB-пакетом

либо над RPM-пакетом

show|list|download|changelog|depends|rdepends)

выполняется apt-cache --no-generate pkgnames

install

выполняется apt-cache --no-generate pkgnames

source|build-dep|showsrc|policy)

выполняются apt-cache --no-generate pkgnames

и apt-cache dumpavail

edit-sources

через ls $sourcesdir

moo

через moo.

##############################

В Linux Mint свой APT, который представляет из себя питоновский скрипт.

Дебиано-Убунтовский APT там тоже присутствует. Отличие в том, что для

Linux Mint-овского APT-а запускается скрипт из файла /usr/local/bin/apt, а

для Дебиано-Убунтовского APT-а запускается двоичный файл /usr/bin/apt.

П сути Linux Mint-овский APT, как и весь Linux Mint, представляет из себя

матрёшку, которая вставлена в Дебиано-Убунтовский APT; при этом питоновский скрипт позволяет задействовать другие APT-оподобные команды там, где это даёт лучший резльтат.

Вывод команды cat /usr/local/bin/apt в LinuxMint позволяет увидеть

каким образом команда APT задействует возможности других команд.

---------------------

#!/usr/bin/python3

Расшифровка подкоманд:

"apt"

"Usage: apt command [options]"

" apt help command [options]"

""

"Commands:"

" add-repository - Add entries to apt sources.list"

" autoclean - Erase old downloaded archive files"

" autopurge - Remove packages with their configuration files and automatically remove all unused packages"

" autoremove - Remove automatically all unused packages"

" build - Build binary or source packages from sources"

" build-dep - Configure build-dependencies for source packages"

" changelog - View a package's changelog"

" check - Verify that there are no broken dependencies"

" clean - Erase downloaded archive files"

" contains - List packages containing a file"

" content - List files contained in a package"

" deb - Install a .deb package"

" depends - Show raw dependency information for a package"

" dist-upgrade - Upgrade the system by removing/installing/upgrading packages"

" download - Download the .deb file for a package"

" edit-sources - Edit /etc/apt/sources.list with your preferred text editor"

" dselect-upgrade - Follow dselect selections"

" full-upgrade - Same as 'dist-upgrade'"

" held - List all held packages"

" help - Show help for a command"

" hold - Hold a package"

" install - Install/upgrade packages"

" list - List packages based on package names"

" policy - Show policy settings"

" purge - Remove packages and their configuration files"

" recommends - List missing recommended packages for a particular package"

" rdepends - Show reverse dependency information for a package"

" reinstall - Download and (possibly reinstall a currently installed package"

" remove - Remove packages"

" search - Search for a package by name and/or expression"

" show - Display detailed information about a package"

" showhold - Same as 'held'"

" showsrc - Display all the source package records that match the given package name"

" source - Download source archives"

" sources - Same as 'edit-sources'"

" unhold - Unhold a package"

" update - Download lists of new/upgradable packages"

" upgrade - Perform a safe upgrade"

" version - Show the installed version of a package"

""

Синонимы:

"dist-upgrade": "full-upgrade",

"sources": "edit-sources",

"held": "showhold"

Для подкоманд "install", "remove", "update", "clean"

указание на "-" означает команду = ""

* Здесь "минус" после имени пакета означает "удалить"

*Знак "-" означает стандартный ввод/вывод(можно заменить на /dev/stdin или /dev/stdout).

*Знак "-" означает "все" после list, search.

Первичный экран: 24×80

Подкоманда "help": вызывает help(справку).

Возможно задание псевдонимов с ключами(aliases.keys):

вызываются соответствкющие псевдонимы (aliases).

*Ниже в Записи вида = ["some-subcommand", argcommand] + argoptions;

argcommand переводится как "подкоманда",

argoptions переводится как "дополнения".

При вызове подкоманд ("autoremove", "list", "show", "install", "remove", "purge", "update", "upgrade", "full-upgrade", "edit-sources", "showsrc", "autopurge"):

вызывается команда # apt - дебиановский APT.

= ["/usr/bin/apt", подкоманда] + дополнения

При вызове подкоманд ("clean", "dselect-upgrade", "build-dep", "check", "autoclean", "source", "moo"):

вызывается команда # apt-get

= ["apt-get", подкоманда] + дополнения

При вызове подкоманды ("reinstall", ):

вызывается команда # aptitude

= ["aptitude", подкоманда] + дополнения

При вызове подкоманд ("stats", "depends", "rdepends", "policy"):

вызывается команда # apt-cache

= ["apt-cache", подкоманда] + дополнения

При вызове подкоманды ("changelog", ):

при наличии минтовского скрипта ("/usr/lib/python3/dist-packages/mintcommon/apt_changelog.py"):

исполняется этот скрипт = ["/usr/lib/python3/dist-packages/mintcommon/apt_changelog.py"] + дополнения

либо команда:

= ["aptitude", подкоманда] + дополнения

При вызове подкоманды ("recommends", ):

вызывается минтовский скрипт = ["/usr/lib/linuxmint/mintsystem/mint-apt-recommends.py"] + дополнения

При вызове подкоманд ("showhold", "hold", "unhold"):

вызывается команда # apt-mark

= ["apt-mark", подкоманда] + дополнения

При вызове подкоманд ("markauto", "markmanual"):

вызывается команда # apt-mark

= ["apt-mark", подкоманда[4:]] + дополнения

Если же подкоманда == "contains":

= ["dpkg", "-S"] + дополнения

Если же подкоманда == "content":

= ["dpkg", "-L"] + дополнения

Если же подкоманда == "deb":

= ["dpkg", "-i"] + дополнения

Если же подкоманда == "build":

= ["dpkg-buildpackage"] + дополнения

Если же подкоманда == "version":

= ["dpkg-buildpackage"] + дополнения

с перебором:

version = ("dpkg-query -f '${Version}' -W %s 2>/dev/null" % shlex.quote(" ".join(дополнения)), shell=True).decode("UTF-8")

печать(version)

если же нет:

печать ("")

выход

Если же подкоманда == "download":

вызывается минтовский скрипт = ["/usr/lib/linuxmint/mintsystem/mint-apt-download.py"] + дополнения

Если же подкоманда == "add-repository":

= ["add-apt-repository"] + дополнения

Если же подкоманда == "search":

= ["aptitude", "-w", столбцы(columns), подкоманда] + дополнения

иначе:

применение()

выход(1)

# Как набирается Sudo

При вызове подкоманд ("autoremove", "install", "remove", "purge", "update", "upgrade", "full-upgrade", "edit-sources", "clean", "dselect-upgrade", "build-dep", "check", "autoclean", "reinstall", "deb", "hold", "unhold", "add-repository", "markauto", "markmanual", "autopurge"):

набирается = ["sudo"] + command

# Подсветка цветом (Color highlighting)

При вызове подкоманд ("content", "version", "policy", "depends", "rdepends", "search") и далее(дополнения) >= 1:

подсветка(highlight) = True

# Упорядочивание(Sorting)

При вызове подкоманд ("content", "contains"):

упорядочивать(sort) = True

При показе справки (help):

вывод ("\"apt " + подкоманда + " " + " "(дополнения) + "\" равносильно \"" + " "(команда) + "\"")

иначе:

применение:

упорядочивание(sort) и подсветка(highlight).