Odpowiedzi:
Nie, nie są takie same. apt-get upgrade
nie obsługuje zmieniających się zależności między wersjami, więc jeśli pakiet zmienił zależności, nie zostanie zaktualizowany (zostanie „wstrzymany”). Zobacz długą odpowiedź, aby uzyskać więcej informacji.
Korzystanie z narzędzia do aktualizacji oprogramowania i używanie sudo apt-get update ; sudo apt-get dist-upgrade
(zwróć uwagę na dist-
) byłoby prawie równoważne, z tym wyjątkiem, że jeden z nich to GUI, a drugi to aplikacja konsolowa, a także kilka bardzo drobnych różnic informacyjnych.
Z man apt-get
,
apt-get upgrade
:
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
(nacisk przeze mnie)
Oznacza to, że nowsza wersja pakietu, która ma nową zależność, która nie jest wymagana w starej wersji , nie zostanie zaktualizowana za pomocą tej metody (chyba że nowa zależność została już zainstalowana). Zostaną one pokazane jako „Wstrzymane”.
apt-get dist-upgrade
:
dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.
(nacisk przeze mnie)
Oznacza to, że dzięki tej komendzie zamiast upgrade
pakietów można zaktualizować z nowymi (lub usuniętymi) zależnościami.
Dobrym przykładem różnicy między nimi jest wydanie nowego jądra Linuksa. Jest on pakowany w linux-image-generic
pakiet, który zawsze zależy od najnowszego pakietu jądra Linux. Ponieważ zależności linux-image-generic
zmian przy każdym uaktualnieniu jądra upgrade
nie będą go uaktualniać.
apt-get upgrade
jest to wymagane tylko ), apt-get
nie może zrobić tego samego? Wygląda na to, że istnieje między nimi coś zupełnie innego.
Jest prawie taki sam, ale nie do końca. Na przykład, gdy oferowane są aktualizacje jądra, sudo apt-get update && sudo apt-get dist-upgrade
potrzebne są te aktualizacje.
sudo apt-get update && sudo apt-get upgrade
poinformuje cię, że niektóre paczki zostały wstrzymane.
Korzystanie z narzędzia Software Updater sprawia, że wszystko jest płynne, a nic nie zostanie powstrzymane.
apt
dostępnym, stopniowym aktualizacjom ( wspomnianym przez pabouk ) najistotniejsza jest różnica między aktualizacją za pomocą narzędzia Software Updater i wiersza poleceń.W dzisiejszych czasach apt
narzędzie - które nie istniało, kiedy to pytanie zostało opublikowane, ale prawdopodobnie zostałoby uwzględnione w pytaniu, gdyby tak było - jest coraz bardziej popularną alternatywą apt-get
dla aktualizacji pakietów. Są do siebie podobne: ten sam pakiet (zwany także apt
) zapewnia jedno i drugie , i wszystko apt
może zrobić, tradycyjne apt-
narzędzia też mogą, chociaż w niektórych przypadkach trzeba by przekazać specjalne opcje konfiguracji. Ale apt
jest bliżej niż apt-get
w Aktualizatorze oprogramowania. Podobnie jak Software Updater, jest w stanie instalować nowe pakiety, gdy nowa wersja istniejącego pakietu deklaruje je jako zależności.sudo apt upgrade
Tak więc w dzisiejszych czasach użytkownicy zainteresowani tym rozróżnieniem mogą po prostu uruchomić sudo apt upgrade
zamiast, sudo apt-get upgrade
jeśli chcą, aby nowe zależności były instalowane automatycznie. W związku z tym funkcja Software Updater polegająca na nieznacznym opóźnianiu niektórych aktualizacji, aby ustalić, czy są one stabilne na wolności i ograniczyć uszkodzenia, jeśli tak nie jest, jest obecnie prawdopodobnie główną różnicą między używaniem Software Updater i aktualizowaniem w wierszu poleceń.
To zachowanie narzędzia do aktualizacji oprogramowania wynika z zasad dotyczących stopniowych aktualizacji . Ta polityka - zaimplementowana w Aktualizatorze oprogramowania, ale nie wapt-get
(lub apt
) - była jedną z głównych różnic między tymi dwiema metodami od czasu jej wprowadzenia i pabouk skomentował to kilka lat temu :
Jest jeszcze jedna różnica:
apt-get
nie używa PhasedUpdates, więc czasami Software Updater pokazuje mniej aktualizacji niżapt-get
. Zobacz, dlaczego program aktualizujący oprogramowanie mówi Brak dostępnych aktualizacji, ale aktualizacja apt-get Pokazuje dostępne aktualizacje? .
- pabouk 25 lutego 2015 o 7:34
To zawsze mogła być najistotniejsza różnica, ponieważ zawsze można było uruchomić, sudo apt-get dist-upgrade
gdy upgrade
akcja nie chciała instalować nowych pakietów lub odinstalowywać istniejących. Jednak podczas aktualizacji z wiersza polecenia względne znaczenie aktualizacji etapowych wzrasta wraz z apt
:
apt-get
przykład apt
polecenie pobierze i zainstaluje aktualizacje, nawet jeśli byłyby one opóźnione ze względu na zasady stopniowych aktualizacji, gdyby zamiast tego użyto narzędzia Software Updater.apt-get
do działania apt
polecenia, zostaną zainstalowane nowe pakiety, które nie zostały wcześniej zainstalowane, ale są wymagane jako zależności dla nowych wersji pakietów.upgrade
Oprócz (a) preferowania interfejsu graficznego i (b) jego integracji z pulpitem, dostarczania powiadomień o dostępności aktualizacji, głównym bieżącym powodem, dla którego można użyć narzędzia Software Updater, jest to najłatwiejszy sposób uczestniczenia w aktualizacjach etapowych.
apt-get
nie używa PhasedUpdates, więc czasami Software Updater pokazuje mniej aktualizacji niżapt-get
. Zobacz, dlaczego program aktualizujący oprogramowanie mówi Brak dostępnych aktualizacji, ale aktualizacja apt-get Pokazuje dostępne aktualizacje? .