Czy ktoś może wyjaśnić mi aktualizację Ubuntu (Debian)?


35

Mam serwer Ubuntu 8.04 LTS. Istnieje kilka pakietów, które są „wstrzymywane” ( „następujące aktualizacje zostały wstrzymane” ), kiedy robię apt-get upgrade. Rozumiem, że mogę zrobić apt-get dist-upgradeaktualizację tych pakietów, ale mam kilka obaw:

  1. Jeśli to zrobię dist-upgrade, czy będę aktualizować z wersji 8.04 do wyższej (chyba 8.10)? Jeśli tak, to po co 8.04 „Long Term Support” (LTS)?

  2. Czy to jest „niebezpieczny” proces? Zakładam, że pakiety są wstrzymywane, ponieważ istnieją nowe pakiety, od których są zależne. Czy dist-upgradepo prostu wyciąga nowe pakiety i robi dość prostą aktualizację, czy są jakieś zastrzeżenia?

Odpowiedzi:


57

Polecenie apt-get upgrade nie dodaje ani nie usuwa pakietów. apt-get dist-upgrade doda lub usunie pakiety zgodnie z wymaganiami.

Polecenie apt-get dist-upgrade nie spowoduje automatycznej aktualizacji z jednej wersji do drugiej, chyba że zaktualizowałeś również swoje źródła (/etc/apt/sources.list), aby wskazywały na nowszą wersję.

człowiek apt-get

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.

dist-upgrade
    dist-upgrade, in addition to performing the function of upgrade, 
    also intelligently handles changing dependencies with new versions 
    of packages;

Czy są jakieś szczególne obawy, o których należy pamiętać podczas dokonywania aktualizacji na wyższy?

W większości przypadków zawsze apt-get dist-upgrade, aby zastosować aktualizacje do systemu. Oczywiście zwracaj uwagę na to, jakie nowe pakiety są dodawane lub usuwane. Często dzieje się tak, gdy dodaje się coś takiego jak nowsze jądro, które nie jest kompatybilne z poprzednim i trzeba będzie ponownie skompilować moduły. Jeśli masz moduł jądra, który musiałeś samodzielnie zbudować, być może będziesz musiał upewnić się, że rekompilujesz go dla nowego jądra. Mam kilka systemów z interfejsami sieciowymi nieobsługiwanymi przez podstawowe jądro, które muszę ponownie skompilować sterownik sieci po każdej aktualizacji jądra.


Dziękuję, właśnie na to liczyłem. Czy są jakieś szczególne obawy, o których należy pamiętać podczas dokonywania aktualizacji na wyższy? (nie to, że jedno zastępuje drugie, po prostu zastanawiam się, czy jest coś jeszcze, o czym powinienem wiedzieć)
Boden

kiedy uruchomisz dist-upgrade, otrzymasz podsumowanie tego, co zrobi (pakiety do aktualizacji, nowe pakiety, pakiety do usunięcia). po prostu patrz, co usuwa. jeśli nie zmieniłeś pliku /etc/apt/sources.list, nie powinno to być nic poważnego.
brad.lane

2
Tylko ze względu na zakończenie. Aby przeprowadzić migrację do następnej wersji LTS, gdy będzie ona dostępna, musisz uruchomić następujące polecenia po upewnieniu się, że instalacja 8.04 jest aktualna. sudo apt-get install update-manager-core, a następnie sudo do-release-upgrade.
3dinfluence 27.07.2009

2

upgrade vs. dist-upgrade to tak naprawdę warunki Debiana. W debianie używałbyś upgrade'u, aby uzyskać zmiany w stabilnym wydaniu (które nie wymagałoby niczego tak drastycznego jak usunięcie) i dist-upgrade, aby przejść między wydaniami. dist-upgrade powinien mieć takie same wyniki jak aktualizacja, zakładając, że nie trzeba przeprowadzać usuwania.

Przechodzenie między wersjami wymagałoby zmiany pliku sources.list, aby wskazywał na nową wersję.

Ubuntu nie ma tego samego ultrakonserwatywnego modelu wydania, więc warunki nie mapują się czysto - na ogół chcesz po prostu użyć dist-upgrade, chyba że przechodzisz między wersjami, w którym to przypadku używasz własnego uaktualnienia, do-release -Aktualizacja.


you'd generally just want to use dist-upgrade unless you're going between releases, in which case you use the upgrade script. Myślę, kapitanie Segfault, miałeś na myśli odwrotnie: - ogólnie rzecz biorąc, po prostu chcesz użyć aktualizacji, chyba że przechodzisz między wydaniami, w którym to przypadku używasz skryptu dist-upgrade.

2
Ubuntu ma osobny program do aktualizacji. Używasz tego, a nie apt-get, do przechodzenia między wydaniami.
Kapitan Segfault,

Gdzie mogę znaleźć ten oddzielny program?
starbeamrainbowlabs

@starbeamrainbowlabs to się nazywa nie-release-upgrade , check człowiek nie-release-upgrade do szczegółów
iSync

@ isync Right. Wiedziałem o tym - komentarz nie był jasny, więc pomyślałem, że było inne polecenie, z którym się nie zetknąłem. Dzięki!
starbeamrainbowlabs
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.