apt против apt-get: в чем разница в Linux?
Опубликовано: 2022-06-16 Почему в дистрибутивах 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 имя_пакета : Установить пакет.
- 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
Тот поиск ничего не нашел. Мы попробуем еще раз с более коротким и общим поисковым ключом.
apt search scribus
Это возвращает несколько совпадений, и мы видим, что есть один, называемый «scribus», и что он, безусловно, выглядит так, как будто это основной пакет для настольного издательского приложения Scribus. Команда apt show
даст нам более подробную информацию.
меткое шоу
Получаем дамп информации о пакете, включая то, что будет установлено и описание софта.
Он также предлагает другие пакеты, которые могут потребоваться в зависимости от наших потребностей.
Чтобы установить пакет, нам нужно использовать sudo
.
sudo apt установить scribus
Файлы извлекаются из репозиториев. Извлекаемый в данный момент файл выделен коричневым цветом.
После извлечения файлов они устанавливаются. Ход установки отображается в процентах цифрами и в виде индикатора выполнения.
Другие команды
Команды apt list
и apt edit-sources
— это опции в apt
, которых нет в apt-get
.
Команду apt list
можно использовать с параметрами --installed
или --upgradeable
, чтобы увидеть, какие пакеты установлены на вашем компьютере и какие из них можно обновить.
Чтобы увидеть список приложений, установленных на вашем компьютере, используйте:
список подходящих --установлен
Прокручивая вывод, мы видим две записи для нашего недавно установленного приложения Scribus.
Чтобы узнать, можно ли обновить какое-либо из установленных приложений, используйте параметр --upgradeable
.
список подходящих --upgradeable
Команда apt
также предоставляет вам возможность редактировать информацию, хранящуюся в репозиториях. apt
ищет пакеты. Делайте это только в том случае, если вы знаете, что делаете.
sudo apt редактировать источники
Эта команда открывает редактор по умолчанию и загружает файл, содержащий информацию о репозитории.
Должен ли я использовать apt или apt-get?
Команда apt-get
не часто обновляется, и это хорошо. Он должен поддерживать обратную совместимость. Обратная совместимость не так важна для apt
. Это рассматривается и обрабатывается как пользовательская команда.
Для повседневного использования используйте apt
.
Если вы создаете сценарий, связанный с установкой пакета, используйте apt-get
. Это дает вам наилучшие шансы на переносимость и совместимость ваших сценариев.
СВЯЗАННЫЕ С: Руководство для начинающих по сценариям оболочки: основы