Używam lubuntu 10.10 i chciałbym uaktualnić do 11.04. Mam bardzo temperamentne połączenie internetowe, dlatego chciałbym pobrać wszystkie pakiety przed uruchomieniem instalacji.
Zgodnie z tym nie ma łatwego sposobu na zrobienie tego. Raport o błędzie wymieniony w tym wątku jest nadal otwarta.
Moje pytanie: Czy istnieje sposób na zhakowanie aktualizacji do-release tylko w celu pobrania pakietów, coś w rodzaju dodania „-d” do apt-get dist-upgrade?
Czy robienie tego ręcznie to jedyny sposób na uzyskanie pożądanego rezultatu?
Jeśli muszę to zrobić ręcznie, czy należy wykonać te czynności, czy coś mi brakuje?
- Wyłącz repozytoria stron trzecich w
/etc/apt/sources.list
i/etc/apt/sources.list.d
- Zmień repozytoria w
/etc/apt/sources.list
zmaverick
nanatty
- biegać
sudo apt-get update
- uruchom,
sudo apt-get -d dist-upgrade
aby pobrać tylko pakiety. Zrób to tyle razy, ile to konieczne, aż wszystkie pakiety zostaną pobrane. - uruchom,
sudo apt-get dist-upgrade
aby zakończyć proces aktualizacji
do-release-upgrade
Menachem
źródło
źródło
Odpowiedzi:
Pierwsze cztery kroki są poprawne, ale krok 5 powinien być
sudo do-release-upgrade
(zamiastsudo apt-get dist-upgrade
). Powinien zauważyć, że wszystkie (lub większość) pakietów, które zamierzał pobrać, są już obecne/var/cache/apt/archives
.W niektórych wcześniejszych wersjach do-release-upgrade występował błąd
/var/cache/apt/archives
, który czyściłby go przed ponownym pobraniem pakietów, ale IIRC ten błąd został naprawiony.źródło
Napisałem skrypt, aby to zrobić, dla mojej własnej aktualizacji wielu maszyn do Ubuntu 14.04 „zaufany”. Nazywa się to „apt-get-other-release”. Proste użycie:
Skrypt znajduje się w:
ftp://www.lubkin.com/pub/user/filbo/apt-get-other-release
a wersja 1.0 ma sha1sum: 87a466b2bb2d1ac5b0a08509246a450b8d1c7617
Za kulisami działa w zasadzie
apt-get update; apt-get -d dist-upgrade
z własnym prywatnym zestawem plików sources.list. Wyniki są przechowywane w / var / cache / apt- $ to_rel / archives, a flaga „-U” kopiuje je do ogólnosystemowych / var / cache / apt / archives, aby były obecne podczas aktualizacji.Możesz także skopiować archiwum aktualizacji z jednego hosta lokalnego na inny, oszczędzając przepustowość. Zrobiłem to dla aktualizacji amd64 i i386, kopiując tylko te * .deb, które nie miały w nazwie „amd64”; następnie uruchomił kolejną
apt-get-other-release -t trusty
na maszynie i386, która pobrała kolejny duży stos pakietów, ponieważ na tych dwóch maszynach zainstalowano różne rzeczy.Doceniono opinie; doceniam e-mail cc, ponieważ nie wiem, kiedy jeszcze spojrzę na askubuntu. Wyszukiwarki dobrze o mnie wiedzą.
UWAGA: Tak naprawdę nie dokonałem aktualizacji tak traktowanego systemu! Jakiś czas w następnym tygodniu. Wydostanie tego skryptu, podczas gdy może być użyteczny dla ludzi.
> Bela <
źródło
Istnieje sposób, aby menedżer aktualizacji wykonał dla ciebie kroki 1-3.
Uruchom
sudo update-manager
z okna terminala w GUI (jest to ważne)sudo apt-get update
dla Ciebie.uruchamiaj
sudo apt-get -d dist-upgrade
z wiersza poleceń tyle razy, ile to konieczne, aż wszystkie pakiety zostaną pobrane i będą gotowe do zainstalowaniauruchom
sudo do-release-upgrade
i pozwól mu dokończyć aktualizację już pobranych pakietów.Ponownie włącz repozytoria stron trzecich i uruchom
sudo apt-get update && sudo apt-get upgrade
ponownie, aby zaktualizować repozytoria stron trzecich do najnowszej wersji (upewnij się, że repozytoria są zaktualizowane do najnowszej wersji Ubuntu)źródło
Napisałem również skrypt na ten temat, który można znaleźć na stronie
https://github.com/neldredge/fetch-release-upgrade
Zastosowanie: w katalogu scratch uruchom
lub jakąkolwiek nową wersję, którą chcesz uaktualnić. Niezbędne pakiety zostaną pobrane do podkatalogu o nazwie
debs
. Następnie możesz je przenieść/var/cache/apt/archives
przed uruchomieniemdo-release-upgrade
.Nie widziałem jeszcze skryptu user270294, ale wygląda na to, że działa on podobnie i może mieć kilka dodatkowych funkcji.
źródło
Działa dla mnie następująca nieco krótsza wersja odpowiedzi Menachema:
Uruchom
sudo do-release-upgrade
w jednym oknie terminala, poczekaj na monit:Nie potwierdzaj, pozostaw to otwarte
W drugim oknie terminala uruchom
sudo apt-get dist-upgrade --download-only
Po zakończeniu kontynuuj lub przerwij w wolnym czasie w pierwszym oknie terminala
Wskazówka: zainstaluj podobny multiplekser terminali
screen
i uruchom go wdo-release-upgrade
środku. Następnie możesz połączyć się ponownie,screen -D -RR
jeśli cokolwiek stanie się z terminalem, który pokazuje proces aktualizacji. (Na szczęście moja dzisiejsza aktualizacja była prawie ukończona ...)źródło
do-release-upgrade
po pobraniu.Oświadczenie: Nigdy wcześniej tego nie robiłem. To może być okropny pomysł. Może wszystko zepsuć, opróżnić konta bankowe i uciec na południe Hiszpanii. Podobnie jak w przypadku każdego potencjalnie niebezpiecznego, wykonaj kopię zapasową, zanim cokolwiek zrobisz.
Nie jestem pewien, ile zainstalowałeś, więc może to być wadliwe rozwiązanie, ale możesz je uaktualnić z płyty CD. Pobierz alternatywną wersję ISO, zamontuj ją i uruchom skrypt aktualizacji.
Zanim przejdę dalej, nie musisz używać wget, aby uzyskać obraz. Bittorrent będzie działał dobrze ze standardowym menedżerem pobierania. Ważne jest, abyś chciał coś wznowić, abyś mógł zatrzymać pobieranie i odebrać go w innym czasie. To, co
wget
jest-c
flaga zrobi.Po uzyskaniu ISO następny krok jest dość prosty:
Wada, o której mówiłem, polega na tym, że uaktualni tylko rzeczy integralne z Ubuntu, które są zawarte na płycie CD. Nie zaktualizuje innych pakietów.
W teorii powinno to być w porządku. Może się okazać, że niektóre aplikacje się psują, niektóre mogą być siłą usuwane przez aktualizator, ale podstawowy system operacyjny powinien pozostać stabilny.
Jeśli moja teoria jest słuszna, pozwoli to na uaktualnienie innych pakietów przy użyciu jako i kiedy chcesz przez Synaptic lub (jeśli go zainstalujesz)
aptitude
.źródło