Aktualizator oprogramowania vs aktualizacja apt-get

11

Zawsze przypuszczałem, że uruchamianie, apt-get updatepo którym następuje, apt-get upgradejest po prostu wersją wiersza poleceń uruchamiania narzędzia do aktualizacji oprogramowania; jednak uruchomienie narzędzia do aktualizacji oprogramowania powoduje, że następujące pakiety wymagają aktualizacji:

Complete Generic Linux kernel  
Header files relates to Linux kernel version 3.2.0  
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP  
Generic Linux kernel headers  
Linux kernel image for version 3.2.0 on 64 bit x86 SMP  
General Linux kernel image  
Linux Kernel Headers for development

ISC DHCP client  
common file used by all the isc-dhcp* packages  
LightDM GObject client library  
graphical boot animation and logger-shared libraries  
DisplayManager  
graphical  boot animation and logger-main package  
graphical boot animation and logger-label control  
graphical boot animation and logger-ubuntu-logo theme (-logo)  
graphical boot animation and logger-ubuntu-logo theme (-text)  
Jabber/XMPP connection manager

(53.9 MB)

mając na uwadze, że bieganie apt-get updatei apt-get upgradepowoduje:

Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
The following packages have been kept back:  
  linux-generic linux-headers-generic linux-image-generic  
The following packages will be upgraded:  
  isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm  
  linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo  
  plymouth-theme-ubuntu-text telepathy-gabble  
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.  
Need to get 2,594 kB of archives.  
After this operation, 2,048 B of additional disk space will be used.  

Czy ktoś może wyjaśnić, co się dzieje?

ChrisW
źródło
W pewnym momencie zmienili zachowanie upgrade, teraz szukasz, dist-upgradejeśli chcesz również zaktualizować jądro.
Bobby

Odpowiedzi:

9

Wydaje się, że jest tu trochę zamieszania.

  • apt-get update : To tylko odświeża listę dostępnych pakietów.

  • apt-get upgrade: Uaktualni to wszystkie zainstalowane pakiety do ich najnowszej wersji.

  • apt-get dist-upgrade : Podobnie jak aktualizacja, ale wykorzystuje „inteligentny” system rozwiązywania konfliktów, w razie potrzeby spróbuje zaktualizować najważniejsze pakiety kosztem mniej ważnych.

Tak więc, jeśli chcesz upewnić się, że obecnie zainstalowane pakiety są najnowszą dostępną wersją, uruchom

apt-get update && apt-get upgrade

Jeśli powoduje to problemy, możesz spróbować:

apt-get update && apt-get dist-upgrade

Wiadomości, które opublikowałeś, nie mają z tym nic wspólnego dist-upgrade, są prostymi aktualizacjami. Nie ma też absolutnie żadnej różnicy między nimi, po prostu aktualizator oprogramowania podaje opisy pakietów, jednocześnie apt-getwymieniając nazwy pakietów. Na przykład

Complete Generic Linux kernel  == linux-generic
ISC DHCP client                == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble  

Jeśli dokładnie przeczytasz dwie listy, zobaczysz, że są to dokładnie te same pakiety.

To powiedziawszy, wysłane wiadomości mówią dokładnie to samo.

terdon
źródło
1
Myślałem, że będą takie same, ale rozmiar pobrań jest ogromnie różny, chyba że te liczby nie są porównywalne ?!
ChrisW,
1

afaik, brakuje ci trzeciego kawałka:

apt-get dist-upgrade

W rzeczywistości apt-get upgrade nie aktualizuje pakietów w niektórych przypadkach, na przykład gdy zmieniają zależności lub wymagają usunięcia niektórych innych pakietów. Bu apt-get dist-upgrade will. Aby uzyskać zachowanie podobne do tego, które zachowuje narzędzie do aktualizacji oprogramowania, potrzebujesz:

apt-get update && apt-get dist-upgrade

Lub, jeśli chcesz grać nieco bezpieczniej:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Zobacz: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
A także: https://askubuntu.com / q / 194651/125726

gerlos
źródło
2
„apt-get update && apt-get upgrade && apt-get dist-upgrade” Z wyjątkiem tego, że dist-upgradewykonuje wszystkie operacje, które również zostałyby uruchomione upgrade.
Bobby
Dobrze. Chodzi o to, żeby wcześniej robić „bezpieczniejsze” aktualizacje, a po ich zakończeniu zrobić dist-upgradeaktualizacje.
gerlos
Nie widzę, co dzięki temu zyskujesz ... z wyjątkiem mniejszego numeru paczki w drugim uruchomieniu.
Bobby
Jakiś czas temu miałem pewne problemy z paczkami stron trzecich, których zależności zostały zerwane. Korzystając z „normalnego” uaktualnienia, mogłem zaktualizować wszystko oprócz zepsutych pakietów, a ponieważ były one „odizolowane” od innych, mogłem odizolować je od innych i rozwiązać moje problemy. Nie coś, co zdarza się często, ale dobre podejście do wykrywania problemów, zanim cię uderzą, imho.
gerlos
Miałem na myśli to, że nie widzę, jaka to różnica, jeśli uciekłeś upgradelub dist-upgradewpadłeś w kłopoty. Główną różnicą jest to, że później spróbuje zaktualizować jądro, ale nie dotknie istniejących, więc system nigdy nie jest zagrożony, o ile widzę.
Bobby