apt против apt-get: в чем разница в Linux?

Опубликовано: 2022-06-16
Терминал Linux на ноутбуке на красном фоне.
Фатмавати Ачмад Заэнури/Shutterstock

Почему в дистрибутивах Linux на основе Debian есть apt и apt-get ? Заменил ли apt apt-get или у них разные цели? Мы объясним взаимосвязь между этими двумя командами.

Система управления пакетами Debian

Основное усилие при создании дистрибутива Linux заключается в разработке и создании системы управления пакетами. Ваши пользователи должны иметь возможность устанавливать и удалять пакеты программного обеспечения. Это требует, чтобы программное обеспечение извлекало файлы пакета из вашего репозитория программного обеспечения и правильно устанавливало их на компьютеры пользователей.

Как установка программного обеспечения и менеджеры пакетов работают в Linux
СВЯЗАННЫЕ С Как установка программного обеспечения и менеджеры пакетов работают в Linux

Это не маленькое предприятие. Даже если оставить разработку программного обеспечения в стороне, размещение репозиториев программного обеспечения требует времени, усилий и затрат. Это одна из причин, по которой так много «новых» дистрибутивов Linux являются производными от существующего дистрибутива Linux.

Это приводит к семействам или генеалогиям дистрибутивов Linux, таких как дистрибутивы на основе Debian, дистрибутивы на основе Red Hat, дистрибутивы на основе Arch и так далее.

Семейство дистрибутивов Debian, включая Ubuntu и все дистрибутивы, производные от Ubuntu, используют диспетчер пакетов Debian. При этом используются файлы пакетов с расширением «.deb», называемые файлами DEB. Файлы DEB представляют собой сжатые файлы, содержащие другие архивные файлы. Архивные файлы содержат исполняемые файлы приложения, справочные страницы, библиотеки и т. д.

Как установить файл DEB в Linux
СВЯЗАННЫЕ Как установить файл DEB в Linux

Установка программного обеспечения из файла DEB означает распаковку всех этих файлов компонентов и размещение их в нужных местах на вашем компьютере. Это также требует взаимодействия с операционной системой и средой рабочего стола, чтобы приложение отображалось в результатах поиска приложений, а его значок можно было добавить в доки или системные меню.

Рекламное объявление

Обе команды apt-get и apt делают это. Но почему у нас есть две команды для одного и того же?

Цепочка команд

Пакет, который действительно выполняет установку, называется dpkg . На самом деле это семейство команд, включающее dpkg-split , dpkg-trigger и dpkg-divert . При необходимости они вызываются инструментами из набора Advanced Package Tool или APT. APT — это еще один набор инструментов, включая apt-get , apt-cache и apt .

Команда dpkg считается командой низкого уровня. Помимо простейших взаимодействий, это становится очень сложным с большим количеством вариантов. Команда apt-get действует как внешний интерфейс для набора команд dpkg . Это значительно упрощает дело. apt-get разработан как пользовательская команда, а не низкоуровневая фоновая команда. Тем не менее, несмотря на свою роль, ориентированную на человека, для отображения информации пользователю использовалась другая команда, называемая apt-cache .

Команда apt предоставляет еще один способ «общаться» с dpkg с помощью более доступного и удобного инструмента командной строки. Он предоставляет подмножество функций apt-get , но это большое подмножество, и оно предоставляет все часто используемые функции, а также включает функции из apt-cache .

Рекламное объявление

Linux Mint нуждается в особом упоминании. Сопровождающие Linux Mint разработали собственную версию apt , которая представляет собой оболочку Python для apt-get . Это не тот apt , о котором мы говорим здесь. Мы имеем в виду основной Debian apt , который был выпущен в 2014 году и привлек внимание и популярность среди пользователей, когда был включен в Ubuntu 16.04 в 2016 году.

Различия между apt и apt-get

Итак, dpkg — низкоуровневое фоновое приложение. Команда apt-get — это полнофункциональный, но упрощенный интерфейс к dpkg , а apt — более удобная, но слегка урезанная версия apt-get .

Как разрешить зависимости при компиляции программного обеспечения в Ubuntu
СВЯЗАННЫЕ С: Как разрешить зависимости при компиляции программного обеспечения в Ubuntu

Но apt-get и apt предоставляют больше, чем простой интерфейс для dpkg . Они делают то, чего не делает dpkg . Они извлекут файлы из репозиториев и попытаются помочь с отсутствующими зависимостями и конфликтами.

