Поиск по сайту:

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


Стоит ли использовать apt или apt-get в Linux?

Ключевые выводы

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

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

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

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

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

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

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

Установка программного обеспечения из файла 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.

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

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

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

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

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

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

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

Установка приложения с помощью Apt

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

apt search scribus-desktop

Этот поиск ничего не нашел. Мы попробуем еще раз, используя более короткий и общий ключ к поиску.

apt search scribus

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

apt show scribus

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

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

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

sudo apt install scribus

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

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

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

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

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

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

apt list --installed

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

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

apt list --upgradeable

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

sudo apt edit-sources

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

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

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

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

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

Статьи по данной тематике: