Это краткое руководство расскажет вам о том, как работать с пакетами программного обеспечения в дистрибутивах 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 до перезагрузки системы? Не сделал бэкап.
Как установить все пакеты по маске, кроме конкретного?
Ну прям все расписали. Кроме одного. Как узнать наличие пакета в репозитории. Просто наличие или отсутствие, без надобности его установки?
Вы не внимательно читали статью. Вот ответ: Как узнать имя пакета и описание программного обеспечения.