Jaka jest różnica między apt a apt-get?

457

Przeczytałem o nowym fantazyjnym pasku postępu, który został dodany do wersji apt1.0 w Softpedii i o tym, jak go włączyć tutaj . Jednak podczas biegania sudo apt-get updatenie widziałem fantazyjnych pasków postępu. Po ponownym przeczytaniu drugiego linku rozwiązanie wyraźnie wymaga użycia sudo apt update.

Stąd moje pytanie dotyczy różnicy między apti apt-get. Myślałem, że są jednym i tym samym.

nik90
źródło
1
AFAIK są dostępne tylko w Trusty. Oto jak je włączyć: askubuntu.com/questions/445245/…
Seth
8
biorąc pod uwagę, że komentarz @Seth ma prawie 2 lata, pomyślałem, że dodam teraz, że jest dostępny, zainstalowany i gotowy do użycia od razu po wyjęciu z pudełka. Nic nie jest wymagane, aby je włączyć, wystarczy użyć aptzamiast apt-get(mam 15.10)
Madivad

Odpowiedzi:

399

Są to bardzo podobne narzędzia wiersza poleceń dostępne w Trusty. apt-geti apt-cachenajczęściej używane polecenia są dostępne w apt.

apt-getmoże być uważany za niższy poziom i „zaplecze” i obsługuje inne narzędzia oparte na APT. apt jest przeznaczony dla użytkowników końcowych (ludzi), a jego wyniki można zmieniać między wersjami.

Uwaga od 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).

Przeczytaj ten post, aby uzyskać więcej informacji na temat nowego narzędzia:

Streszczenie powyższego linku (z poprawkami * ):

Najważniejszą wiadomością dla tej wersji jest to, że dodaliśmy nowy plik „apt”, który łączy najczęściej używane polecenia z apt-get i apt-cache. Polecenia są takie same, jak ich odpowiedniki apt-get / apt-cache, ale z nieco innymi opcjami konfiguracji.

Obecnie apt binary obsługuje następujące polecenia:

  • lista : która jest podobna dpkg listi może być używana z flagami takimi jak --installedlub --upgradable.
  • szukaj : działa podobnie, apt-cache searchale posortowane alfabetycznie.
  • show : działa jak, apt-cache showale ukrywa niektóre szczegóły, o które ludzie mniej się troszczą (np. skróty). apt-cache showOczywiście pełny zapis jest nadal dostępny za pośrednictwem .
  • aktualizacja : tak jak zwykłe apt-get updatez włączonym wyjściem kolorów.
  • zainstaluj, usuń : dodaje dane wyjściowe postępu podczas uruchamiania dpkg.
  • aktualizacja : to samo co apt-get upgrade --with-new-pkgs. *
  • pełne uaktualnienie : bardziej znacząca nazwa dla dist-upgrade.
  • edit-sources : edytuj sources.listza pomocą $EDITOR.
  • zasady : działa tak jakapt-cache policy

Możesz włączyć / wyłączyć postęp instalacji [pasek] poprzez:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar
Mario Limonciello
źródło
3
Po prostu ciekawe - czy apt upgrade nie jest równoważny z „upgrade --with-new-pkgs” (zamiast dist-upgrade, który IIRC robi to domyślnie, a także usuwa)?
zeratul021 30.04.16
Dziwnie apt upgradedaje mi błąd, w którym apt-get upgradedrukuje ostrzeżenie tylko wtedy, gdy PPA nie ma pliku Release.
Tor Klingberg,
1
Ten post na blogu jest błędny, gdy mówi, że apt upgradejest podobny apt-get dist-upgrade --with-new-pkgs. dist-upgrademoże instalować nowe pakiety i usuwać je . Poza interfejsem użytkownika apt upgradejest apt-get upgrade --with-new-pkgs. Zobacz odpowiedź JungleMartin i apt (8) na upgrade: „Nowe pakiety zostaną zainstalowane, jeśli będzie to wymagane w celu spełnienia zależności, ale istniejące pakiety nigdy nie zostaną usunięte”.
Eliah Kagan,
3
Warto wspomnieć, że od 16.04 domyślnie apt nie zapisuje pobranych pakietów, a apt-get tak.
doug
69

Kiedy piszę te słowa, strona człowiek (moja wersja pakietu apt: 1.0.1ubuntu2.8) zawiera następującą sekcję: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.
JungleMartin
źródło
2
To poprawna odpowiedź (dla Debiana i Ubuntu, a także innych pochodnych, takich jak Mint). W szczególności uruchamianie sudo apt upgradewykona te same operacje, co sudo apt-get upgrade --with-new-pkgs. Zainstaluje nowe pakiety, ale w przeciwieństwie do sudo apt-get dist-upgrade nich nie usunie starych (z wyjątkiem instalowania nowej wersji tego samego pakietu, oczywiście - co sudo apt-get upgradeteż zrobi). man aptponadto potwierdza, że ​​ta odpowiedź jest poprawna.
Eliah Kagan,
Cofam wycofywanie mojej edycji, ponieważ a) formatowanie wymaga niepotrzebnego przewijania ib) skopiowany tekst jest niepoprawny, opcja nie DPkgPM::..., ale DPkg::.., jak pokazuje strona internetowa.
muru
2
punkty bonusowe za RTFM
Thufir
Opcja „sprawdź” nie działa z apt. Muszę użyć „apt-get check”. Dlaczego?
Juan
22

Istnieją różne narzędzia, które współdziałają z Advanced Packaging Tool (APT) i pozwalają instalować, usuwać i zarządzać pakietami w dystrybucjach Linuksa opartych na Debianie . apt-getjest jednym z takich popularnych narzędzi wiersza poleceń. Innym popularnym narzędziem jest Aptitude z GUI i opcjami wiersza poleceń.

Jeśli użyłeś apt-getpolecenia, można natknąć wielu podobnych poleceń, takich jak apt-cache, apt-configitd. I tu pojawia się problem.

Widzisz, te polecenia są o wiele za niskie i mają tak wiele funkcji, które być może nigdy nie są używane przez przeciętnego użytkownika Linuksa. Z drugiej strony najczęściej używane polecenia zarządzania pakietami są rozproszone w apt-get, apt-cachei apt-config.

Wprowadzono aptpolecenia, aby rozwiązać ten problem. aptSkłada niektóre z najczęściej używanych funkcji, od apt-get, apt-cachei apt-configpomijając niejasne i rzadko używanych funkcji.

Dzięki apt, nie trzeba się bawić ze swoją drogę apt-getdo apt-cachecelu apt-config. aptjest bardziej uporządkowany i zapewnia niezbędne opcje potrzebne do zarządzania pakietami.

Konkluzja: apt = najczęściej używane opcje polecenia z apt-get, apt-cachea apt-config.

Napisałem szczegółowo o różnicy między apt a apt-get .

abhishek
źródło
15

APT to rozległy projekt, którego pierwotne plany zawierały interfejs graficzny. Opiera się na bibliotece, która zawiera podstawową aplikację, a apt-get to pierwszy interfejs - oparty na linii poleceń - który został opracowany w ramach projektu.

aptjest drugim interfejsem opartym na linii poleceń dostarczanym przez APT, który eliminuje pewne błędy projektowe apt-get.

Cytat z:

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

mit
źródło