Утилита apt-get — функциональное бесплатное приложение командной строки для управления пакетами, используемое для работы с библиотекой Ubuntu APT (Advanced Packaging Tool) и выполнения установки новых пакетов, удаления пакетов, обновления пакетов и даже всей операционной системы.
Утилита командной строки apt-cache используется для работы с кэшем пакетов APT. Говоря простыми словами, этот инструмент используется для поиска программных пакетов, собирает информацию о пакетах, а также применяется для поиска доступных к установке пакетов в системах Ubuntu и Debian.
В данном руководстве мы рассмотрим важнейшие команды, необходимые для работы с этими утилитами.
- Вывод списка доступных пакетов
- Поиск имени пакета и описания программы
- Просмотр информации о пакете
- Определение зависимостей пакета
- Просмотр статистики кэша
- Обновление индекса пакетов
- Обновление программных пакетов
- Установка или обновление конкретных пакетов
- Установка пакетов без обновления
- Обновление пакетов без установки
- Установка заданной версии пакета
- Удаление пакетов
- Очистка дискового пространства
- Загрузка только исходного кода пакетов
- Загрузка пакетов с распаковкой и компиляцией
- Загрузка пакета без установки
- Просмотр лога изменений пакета
- Проверка нарушенных зависимостей
- Автоматическая очистка кэша apt-get
- Автоматическое удаление установленных пакетов
- Заключение
Вывод списка доступных пакетов
Для получения списка всех доступных пакетов воспользуйтесь следующей командой:
$ apt-cache pkgnames
Поиск имени пакета и описания программы
Чтобы перед установкой получить имя пакета и описание, воспользуйтесь опцией search. Выполнение команды с этой опцией выводит список соответствующих запросу пакетов с краткими описаниями. Допустим, нам нужно найти описание пакета vsftpd, команда будет выглядеть следующим образом:
$ apt-cache search vsftpd
Чтобы найти все пакеты, имя которых начинается на vsftpd, можно выполнить следующую команду:
$ apt-cache pkgnames vsftpd
Просмотр информации о пакете
Чтобы получить информацию о пакете и его краткую характеристику (номер версии, контрольные суммы, размер, размер после установки, категорию и т.д.), используется опция show:
$ apt-cache show netcat
Определение зависимостей пакета
Для проверки зависимостей заданных программных пакетов используется команда showpkg с именем пакета в качестве аргумента:
$ apt-cache showpkg vsftpd
Просмотр статистики кэша
Для вывода общей статистики кэша (количество пакетов, версий, зависимостей, описаний и т.д.) используется команда stats:
$ apt-cache stats
Обновление индекса пакетов
Для синхронизации индексных файлов пакетов с их источниками, указанными в файле /etc/apt/sources.list, используется команда update. Она обновляет список пакетов и их версий, но не сами пакеты.
$ sudo apt-get update
Обновление программных пакетов
Для обновления всех установленных в системе пакетов используется команда upgrade. Она никогда не удаляет установленные пакеты, не получает и не устанавливает новые пакеты, но это может потребоваться для обновления зависимостей.
$ sudo apt-get upgrade
Если вам требуется обновление со всеми зависимостями и не важно, будут ли при этом добавлены или удалены программные пакеты, воспользуйтесь командой dist-upgrade:
$ sudo apt-get dist-upgrade
Установка или обновление конкретных пакетов
Чтобы установить или обновить заданные пакеты, выполните команду install с именем одного или нескольких пакетов в качестве аргумента:
$ sudo apt-get install netcat
Следующая команда установит или обновит пакеты nethogs и goaccess:
$ sudo apt-get install nethogs goaccess
Можно воспользоваться регулярным выражением, чтобы одной строкой задать маску для установки нескольких пакетов. Например, следующая команда установит все пакеты, содержащие ‘name’:
$ sudo apt-get install '*name*'
Установка пакетов без обновления
Использование команды install с опцией —no-upgrade исключает обновление уже установленных пакетов:
$ sudo apt-get install packageName --no-upgrade
Обновление пакетов без установки
Опция —only-upgrade позволяет не устанавливать новые пакеты, а только обновить уже имеющиеся:
$ sudo apt-get install vsftpd --only-upgrade
Установка заданной версии пакета
Для установки только заданной версии пакетов используйте ‘=’ и укажите номер нужной версии:
$ sudo apt-get install vsftpd=2.3.5-3ubuntu1
Удаление пакетов
Для удаления программных пакетов без удаления их файлов конфигурации (для их повторного использования в будущем) применяется команда remove:
$ sudo apt-get remove vsftpd
Чтобы полностью удалить пакеты вместе с файлами конфигурации, воспользуйтесь командой purge:
$ sudo apt-get purge vsftpd
Аналогичного результата можно достичь, если указать —purge в качестве опции к команде remove:
$ sudo apt-get remove --purge vsftpd
Очистка дискового пространства
Команда clean используется для очистки диска за счёт стирания загруженных пакетов из локального репозитория:
$ sudo apt-get clean
Загрузка только исходного кода пакетов
Чтобы загрузить только исходный код заданного пакета, нужно воспользоваться опцией —download-only source с именем пакета:
$ sudo apt-get --download-only source vsftpd
Загрузка пакетов с распаковкой и компиляцией
Для загрузки и распаковки исходного кода пакета в соответствующую директорию выполните команду source:
$ sudo apt-get source vsftpd
Если требуется ещё и компиляция исходного кода, укажите опцию —compile:
$ sudo apt-get --compile source goaccess
Загрузка пакета без установки
При помощи опции download можно загрузить любой пакет не устанавливая его. Например, следующая команда загрузит пакет nethogs в текущую рабочую директорию:
$ sudo apt-get download nethogs
Просмотр лога изменений пакета
Флаг changelog загружает лог изменений пакета и показывает установленную версию пакета
$ sudo apt-get changelog vsftpd
Проверка нарушенных зависимостей
Команда check — инструмент для диагностики. Она используется для обновления кэша пакетов и проверки нарушенных зависимостей:
$ sudo apt-get check
Поиск и построение зависимостей
Команда build-dep выполняет поиск по локальным репозиториям системы и устанавливает необходимые пакеты, чтобы корректно выстроить зависимости для указанного пакета. Если необходимый пакет отсутствует в локальных репозиториях, команда возвращает ошибку.
$ sudo apt-get build-dep netcat
Автоматическая очистка кэша apt-get
Команда autoclean удаляет все .deb файлы пакетов из директории /var/cache/apt/archives для освобождения значительного объема дискового пространства:
$ sudo apt-get autoclean
Автоматическое удаление установленных пакетов
Команда autoremove используется для автоматического удаления пакетов, которые точно были установлены для обеспечения зависимостей других пакетов, но больше не нужны. Например, следующая команда удалит установленный пакет со всеми зависимостями:
$ sudo apt-get autoremove vsftpd
Заключение
Мы рассмотрели большинство опций команд apt-get и apt-cache, но если потребуется информация о других опциях, ее можно получить в соответствующих man-страницах.