В чем разница между apt и apt-get?


458

Я читал о новом необычном индикаторе прогресса, который был добавлен в apt1.0 в Softpedia, и о том, как включить его здесь . Однако при беге sudo apt-get updateя не видел причудливых индикаторов выполнения. При повторном прочтении второй ссылки решение явно требует использования sudo apt update.

Следовательно, мой вопрос заключается в разнице между aptи apt-get. Я думал, что они были одним и тем же.


1
AFAIK они доступны только в Trusty. Вот как их включить: askubuntu.com/questions/445245/…
Сет

8
учитывая, что комментарию @Seth уже почти 2 года, я подумал, что теперь добавлю, что он доступен, установлен и готов к использованию из коробки. Ничего не требуется, чтобы включить их, просто используйте aptвместо apt-get(я на 15.10)
Мадивад

Ответы:


400

Это очень похожие инструменты командной строки, доступные в Trusty. apt-getи apt-cacheнаиболее часто используемые команды доступны в apt.

apt-getможет рассматриваться как низкоуровневый и «бэкэнд», и поддерживать другие инструменты на основе APT. apt предназначен для конечных пользователей (человек), и его вывод может меняться в зависимости от версии.

Примечание от apt (8):

The `apt` command is meant to be pleasant for end users and does not need
       to be backward compatible like apt-get(8).

Взгляните на этот пост для получения дополнительной информации о новом инструменте:

Краткий обзор вышеуказанной ссылки (с исправлениями * ):

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

В настоящее время двоичный файл apt поддерживает следующие команды:

  • список : который похож dpkg listи может использоваться с флагами, такими как --installedили --upgradable.
  • поиск : работает так же, как и apt-cache searchотсортировано по алфавиту.
  • show : работает, как, apt-cache showно скрывает некоторые детали, о которых люди реже заботятся (например, хеши). Полная запись все еще доступна через apt-cache showконечно.
  • обновление : так же, как обычный apt-get updateс включенным выводом цвета.
  • установить, удалить : добавляет вывод о ходе выполнения во время выполнения dpkg.
  • обновление : так же, как apt-get upgrade --with-new-pkgs. *
  • полное обновление : более значимое имя для dist-upgrade.
  • edit-sources : редактировать sources.listиспользуя $EDITOR.
  • политика : работает так же, какapt-cache policy

Вы можете включить / отключить процесс установки [bar] через:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar

3
Просто любопытно - не является ли подходящее обновление эквивалентом 'upgrade --with-new-pkgs' (вместо dist-upgrade, которое IIRC делает по умолчанию, а также удаляет)?
zeratul021

Странно apt upgradeвыдает ошибку, когда apt-get upgradeвыводит предупреждение только тогда, когда у PPA нет файла Release.
Тор Клингберг

1
Этот блог является ошибочно сказать apt upgrade, как apt-get dist-upgrade --with-new-pkgs. dist-upgradeМожно установить новые пакеты и удалить их . UI в стороне, apt upgradeесть apt-get upgrade --with-new-pkgs. См ответа JungleMartin в и склонном (8) на upgrade: «Новые пакеты будут установлены , если это необходимо для удовлетворения зависимостей, но существующие пакеты не будут удалены.»
Элия ​​Каган

3
Стоит отметить, что начиная с 16.04 по умолчанию apt не сохраняет загруженные пакеты, а apt-get делает.
Дуги

69

Как я пишу это, страница людей (мои склонные версии пакета: 1.0.1ubuntu2.8) включает следующий раздел:apt

DIFFERENCES TO APT-GET(8)
   The apt command is meant to be pleasant for end users and does not need
   to be backward compatible like apt-get(8). Therefore some options are
   different:

   ·   The option DPkg::Progress-Fancy is enabled.
   ·   The option APT::Color is enabled.
   ·   A new list command is available similar to dpkg --list.
   ·   The option upgrade has --with-new-pkgs enabled by default.

2
Это правильный ответ (для Debian и Ubuntu, а также для других производных, таких как Mint). В частности, запуск sudo apt upgradeбудет выполнять те же операции, что и sudo apt-get upgrade --with-new-pkgs. Он будет устанавливать новые пакеты, но, в отличие от него sudo apt-get dist-upgrade , он не будет удалять старые (за исключением случаев, когда устанавливается новая версия того же пакета, конечно - что sudo apt-get upgradeтакже будет делать). man aptдалее подтверждает, что этот ответ правильный.
Элия ​​Каган

Я откатываю ваш откат моего редактирования, потому что а) ваше форматирование требует ненужной прокрутки, и б) ваш скопированный текст неправильный, опция не DPkgPM::..., но DPkg::.., как показывает онлайн-страница руководства.
Муру

2
бонусные баллы за
RTFM

Опция «проверить» не работает с apt. Я должен использовать «apt-get check». Почему?
Хуан

22

Существуют различные инструменты, которые взаимодействуют с Advanced Packaging Tool (APT) и позволяют устанавливать, удалять и управлять пакетами в дистрибутивах Linux на основе Debian . apt-getявляется одним из таких инструментов командной строки, который широко популярен. Еще один популярный инструмент - Aptitude с графическим интерфейсом и параметрами командной строки.

Если вы использовали apt-getкоманды, вы, возможно, сталкивались с рядом подобных команд, таких как apt-cacheи apt-configт. Д. И здесь возникает проблема.

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

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

С apt, вам не придется возиться свой путь от apt-getдо apt-cacheк apt-config. aptявляется более структурированным и предоставляет вам необходимые параметры, необходимые для управления пакетами.

Нижняя строка: apt = наиболее часто используемые параметры команды из apt-get, apt-cacheи apt-config.

Я подробно писал о разнице между apt и apt-get .


15

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

aptэто второй интерфейс на основе командной строки, предоставляемый APT, который преодолевает некоторые ошибки проектирования apt-get.

Цитируется из:

https://debian-handbook.info/browse/stable/sect.apt-get.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.