Это краткое руководство расскажет Вам о том, как работать с пакетами программного обеспечения в дистрибутивах Linux на базе Debian / Ubuntu. Вы научитесь использовать команды apt-get и apt-cache для выполнения следующих операций с пакетами:
- поиска;
- установки;
- обновления;
- удаления.
Давайте приступим к рассмотрению возможностей этого простого и удобного инструмента системного администрирования.
Содержание:
-
- Что такое apt-get
- Что такое apt-cache
- Топ-5 полезных базовых примеров использования команды apt-cache
- Топ-20 полезных базовых примеров использования команды apt-get для управления пакетами
- Как обновить системные пакеты
- Как обновить пакеты программного обеспечения
- Как установить или обновить конкретные пакеты
- Как установить несколько пакетов одновременно
- Как установить несколько пакетов с помощью шаблонной маски
- Как установить пакеты без их обновления
- Как не устанавливать, а только обновить пакеты
- Как установить конкретную версию пакета
- Как удалить пакет без очистки его настроек
- Как полностью удалить пакет
- Как я могу освободить дисковое пространство
- Как загрузить только исходный код пакета
- Как загрузить и распаковать пакет
- Как загрузить, распаковать и скомпилировать пакет
- Как загрузить и не устанавливать пакеты
- Как проверить журнал изменения пакетов
- Как выполнить поиск неисправностей
- Как искать и строить зависимости
- Как быстро очистить apt-get cache
- Как автоматически удалить установленные пакеты
- Выводы
Что такое apt-get
Итак, apt-get — это бесплатная утилита командной строки, предназначенная для управления пакетами. Она связана с с библиотекой программного обеспечения APT (Advanced Packaging Tool). Дистрибутив Ubuntu как использует ее в качестве основного источника ПО для обеспечения потребностей операционной системы.
Важно: в последних версиях дистрибутива Ubuntu вместо apt-get можно использовать сокращенную команду apt.
Что такое apt-cache
Не менее часто используется apt-cache. Это утилита командной строки, предназначенная для поиска в кэше утилиты apt. В дистрибутивах Линукс (системах на основе Debian / Ubuntu) она применяется для обнаружения пакетов, готовых к установке, а также — с целью сбора данных о пакетах программного обеспечения.
Топ-5 полезных базовых примеров использования команды apt-cache
Давайте рассмотрим пять элементарных и при этом полезных примеров использования команды apt-cache.
Как просмотреть все доступные пакеты
Следующая команда поможет Вам увидеть все пакеты, которые доступны для установки:
В результате вывод команды будет выглядеть как список:
Как узнать имя пакета и описание программного обеспечения
В утилите предусмотрена возможность узнать имя пакета — для этого предназначена опция search
. При ее использовании Вы увидите список пакетов ПО, каждый из пунктов которого дополнен кратким описанием. К примеру, так будет выглядеть команда, если использовать в качестве аргумента vsftpd
:
Тогда как результат поиска с описанием будет выглядеть так:
Скорее всего, вам может понадобиться список всех пакетов, начинающихся с определенной комбинации символов. На примере vsftpd ввод будет выглядеть так:
И тогда утилита найдет для Вас пакет vsftpd:
Как посмотреть информацию о пакете
Предположим, что Вас интересует следующая информация о выбранном пакете:
- номер версии;
- размер;
- зависимости;
- хэш.
Тогда следует воспользоваться опцией show
:
В результате, если использовать как пример netcat, Вы увидите следующие данные:
Как проверить зависимости для конкретных пакетов
Зависимости пакета — это другие пакеты, обязательные для его работы. Чтобы просмотреть список зависимостей выбранного пакета — воспользуйтесь опцией showpkg
. Для примера снова используем пакет vsftpd:
В результате утилита покажет все известные зависимости ПО и отобразит их статус (установлены или нет):
Как проверить статистику кэша
Также Вам может пригодиться опция stats
, которая показывает статистику о кэше. Она позволяет увидеть итоговые имена пакетов — список всего, что найдено в кэше:
В результате статистика кэша будет выглядеть примерно так:
Топ-20 полезных базовых примеров использования команды apt-get для управления пакетами
Скорее всего, наиболее часто Вы будете использовать команду apt-get
(или ее укороченный вариант — apt
). Потому давайте рассмотрим двадцать полезных примеров ее использования.
Как обновить системные пакеты
Специально для повторной синхронизации кэша пакетов с источниками предназначена опция update
(список источников хранится в файле /etc/apt/sources.list
). После ее использования команда скачает кэш из соответствующих репозиториев и обновит версии пакетов. Пример ввода будет выглядеть так:
В результате Вы должны увидеть в выводе отчет о синхронизации кэша:
Как обновить пакеты программного обеспечения
Самый востребованный вариант использования команды — обновление установленного программного обеспечения. И для этой цели нужно воспользоваться опцией upgrade
.
Важно: опция не удаляет уже установленные в операционной системе пакеты. Также не скачиваются и не устанавливаются ранее отсутствующие в ОС пакеты, являющиеся зависимостями установленных программ.
Ввод будет выглядеть следующим образом:
В результате Вы должны увидеть примерно следующий отчет о процессе обновления пакетов:
Вам может понадобиться обновление пакетов с соблюдением всех зависимостей и разрешением конфликтом между пакетами (за счет удаления ПО с низким приоритетом). Специально на такой случай была предусмотрена опция dist-upgrade
. Ее использование будет выглядеть следующим образом:
Как установить или обновить конкретные пакеты
Самый простой и часто используемый вариант применения команды — это установка ПО. Для этого воспользуйтесь опцией install
и в качестве примера снова попробуйте netcat:
В результате Вы должны увидеть в командной строке Linux отчет об установке пакета netcat:
Как установить несколько пакетов одновременно
Но кто в наше время устанавливает пакеты программного обеспечения по одному? Вероятно Вам нужно будет устанавливать сразу несколько утилит — и это реально сделать все с той же опцией install
. Просто напишите названия через пробел — мы решили взять для примера пакеты nethogs и goaccess:
В результате в терминале Вы увидите отчет об успешной установке обоих пакетов — и nethogs, и goaccess:
Как установить несколько пакетов с помощью шаблонной маски
Конечно же, предыдущий метод хорош только в том случае, если пакетов, подлежащих установке, несколько. Однако прописывать вручную много имен пакетов в команде может быть утомительно. И особенно нерационально использовать данный метод, если в названиях утилит есть общее слово или сочетание символов. Чтобы установить все программы, соответствующие заданному запросу, просто воспользуйтесь метасимволом «*», выделив ими шаблонную маску (регулярное выражение):
Как установить пакеты без их обновления
Возможно, при установке ПО Вам не захочется обновлять все пакеты. Например, потому что их старые и проверенные версии лучше подходят для Вашей работы. Специально на такой случай предусмотрена опция --no-upgrade
:
В результате будет отображен процесс установки пакета packageName без обновления уже установленных пакетов:
Как не устанавливать, а только обновить пакеты
Возможна и обратная ситуация — когда Вам нужно будет лишь обновить установленные пакеты. Для этого предусмотрена опция --only-upgrade
:
В результате в командной строке будет отображен отчет о процессе обновления пакетов без установки самого ПО:
Как установить конкретную версию пакета
Также часто возникает необходимость в установке определенной версии выбранного пакета. Сделать это совсем просто — добавьте после имени пакета символ «=» (знак равенства) и укажите после него желаемую версию:
В результате в командной строке будет отображен отчет о процессе установки пакета с указанной Вами версией:
Как удалить пакет без очистки его настроек
Предположим, что Вы хотите удалить тот или иной пакет программного обеспечения. Однако предполагаете, что в будущем будете использовать его снова и не хотите терять актуальные файлы настроек. Самый удобный способ сделать это — опция remove
:
В результате утилита покажет отчет об удалении ПО:
Как полностью удалить пакет
С другой стороны, некоторые пакеты Вы будете удалять раз и навсегда, а потому нет смысла засорять память компьютера лишними файлами настроек. На такой случай есть соответствующая опция команды — purge
:
В результате Вы должны увидеть в терминале отчет о процессе полного удаления пакета:
Кроме того, существует возможность объединить предыдущую remove
с опцией --purge
:
В результате в консоли Линукс будет отображен процесс полного удаления пакета:
Как освободить дисковое пространство
Рано или поздно станет актуальной проблема освобождения дискового пространства. Сделать это поможет очистка извлеченных / загруженных файлов (пакетов) .deb из локального репозитория. Для этого предназначена отдельная опция — clean
:
Как загрузить только исходный код пакета
Также опытные пользователи могут захотеть загрузить лишь исходный код указанного пакета. Для решения подобной задачи используется опция –download-only source
. Давайте попробуем ввести следующую команда, для примера снова взяв пакет vsftpd:
В командной строке будет отображен отчет о результатах загрузки исходного кода пакета vsftpd:
Как загрузить и распаковать пакет
Вам может потребоваться загрузить и распаковать исходный код ПО в указанный каталог. Для решения такой задачи введите следующую команду с опцией source
:
В результате отчет о загрузке и распаковке должен выглядеть следующим образом:
Как загрузить, распаковать и скомпилировать пакет
Существует возможность скачать, распаковать и скомпилировать исходный код пакета. Для этого есть отдельная опция — --compile
. Давайте попробуем использовать ее, в качестве примера взяв утилиту goaccess:
В результате в консоли Вы должны увидеть отчет о процессе компиляции goaccess:
Как загрузить и не устанавливать пакеты
Предположим, что Вы желаете загрузить, но не устанавливать тот или иной набор ПО. Безусловно, и такая возможность была предусмотрена создателями менеджера apt-get. Просто воспользуйтесь опцией download
. Давайте используем ее для скачивания nethogs в текущий рабочий каталог:
В результате отчет в консоли будет показывать, что пакет nethogs просто скачан и не установлен:
Как проверить журнал изменения пакетов
Довольно часто Вам придется сверять версии пакетов, установленных в ОС, а также искать те из них, которые изменились. Для этой цели предусмотрена опция changelog
, которая загружает журнал изменений пакетов и показывает их установленные версии:
В результате Вы должны увидеть в выводе консоли процесс загрузки журнала изменений:
Как выполнить поиск неисправностей
Бывает и так, что некоторые пакеты работают некорректно. Однако и на такой случай есть отдельная опция утилиты — check
. Давайте попробуем с ее помощью провести диагностику — обновить кэш пакетов и проверить их на наличие неполадок:
В результате будет отображен отчет о процессе поиска неисправностей:
Как искать и строить зависимости
Полезной для Вас может оказаться опция build-dep
, которая примечательна тем, что выполняет поиск локальных репозиториев в системе и устанавливает все зависимости пакета. Однако в том случае, если пакет отсутствует в локальном репозитории — будет выведен код ошибки. Попробуем использовать опцию, снова взяв в качестве примера netcat:
В результате в выводе утилиты будет отображен процесс поиска зависимостей для пакета netcat:
Как быстро очистить apt-get cache
В работе с Linux может возникнуть потребность в очистке кэша. На такой случай предусмотрена опция autoclean
, которая очищает содержимое каталога /var/cache/apt/archives
(все файлы .deb) и позволяет освободить занятое ими дисковое пространство.
Пример ввода будет выглядеть следующим образом:
В результате Вы должны увидеть отчет о процессе очистки загруженных пакетов:
Как автоматически удалить установленные пакеты
После удаления некоторых пакетов в системе могут остаться их зависимости. Безусловно, многие из них без основного пакета больше не нужны Вашему дистрибутиву. Однако они занимают дисковое пространство без какой-либо пользы. Конечно же, вам не придется искать такие пакеты вручную — лучше воспользуйтесь опцией autoremove
:
В результате утилита выведет в командную строку отчет об удалении пакета vsftpd со всеми зависимостями:
Выводы
Мы рассмотрели большинство доступных опций с командами apt-get и apt-cache, но это далеко не все из них. Согласитесь, работать с этими командами оказалось довольно просто. Вы можете ознакомится с остальными опциями воспользовавшись страницами man: man apt-get или man apt-cache.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
6 комментариев. Оставить новый
Можно ли сделать откат последних обновлений,если они вызвали нежелателmные последствия в работе системы? Linux mint 18.1.
Честно — я не знаю как откатить обновления «назад», разве что удалить пакет руками и руками поставить старую версию, но оно потом будет все равно хотеть обновиться. Я вообще сижу на старой проверенной убунте 14.04 и совсем не спешу переходить на что-то новое. Глюки есть — они известные и понятно как их обходить.
Можно ли отменить art-get upgrate до перезагрузки системы? Не сделал бэкап.
Как установить все пакеты по маске, кроме конкретного?
Ну прям все расписали. Кроме одного. Как узнать наличие пакета в репозитории. Просто наличие или отсутствие, без надобности его установки?
Вы не внимательно читали статью. Вот ответ: Как узнать имя пакета и описание программного обеспечения.