Яка різниця між apt і apt-get?


457

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

Отже, моє питання полягає в різниці між aptта apt-get. Я думав, що вони одне й те саме.


1
AFAIK вони доступні лише у Trusty. Ось як їх увімкнути: askubuntu.com/questions/445245/…
Seth

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

Відповіді:


399

Вони дуже схожі на інструменти командного рядка, доступні в 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, але з дещо різними параметрами конфігурації.

В даний час влучний бінарний файл підтримує такі команди:

  • список : який аналогічний dpkg listі може використовуватися з прапорами , як --installedабо --upgradable.
  • пошук : працює так само, apt-cache searchале сортується за алфавітом.
  • шоу : працює на зразок, apt-cache showале приховує деякі деталі, про які люди рідше переймаються (як хеши). Повний запис все ще доступний, apt-cache showзвичайно.
  • оновлення : як і звичайне apt-get updateз увімкненим кольоровим виведенням.
  • встановити, видалити : додає результат прогресу під час запуску dpkg.
  • оновлення : те саме, що і apt-get upgrade --with-new-pkgs. *
  • повне оновлення : більш значуща назва для dist-upgrade.
  • редагувати джерела : редагувати 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 немає файлу випуску.
Тор Клінгберг

1
Цей блог є помилково сказати apt upgrade, як apt-get dist-upgrade --with-new-pkgs. dist-upgradeможе встановлювати нові пакети та може видаляти їх . UI убік, apt upgradeє apt-get upgrade --with-new-pkgs. Дивіться відповідь JungleMartin і apt (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
Thufir

Параметр "перевірити" не працює з apt. Мені доводиться використовувати "чек на отримання". Чому?
Хуан

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.