В свою очередь, команда apt делает то, чего не делает apt-get . Он предоставляет больше информации, которую среднестатистический пользователь хочет видеть во время установки, и скрывает часть малоизвестной информации, которую отображает apt-get . apt обеспечивает превосходную визуальную обратную связь и использует цветовые выделения и индикаторы выполнения в окне терминала.

Между apt и apt-get есть несколько общих команд. Всем этим командам может предшествовать apt или apt-get , и они будут вести себя одинаково:

  • install имя_пакета : Установить пакет.
  • remove packagename : удалить (удалить) пакет.
  • purge имя_пакета : удалить пакет и его файлы конфигурации.
  • update packagename : обновить информацию о репозитории.
  • update : обновить все пакеты.
  • autoremove : удалить библиотеки и другие пакеты, которые больше не требуются.

Параметр apt full-upgrade заменяет параметр apt-get dist-upgrade .

Это новые команды для apt :

  • apt search : Поиск имени пакета в репозиториях. Это то же самое, что apt-cache search
  • apt show : Показать информацию о пакете. Это то же самое, что и apt-cache show .
  • apt list option : показывает списки установленных или обновляемых пакетов.
  • apt edit-sources : напрямую редактирует список репозиториев, в которых apt ищет пакеты.

Установка приложения

Вы можете использовать apt search , чтобы узнать, существует ли пакет в репозиториях, или проверить правильность имени пакета. Допустим, вы хотите установить Scribus, но не знаете имя пакета. Вы можете попробовать найти scribus-desktop .

 apt search scribus-desktop 

Поиск в репозиториях пакета под названием scribus-desktop

Тот поиск ничего не нашел. Мы попробуем еще раз с более коротким и общим поисковым ключом.

 apt search scribus 

Поиск в репозиториях пакета под названием scribus

Рекламное объявление

Это возвращает несколько совпадений, и мы видим, что есть один, называемый «scribus», и что он, безусловно, выглядит так, как будто это основной пакет для настольного издательского приложения Scribus. Команда apt show даст нам более подробную информацию.

 меткое шоу 

Использование apt show, чтобы узнать больше о пакете scribus

Получаем дамп информации о пакете, включая то, что будет установлено и описание софта.

Информация о пакете scribus

Он также предлагает другие пакеты, которые могут потребоваться в зависимости от наших потребностей.

Чтобы установить пакет, нам нужно использовать sudo .

 sudo apt установить scribus 

Установка пакета scribus

Файлы извлекаются из репозиториев. Извлекаемый в данный момент файл выделен коричневым цветом.

Извлечение файла как часть установки пакета

После извлечения файлов они устанавливаются. Ход установки отображается в процентах цифрами и в виде индикатора выполнения.

Установка пакета с процентом и индикатором выполнения

Другие команды

Команды apt list и apt edit-sources — это опции в apt , которых нет в apt-get .

Рекламное объявление

Команду apt list можно использовать с параметрами --installed или --upgradeable , чтобы увидеть, какие пакеты установлены на вашем компьютере и какие из них можно обновить.

Чтобы увидеть список приложений, установленных на вашем компьютере, используйте:

 список подходящих --установлен 

Используйте apt для списка установленных приложений

Прокручивая вывод, мы видим две записи для нашего недавно установленного приложения Scribus.

Список установленных приложений

Чтобы узнать, можно ли обновить какое-либо из установленных приложений, используйте параметр --upgradeable .

 список подходящих --upgradeable 

Список приложений, которые можно обновить

Команда apt также предоставляет вам возможность редактировать информацию, хранящуюся в репозиториях. apt ищет пакеты. Делайте это только в том случае, если вы знаете, что делаете.

 sudo apt редактировать источники 

Отредактируйте информацию о репозитории с помощью apt

Рекламное объявление

Эта команда открывает редактор по умолчанию и загружает файл, содержащий информацию о репозитории.

Файл данных репозитория, открытый в редакторе nano

Должен ли я использовать apt или apt-get?

Команда apt-get не часто обновляется, и это хорошо. Он должен поддерживать обратную совместимость. Обратная совместимость не так важна для apt . Это рассматривается и обрабатывается как пользовательская команда.

Для повседневного использования используйте apt .

Если вы создаете сценарий, связанный с установкой пакета, используйте apt-get . Это дает вам наилучшие шансы на переносимость и совместимость ваших сценариев.

СВЯЗАННЫЕ С: Руководство для начинающих по сценариям оболочки: основы