20 полезных команд apt-get и 5 удобных команд apt-cache для управления пакетами

20 полезных команд apt-get и 5 удобных команд apt-cache для управления пакетами

Это краткое руководство расскажет вам о том, как работать с пакетами программного обеспечения в дистрибутивах Linux на базе Debian / Ubuntu. Вы научитесь использовать команды apt-get и apt-cache для выполнения следующих операций с пакетами:

  • поиска;
  • установки;
  • обновления;
  • удаления.

Давайте приступим к рассмотрению возможностей этого простого и удобного инструмента системного администрирования.

Содержание:

    1. Что такое apt-get
    2. Что такое apt-cache
    3. Топ-5 полезных базовых примеров использования команды apt-cache
      1. Как просмотреть все доступные пакеты
      2. Как узнать имя пакета и описание программного обеспечения
      3. Как посмотреть информацию о пакете
      4. Как проверить зависимости для конкретных пакетов
      5. Как проверить статистику кеша
    4. Топ-20 полезных базовых примеров использования команды apt-get для управления пакетами
      1. Как обновить системные пакеты
      2. Как обновить пакеты программного обеспечения
      3. Как установить или обновить конкретные пакеты
      4. Как установить несколько пакетов одновременно
      5. Как установить несколько пакетов с помощью шаблонной маски
      6. Как установить пакеты без их обновления
      7. Как не устанавливать, а только обновить пакеты
      8. Как установить конкретную версию пакета
      9. Как удалить пакет без очистки его настроек
      10. Как полностью удалить пакет
      11. Как я могу освободить дисковое пространство
      12. Как загрузить только исходный код пакета
      13. Как загрузить и распаковать пакет
      14. Как загрузить, распаковать и скомпилировать пакет
      15. Как загрузить и не устанавливать пакеты
      16. Как проверить журнал изменения пакетов
      17. Как выполнить поиск неисправностей
      18. Как искать и строить зависимости
      19. Как быстро очистить apt-get cache
      20. Как автоматически удалить установленные пакеты
    5. Выводы

Что такое 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 с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

6 комментариев. Оставить новый

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню