linux:apt
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| linux:apt [2026/07/01 12:10] – [Расширенный поиск] so_v_a | linux:apt [2026/10/08 17:53] (текущий) – so_v_a | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | < | ||
| + | |||
| # Advanced Package Tool (APT) | # Advanced Package Tool (APT) | ||
| - | Advanced Package Tool (**APT**) — набор программ для установки, | + | **Advanced Package Tool** (**APT**) — набор программ для установки, |
| APT может автоматически устанавливать и настраивать программы для UNIX-подобных операционных систем как из предварительно откомпилированных пакетов, | APT может автоматически устанавливать и настраивать программы для UNIX-подобных операционных систем как из предварительно откомпилированных пакетов, | ||
| Пакеты берутся из интернет-репозиториев, | Пакеты берутся из интернет-репозиториев, | ||
| - | Для своей работы **APT** в качестве бэкенда использует утилиту [[https:// | + | Для своей работы **APT** в качестве бэкенда использует утилиту [dpkg](https:// |
| Таким образом, | Таким образом, | ||
| * Установка/ | * Установка/ | ||
| * Обновление системы и отдельных пакетов | * Обновление системы и отдельных пакетов | ||
| - | * Поиск и анализ доступного ПО | + | * Поиск и анализ доступного |
| + | ПО | ||
| . | . | ||
| ## Команды для основных действий с программными пакетами | ## Команды для основных действий с программными пакетами | ||
| Строка 22: | Строка 25: | ||
| |< 100% 20% 80% >| | |< 100% 20% 80% >| | ||
| - | ^Команда | + | |Команда |
| + | |: | ||
| |apt update |Обновление баз данных пакетов (указанных в `/ | |apt update |Обновление баз данных пакетов (указанных в `/ | ||
| |apt upgrade |Обновление системы| | |apt upgrade |Обновление системы| | ||
| Строка 37: | Строка 41: | ||
| |apt full-upgrade |Переход от одной основной версии дистрибутива к следующей| | |apt full-upgrade |Переход от одной основной версии дистрибутива к следующей| | ||
| . | . | ||
| + | |||
| ### Вывод списка пакетов | ### Вывод списка пакетов | ||
| Строка 45: | Строка 50: | ||
| используется для вывода списка пакетов соответствующих заданному критерию. | используется для вывода списка пакетов соответствующих заданному критерию. | ||
| - | ^Команда | + | |Команда |
| + | |: | ||
| |apt list -\-installed |Вывести список установленных в системе пакетов | | |apt list -\-installed |Вывести список установленных в системе пакетов | | ||
| |apt list -\-upgradable |Вывести список пакетов, | |apt list -\-upgradable |Вывести список пакетов, | ||
| Строка 59: | Строка 65: | ||
| ``` | ``` | ||
| . | . | ||
| + | |||
| ### Расширенный поиск | ### Расширенный поиск | ||
| Строка 74: | Строка 81: | ||
| Для уточнения результатов поиска можно использовать командные опции, а так же регулярные выражения и подстановочные знаки. | Для уточнения результатов поиска можно использовать командные опции, а так же регулярные выражения и подстановочные знаки. | ||
| - | |||
| Строка 83: | Строка 89: | ||
| * **--show-types** - добавляет к выводу информацию о типе каждого пакета (например, | * **--show-types** - добавляет к выводу информацию о типе каждого пакета (например, | ||
| - | Регулярные выражения напрямую использовать в `apt search` нельзя т.к. эта команда ищет только по подстрокам (в имени и описании пакета).\\ | + | Регулярные выражения |
| - | Например при выполнении команды `apt search libssl*` — shell сначала раскроет libssl* в список файлов/ | + | Например при выполнении команды `apt search libssl*` — shell сначала раскроет libssl* в список файлов/ |
| Команда `apt search` ожидает обычный текст или регулярное выражение (зависит от версии и реализации), | Команда `apt search` ожидает обычный текст или регулярное выражение (зависит от версии и реализации), | ||
| - | Метасимволы для регулярных выражений: | + | #### Способы применяемые для поиска с использованием регулярных выражений |
| - | ^Символ ^Описание | + | |
| - | | **^** |Начало строки | + | Так как `apt search` не поддерживает регулярные выражения и специальные метасимволы |
| - | | **$** |Конец строки | + | |
| - | | **.** |Любой символ | + | **Способ 1**: применение `apt search --names-only` и `grep` |
| - | | ** * ** |Нулевая или более количество символов | + | |
| - | | **?** |Один символ | + | В этом способе сначала производится сужение поиска до имён пакетов, |
| - | | **()** | + | |
| - | | **?** |Отрицательная группа | | + | Пример: |
| + | ```bash | ||
| + | apt search --names-only . | grep -E '^lib.*dev$' | ||
| + | ``` | ||
| + | здесь | ||
| + | | ||
| + | * **grep -E** включает расширенные регулярные выражения (Extended Regular Expressions). Без **-E** многие спецсимволы (вроде +, ?, ()) работали бы буквально, | ||
| + | |||
| + | В результате | ||
| + | |||
| + | **Способ 2**: применение `apt-cache` + `grep` | ||
| + | |||
| + | Применение `apt-cache search` даёт | ||
| + | |||
| + | Применение: | ||
| + | ```bash | ||
| + | apt-cache search ' | ||
| + | ``` | ||
| + | здесь | ||
| + | | ||
| + | * **grep -E** производит фильтрацию по **_регулярному выражению_** | ||
| + | |||
| + | Разбор _**регулярного выражения**_ из примера выше: | ||
| + | * **^** — якорь «начало строки». Гарантирует, | ||
| + | * **lib** — буквально текст «lib». | ||
| + | * **[a-z]+** — одна | ||
| + | * **(-[a-z]+)?** — необязательная группа: | ||
| + | * **(** и **)** — группируют часть выражения. | ||
| + | * **-[a-z]+** — дефис и затем одна или более | ||
| + | * **?** — означает «0 или 1 раз»: эта часть может быть, а может и не быть. | ||
| + | * **-dev** — буквально «-dev» в конце имени пакета. | ||
| + | |||
| + | То есть шаблон ищет пакеты вида **lib< | ||
| + | |||
| + | Примеры имен подходящих под шаблон: | ||
| + | * **libpng-dev** → lib + png + (нет промежуточной части) + -dev | ||
| + | | ||
| + | Пример неподходящего имени: | ||
| + | * **libxml2-dev** не подойдёт, | ||
| + | |||
| + | < | ||
| + | ```bash | ||
| + | # Правильно | ||
| + | grep -E ' | ||
| + | |||
| + | # Может сломаться, | ||
| + | grep -E ^foo.*bar | ||
| + | ``` | ||
| + | </ | ||
| + | |||
| + | Метасимволы используемые в регулярных | ||
| + | |||
| + | |Символ |Описание | | ||
| + | |:---:|:---| | ||
| + | | **^** |начало строки (имени пакета) | | ||
| + | | **$** |конец строки | | ||
| + | | **.** |любой символ | | ||
| + | | **[abc]**, **[^abc]** |набор/ | ||
| + | | ** * ** |0 и более повторений | | ||
| + | | **+** |1 и более повторений | | ||
| + | | **?** |0 или 1 вхождение | | ||
| + | | **(**...**)** |группировка | | ||
| + | | **|** |логическое ИЛИ | | ||
| + | . | ||
| Строка 101: | Строка 170: | ||
| Существуют программы предоставляющие | Существуют программы предоставляющие | ||
| - | * [[https:// | + | * [Synaptic](https:// |
| - | * [[https:// | + | * [PackageKit](https:// |
| - | * [[https:// | + | * [Aptitude](https:// |
| + | |||
| + | |||
| + | ## Полное руководство по команде apt в Linux | ||
| + | |||
| + | Можно посмотреть [здесь](https:// | ||
/var/www/html/dokuwiki/data/attic/linux/apt.1782907855.txt.gz · Последнее изменение: — so_v_a
