Czy apt dist-upgrade nie jest już konieczny


22

Przed udostępnieniem systemu Ubuntu 18.04 korzystałem z systemu Ubuntu 16.04. I używałem sudo apt-get update, sudo apt-get upgradei sudo apt-get dist-upgradezrobić aktualizację i uaktualnić rzeczy. W Ubuntu 18.04 zmieniłem się na używanie aptzamiast apt-get. Dziwne było dla mnie to, że sudo apt dist-upgradenie ma już żadnego efektu: aktualizuję i aktualizuję za pomocą sudo apt updatei sudo apt upgade, ale kiedy uruchamiam sudo apt dist-upgrade, nic się nie dzieje w przeciwieństwie do tego, kiedy używałem sudo apt-get dist-upgrade.
Kiedy korzystałem, sudo apt-get dist-upgradeniektóre pakiety zostały usunięte, a inne zostały zainstalowane. Jednak kiedy biegnę sudo apt dist-upgrade, nic się nie dzieje. Wszystko, co otrzymuję, to:

sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  

I dzieje się tak za każdym razem, odkąd zacząłem używać aptzamiast apt-get.
Czy jest to coś związanego apt(tj. sudo apt upgradeZastępuje jedno upgradei drugie dist-upgrade) czy dokładnie o co chodzi?


Będę ciekawy zobaczyć pełną odpowiedź, ale wydaje się to wskazywać, że masz rację: askubuntu.com/questions/81585/…
rm-vanda

Odpowiedzi:


29

apt-get upgradevs apt upgradevsapt full-upgrade

apt-get upgradeaktualizuje tylko aplikacje, narzędzia i narzędzia. Nie instaluje nowego jądra systemu operacyjnego Linux.

apt upgradeaktualizuje aplikacje, narzędzia i narzędzia oraz instaluje nowe jądro Linux systemu operacyjnego. Jednak nigdy nie usuwa starych pakietów.

apt full-upgradeaktualizuje aplikacje, narzędzia i narzędzia oraz instaluje nowe jądro Linux systemu operacyjnego. W razie potrzeby usuwa również stare pakiety.

Wygląda mi na apt full-upgradeto, że robi to samo co apt-get dist-upgrade. Oznacza to, że full-upgradesprawdzi i zainstaluje nowe jądro, jeśli jest dostępne, i usunie stare pakiety, jeśli usunięcie jest konieczne do aktualizacji.

jądra są podstawową częścią systemu operacyjnego. Z tego powodu stara wersja jądra nigdy nie jest zastępowana nową wersją podczas uruchamiania apt upgradelub apt full-upgrade. Nowa wersja jądra jest zainstalowana, a istniejąca wersja jest zachowywana bez zmian. Konfiguracja w Grub jest domyślnie zmieniana na rozruch z nowej wersji podczas procesu aktualizacji. Jeśli nowe jądro z jakiegoś powodu nie działa, można uruchomić system ze starego jądra z poziomu zaawansowanego menu grub.

Uwaga: apt full-upgradenie usuwa starszych wersji jądra, ponieważ instaluje najnowszą wersję. Aby je usunąć, należy użyć apt autoremove.

Po co zmieniać nazwę z dist-upgradena full-upgrade?

  • Jeśli używasz apt-get, musisz użyćdist-upgrade
  • Jeśli używasz apt, musisz użyćfull-upgrade

Myślę, że to dist-upgradebyło trochę mylące. Na przykład nie powoduje to aktualizacji z Ubuntu 16.04 do Ubuntu 18.04. Uaktualnia tylko jądro i inne rzeczy w systemie Ubuntu 16.04.

Myślę, że full-upgradejest bardziej intuicyjny niż dist-upgrade.

Zobacz Co to jest „dist-upgrade” i dlaczego uaktualnia więcej niż „upgrade”? po więcej szczegółów.

Pełne ujawnienie: Jestem tylko użytkownikiem Ubuntu, ale nie zdecydowałem się go zmienić. To są moje osobiste poglądy.

Mam nadzieję że to pomoże


1
+1, ale bądź pedantem, ze strony podręcznika apt: upgrade nigdy nie usuwa istniejących pakietów , a full-upgrade usuwa aktualnie zainstalowane pakiety, jeśli jest to potrzebne do aktualizacji systemu jako całości . apt dist-upgradeWygląda też na to, że działa dobrze na moich systemach (prawdopodobnie dla kompatybilności wstecznej).
Pan Shunz

@ MrShunz Wiem, że tak mówi strona man. Jest również wspomniany w innej odpowiedzi, którą dodam jako odniesienie.
user68186

apt upgradei apt-get upgradeporadzić sobie z tym inaczej, patrz hiroom2.com/2016/05/20/ubuntu-16-04-debian-8-apt-command/…
mook765

@ mook765 Dzięki! Zmienię moją odpowiedź na podstawie twojego odniesienia.
user68186

2
„Myślę, że aktualizacja dist była nieco myląca”. Przysięgam, że to niedomówienie stulecia w odniesieniu do apt. Czy jest coś w apt, co nie jest mylące ?! Jaka jest przede wszystkim nazwa „apt” lub „aptitude” związana z zarządzaniem pakietami? Dlaczego są 3 warianty apt? Dlaczego apt- get modyfikuje mój system? Dlaczego „aktualizacja” nie aktualizuje mojego systemu? Dlaczego „aktualizacja” nie aktualizuje mojego systemu? Dlaczego nie powinien po prostu aktualizować wewnętrznej pamięci podręcznej przed automatyczną aktualizacją, tak jak rozsądny system operacyjny? Dlaczego purge odinstalowuje pakiet zamiast usuwać go z pamięci podręcznej? itp ....
Mehrdad

15

dist-upgradezostał zastąpiony w Ubuntu przez full-upgrade.

Starsi użytkownicy Ubuntu pamiętają, kiedy dist-upgraderzeczywiście był używany regularnie do instalowania pakietów jądra. Nazwy pakietów jądra zmieniają się wraz z wersją, przez co nie kwalifikują się do normalnego działania upgrade. full-upgradezostał dodany, aby bezpiecznie zaspokoić tę potrzebę przepływu pakietów Ubuntu.

Pierwotnym celem dist-upgradejest migracja między wydaniami Debiana (mniej więcej odpowiednik Ubuntu do-release-upgrade.) Tak więc ochrona przed nieprzewidzianymi konsekwencjami jest nieco mniejsza. Przed zaakceptowaniem przeczytaj uważnie proponowane zmiany.

Używanie dist-upgradezamiast full-upgradeprawdopodobnie nie zaszkodzi zdrowemu systemowi. Miliony użytkowników w ciągu ostatniej dekady pracowały nad wieloma błędami z apt workflow. Jednak dist-upgrademogą mieć nieoczekiwane wyniki w systemie z zatrzymanymi uszkodzonymi pakietami lub innymi nierozwiązanymi problemami.


+1 do pierwotnego celu dist-upgrade. Trzeba by pobawić się sources.listgo używać w ten sposób chyba.
user68186
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.