Jak zainstalować oprogramowanie lub uaktualnić ze starej nieobsługiwanej wersji?

386

Ostatnio zainstalowałem starszą wersję Ubuntu na mojej starej maszynie. Za każdym razem, gdy próbuję zainstalować oprogramowanie, pojawia się błąd informujący, że nie można go znaleźć:

$ sudo apt-get install vlc
Reading package lists... Done               
Building dependency tree       
Reading state information... Done    
E: Couldn't find package vlc
wyprodukowane w Indiach
źródło
2
Może warto edycji niektóre (lub wszystkie) odpowiedzi na to pytanie, ponieważ w weekend po spędzeniu trochę czasu próbuje dokonać tej pracy mam przez szczęście sprawę, że mają one przeniesione z http://old-releases.ubuntu.com/ubuntu/do http://us.archive.ubuntu.com/ubuntu/(lub własne odpowiednie dwuliterowy skrót powiatu kod na początku) od 17.10 (zasadniczo w synchronizacji z powrotem do początku alfabetu).
Isti115

Odpowiedzi:

534

Repozytoria starszych wersji, które nie są obsługiwane (jak 11.04, 11.10 i 13.04), zostają przeniesione na serwer archiwum. Istnieją repozytoria dostępne na stronie http://old-releases.ubuntu.com .

Powodem tego jest to, że nie ma już wsparcia i nie otrzymuje już aktualizacji i poprawek bezpieczeństwa.

Zachęcam do rozważenia obsługiwanej dystrybucji. Jeśli twój komputer jest zbyt stary pod względem pamięci lub procesora, powinieneś rozważyć dystrybucję taką jak Lubuntu lub Xubuntu.

Jeśli chcesz nadal używać przestarzałej wersji, edytuj, /etc/apt/sources.listzmieniaj archive.ubuntu.comi security.ubuntu.comdo old-releases.ubuntu.com.

Możesz to zrobić za pomocą sed:

sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

następnie zaktualizuj za pomocą:

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

Czasami może być szybsze tworzenie kopii zapasowych systemu i ponowna instalacja przy użyciu obsługiwanej wersji.

Źródło: Czy mogę nadal używać Ubuntu 9.04, jeśli jest nieaktualny?


Aby zaktualizować do nowej wersji:

Po wykonaniu powyższych kroków, aby przejść do serwerów lustrzanych starych wersji, zaktualizuj Menedżera aktualizacji, a następnie do-release-upgrade:

sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade

Zobacz także EOLUpgrades - Wiki Pomoc społeczności .

fossfreedom
źródło
9
i tylko dla kompletności ... co z extrasrepozytorium (dla Skype itp.)? Czy są dostępne gdziekolwiek po EOF?
MestreLion 27.04.13
2
łatwiejszym sposobem jest sudo vi /etc/apt/sources.listi zmodyfikuj go ręcznie. Musiałem to zrobić, ponieważ jestem całkiem nowy i nie wiem, aby uczynić to działaniem karmicznym. Dzięki, Twoja odpowiedź jest nadal ważna i poprawna.
bhathiya-perera
18
Jeszcze łatwiejszym sposobem jest sudo nano /etc/apt/sources.list, jak vi*to denerwujące ...
Wilf
4
sedKomenda nie zawsze działa, ponieważ nie są lustra, które są prowadzone przez organizacje zewnątrz ubuntu.com. Nie jestem nawet pewien, czy istnieją trzy kropki dla wszystkich nazw domen. W przypadku tych należy ręcznie edytować /etc/apt/sources.list.
Olathe
3
Wystąpił problem z aktualizacją z 15.04 na dzień 21.03.17. Vivid nie jest już obsługiwany, jednak dist nie jest dostępny w starszych wersjach.
Matthew Titsworth
114

Co to są błędy 404

Komunikat o błędzie 404 lub „Nie znaleziono” to standardowy kod odpowiedzi HTTP wskazujący, że klient był w stanie komunikować się z serwerem, ale serwer nie mógł znaleźć żądanego żądania.

Serwer hostujący witrynę sieci Web zazwyczaj generuje stronę „404 - Nie znaleziono strony”, gdy użytkownicy próbują użyć uszkodzonego lub martwego łącza.

Dlaczego mamy do czynienia z błędami 404

Ubuntu stosuje podejście dwóch różnych cykli wydawniczych :

Normalne wersje Ubuntu są obsługiwane przez 9 miesięcy. Wersje LTS są obsługiwane przez 5 lat.

Poprzednie wersje mogą mieć różne harmonogramy wsparcia (na przykład zwykłe wersje (przed 13.04) były obsługiwane przez 18 miesięcy, podczas gdy wersje LTS (przed 12.04) były obsługiwane przez 3 lata na komputerze stacjonarnym i 5 lat na serwerze).

EOL: Po upływie okresu wsparcia dla określonej wersji; nazywane są End Of Life (EOL), a wszystkie aktualizacje i repozytoria pakietów dla tego wydania są przenoszone na inny serwer, co powoduje błędy 404 podczas działania sudo apt-get update. Możesz potwierdzić, czy Twoja wersja stała się EOL, przechodząc do tej strony . Jeśli Twoje wydanie Ubuntu jest wymienione w tabeli „End of Life (EOL)”, to wydanie nie jest już obsługiwane i powinieneś spróbować uaktualnić do nowszej obsługiwanej wersji . Jeśli jednak chcesz nadal korzystać z tej nieobsługiwanej wersji, musisz wprowadzić niezbędne modyfikacje, /etc/apt/sources.listaby wskazać old-releasesserwer Ubuntu.

Kroki, aby dokonać niezbędnych modyfikacji

  1. Otwórz terminal:

    • Naciśnij Ctrl+ Alt+ T; LUB
    • Jeśli masz Gnome: ApplicationsAccessoriesTerminal; LUB
    • Jeśli masz Unity: naciśnij Super(klawisz pomiędzy Left Ctrli Left Alt) i zapytaj o Terminal.
  2. Uruchom następujące polecenie, aby wejść do powłoki roota:

    sudo -i
    

    wprowadź hasło użytkownika i naciśnij Enter. Monit zmieni się i będzie oznaczać, że użytkownik root jest teraz zalogowany. Tutaj uruchom następujące polecenie:

    gedit /etc/apt/sources.list
    
  3. Plik otworzy się w nowym oknie Gedit. Znajdź pierwszą linię, która się nie zaczyna #. Załóżmy, że korzystasz z Karmic Koala (Ubuntu 9.10): powinna wyglądać następująco:

    deb <siteurl> karmic main restricted
    

    gdzie <siteurl>jest preferowany serwer - http://gb.archive.ubuntu.com/ubuntuw twoim przypadku (na przykład).

  4. Naciśnij przycisk Ctrl+ H, aby wymienić <siteurl>się http://old-releases.ubuntu.com/ubuntu.

    • Szukaj: http://gb.archive.ubuntu.com/ubuntuie;<siteurl>
    • Zamień na: http://old-releases.ubuntu.com/ubuntui
    • naciśnij Replace All
  5. Jeszcze raz:

    • Wyszukaj: http://security.ubuntu.com/ubuntu(ten dokładny adres URL dla wszystkich wydań Ubuntu - niezależnie od tego, jakiego serwera używasz)
    • Zamienić: http://old-releases.ubuntu.com/ubuntu
    • naciśnij Replace All
  6. Zapisz plik i zamknij Gedit.

  7. Uruchom następujące polecenie, aby wyjść z powłoki roota:

    logout
    

    Przekonasz się, że monit przełącza się z powrotem, wskazując, że normalny użytkownik jest teraz zalogowany. Następnie uruchom następujące czynności:

    sudo apt-get update
    

Proszę bardzo. Tym razem nie ma 404 błędów. Możesz teraz zainstalować wszystkie dostępne pakiety dla wersji Ubuntu. Możesz także uruchomić sudo apt-get dist-upgradeinstalację wszelkich aktualizacji zabezpieczeń / poprawek, które nie zostały jeszcze zainstalowane, ale nie będziesz otrzymywać żadnych dodatkowych aktualizacji zabezpieczeń / poprawek z systemu Ubuntu.

Aditya
źródło
6
+1 za uwzględnienie również instrukcji aktualizacji repozytorium zabezpieczeń.
Gaffi,
Właściwie pierwsza linia bez znaku # była w raring main restrictedogóle bez deb. Zmieniłem go zgodnie ze specyfikacją, a następnie zastąpiłem adresy URL, ale nadal otrzymałem 404.
Yokhen
2
@Yokhen Jeśli linia nie zaczyna się deb <siteurl>, najprawdopodobniej /etc/apt/sources.listplik został uszkodzony z jakiegoś powodu. Postępuj zgodnie z odpowiedziami podanymi na stronie: Jak przywrócić domyślne repozytoria? . To przywróci prawidłowe /etc/apt/sources.listdla ciebie, a następnie postępuj zgodnie z moją odpowiedzią, aby zmienić serwery, tak aby wskazywały na serwer z wcześniejszymi wersjami.
Aditya
dzięki! Jakoś udało mi się jednak uaktualnić z 13.04 do 13.10, a teraz jestem w drodze do 14.04.
Jokhen
1
@ Dan, zmodyfikowałem odpowiedź, teraz wchodzimy do powłoki roota, a następnie uruchamiamy program graficzny. Nie musisz już używać gksudo. Chcę zachować tę odpowiedź dla początkujących użytkowników, takich jak ja, i nie chcę komplikować spraw przy użyciu edytorów opartych na terminalach, bez względu na to, jak łatwe i wydajne mogą być.
Aditya
57

Krótka odpowiedź polega na dodaniu następnego repozytorium apt do oprogramowania innych firm (lub innego oprogramowania w nowszych wersjach) w źródłach oprogramowania (lub oprogramowania i aktualizacji w nowszych wersjach):

deb http://old-releases.ubuntu.com/ubuntu code_name main restricted universe multiverse

Długa odpowiedź ...

Metoda GUI

Właściwie zrobimy to bez użycia terminala . Ani razu. Po prostu GUI, obiecuję ;-)

Najpierw otwórz Źródła oprogramowania (lub Oprogramowanie i aktualizacje w nowszych wersjach). Nie ma znaczenia, ile masz lat na Ubuntu, na pewno jest coś takiego. W przypadku Ubuntu 9.04 (Jaunty Jackalope) spójrz na następne zdjęcie, aby zobaczyć, gdzie się znajduje:

Otwarte źródła oprogramowania

Po otwarciu źródeł oprogramowania (lub oprogramowania i aktualizacji ) otwórz menu Ubuntu Software and Updates i odznacz wszystko tak, jak na kolejnych zdjęciach. Nie potrzebujesz już tego, ponieważ twoja wersja Ubuntu to End of Life :

Karta oprogramowania Ubuntu


wprowadź opis zdjęcia tutaj

Bez zamykania Źródła oprogramowania (lub oprogramowania i aktualizacje ), przejdź w Third-Party Software (do najnowszych wydań tę zakładkę o nazwie Inne oprogramowanie ) zakładka i dodać nowe repozytorium apt. Wstaw dokładnie następny wiersz, gdy zostaniesz zapytany:

deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe multiverse

Jeśli twoja wersja Ubuntu jest inna niż 9.04, zamień w powyższym wierszu jauntyswoją nazwę kodową Ubuntu (na przykład, jeśli masz Ubuntu 9.10, zamień na karmici tak dalej):

Karta Oprogramowanie innej firmy

Teraz, kiedy zamkniesz Źródła oprogramowania (lub Oprogramowanie i aktualizacje ), zostaniesz poproszony o ponowne załadowanie informacji o dostępnym oprogramowaniu. Tylko upewnij się, że masz działające połączenie z Internetem:

Załaduj ponownie dostępne oprogramowanie


Pobieranie dostępnego oprogramowania

A teraz możesz pobrać prawie wszystko, co chcesz. W przypadku wersji 9.04 można użyć Menedżera pakietów Synaptic . W przypadku najnowszych wersji dostępne jest Centrum oprogramowania Ubuntu .

Na przykład, aby zainstalować VLC w Ubuntu 9.04 za pomocą Synaptic Package Manager, postępuj zgodnie z instrukcjami na poniższych obrazkach:

Otwórz Menedżera pakietów Synaptic


Wyszukaj VLC w SPM


Mark VLC


Zaznacz dodatkowe VLC


Zastosuj VLC


Pobierz VLC


Otwórz VLC

Jeśli chcesz zaktualizować system Ubuntu do nowej wersji, przejdź do System > Update Manager :

Menadżer aktualizacji


Aktualizacja

Testowałem tę metodę z sesji na żywo Ubuntu 9.04 (Jaunty Jackalope) i jak widać na tych zdjęciach, zadziałała. Jeśli korzystasz z zainstalowanej sesji Ubuntu, będziesz czasami proszony o podanie hasła roota lub hasła administratora. Po prostu wprowadź swoje osobiste hasło użytkownika, gdy zostaniesz o to poproszony.

Radu Rădeanu
źródło
1
Właśnie to wszystko zrobiłem z zainstalowanej wersji 10.10 (indywidualnej). Wszystko dobrze, zgodnie z opisem. @Radu, twoja odpowiedź jest bezbłędna!
Gediminas Jeremiah Gudelis
1
Te obrazy wymagają aktualizacji ... poczekaj ... co robisz z wersją sprzed 12.04?
Braiam
1
@Braiam Te obrazy są aktualne. Jeśli spróbujesz Ubuntu 9.04 (Jaunty Jackalope) , zrozumiesz.
Radu Rădeanu
1
@ RaduRădeanu Ubuntu 9.04 było moją pierwszą wyprawą do świata linuksa. Ach, te zrzuty ekranu przywracają wspomnienia!
Tyzoid
Nie można go uruchomić, aby 15.04 został zaktualizowany do 16.04. Nie można ominąć dodawania nowej linii APT, proszę o pomoc.
MrMule 10.10.16
22

Przybyłem tutaj, ponieważ nie mogłem zaktualizować systemu z 15.10 (EOL) do 16.04. Ale żadna z odpowiedzi nie zadziałała dla mnie ... nawet po zrobieniu wszystkiego, co tu zaproponowano, wciąż otrzymywałem sudo do-release-upgradeirytującą odpowiedź:

Checking for a new Ubuntu release  
No new release found

I nie miałem sukcesu w bieganiu update-manager; wciąż rzucał wyjątki, których nie mogłem rozwiązać. Podejrzewam, że coś jest uszkodzone w mojej instalacji 15.10, ale najważniejsze jest to, że wbudowane aktualizacje po prostu zawodzą.

Szukałem więc wbudowanej metody i na pewno znalazłem ją, patrząc na tę odpowiedź .

Oto rozwiązanie, które zadziałało dla mnie:

  1. Otwórz http://changelogs.ubuntu.com/meta-release
  2. Znajdź wersję, którą chcesz uaktualnić. W moim przypadku jest to Xenial Xerus (długoterminowe wsparcie 16.04).
  3. Znajdź adres URL UpgradeTool. W przypadku Xenial jest to ten . Pobierz archiwum z tego adresu URL do pustego folderu i otwórz go ( tar -xzflub używając GUI).
  4. Znajdź plik wykonywalny o tej samej nazwie co dystrybucja (w moim przypadku xenial). Uruchom z sudo:

    sudo ./xenial &

  5. Zatwierdź aktualizację i poczekaj na zakończenie pobierania - istnieją tysiące plików i prawdopodobnie ponad gigabajt. Kontynuuj instalację aktualizacji ...

(Edytowane długo po przeprowadzeniu aktualizacji ... Udało się i zapomniałem zaktualizować)

  1. Poczekaj, aż się zakończy, zatwierdź, jeśli zostaniesz o to poproszony ... Nie pamiętam dokładnych szczegółów

  2. Po ponownym uruchomieniu nowa wersja działa poprawnie, a wszystkie aktualizacje można pobrać normalnie.

śmiech
źródło
1
Znalezienie tego posta zajęło mi trochę czasu. Tylko przy użyciu wspomnianego tarballa udało mi się uruchomić aktualizację z 15.04 / wily. Podejścia wykorzystujące adresy URL starych wersji nie działały. Mam nadzieję, że pomoże to innym użytkownikom w rozwiązaniu tego problemu.
Jeroen,
Cieszę się, że okaże się to pomocne!
śmiech
1
Poważnie dzięki za to, właśnie wykonałem te kroki, aby uaktualnić 10.04 do 12.04. Mój problem był inny, ponieważ moja instalacja nie była uszkodzona, ale wystąpił błąd podczas aktualizacji do-release, którego nie mogłem znaleźć w terminalu. Po wykonaniu tych kroków pojawiło się okno dialogowe z informacją o „błędzie podczas uwierzytelniania niektórych pakietów”, które doprowadziły mnie do askubuntu.com/a/426121/262601, które DID pozwalają na kontynuację aktualizacji. Wyciągałam włosy, ale to moja wina, że ​​nie ulepszyłem wcześniej.
Fooxz,
Niestety, nawet to nie działa w przypadku 15.04
MiroJanosik
Działa jak urok! Miałem serwer zesty, który zaniedbałem, i podniosłem go do zręczności i mogłem dalej aktualizować, dzięki!
Patrick Cornelissen,
17

Aby apt-getznów zacząć działać, zmień źródła oprogramowania na stare repozytoria wydań.

gksudo gedit /etc/apt/sources.list

usuń wszystko, co tam jest, i wklej następujące elementy:

# Required
deb http://old-releases.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse

# Optional
#deb http://old-releases.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse

To wszystko.

mikewhthing
źródło
Dzięki mikewhe cokolwiek, ale rezultat jest taki sam, gdy próbuję „apt-get install lm-czujniki”. Być może istnieje jeszcze inne brakujące źródło: „Czytanie list pakietów ... Gotowe Drzewo zależności budynku Odczytywanie informacji o stanie ... Gotowe Pakiet Czujniki lm nie są dostępne, ale odwołuje się do nich inny pakiet. Może to oznaczać brak pakietu, ma został przestarzały lub jest dostępny tylko z innego źródła E: Pakiet czujników lm nie ma kandydata do instalacji ”
Rorro,
Oto debaty : old-releases.ubuntu.com/ubuntu/pool/main/l/lm-sensors-3 . Ufam, przeładowałeś listę źródeł, prawda?
mikewhthing
Ta odpowiedź nie działa ... Dlaczego ma tyle głosów poparcia? Czy ktoś faktycznie to przetestował?
Tomáš Zato
Przetestowałem to, ale prawdziwe pytanie brzmi: dlaczego nadal jesteś na Karmic? Od lat nie ma wsparcia i powinieneś naprawdę przejść do nowszej wersji.
mikewhthing
12

Podczas gdy odpowiedź fossfreedom dobrze opisuje i rozwiązuje problem , znalazłam wariant rozwiązania, które moim zdaniem jest łatwiejsze i trochę bardziej eleganckie.

Sztuczka polega na dodaniu jej http://old-releases.ubuntu.com/ubuntu/jako kopii lustrzanej , a następnie poinformowaniu źródeł oprogramowania, aby przełączyła się na tę kopię lustrzaną.

Aby to zrobić, wykonaj kopię zapasową i edytuj /usr/share/python-apt/templates/Ubuntu.mirrors. Wybierz fałszywą lokalizację dla serwera starej wersji (np. #LOC:US) I dodaj pod nim następujący wiersz:

#LOC:US
http://old-releases.ubuntu.com/ubuntu/

Teraz otwórz okno Systemowe źródła oprogramowania i wybierz ręcznie, old-releases.ubuntu.comtak jakby to było twoje regionalne lustro. Powinieneś go znaleźć na liście pod fałszywą lokalizacją, którą wybrałeś w poprzednim kroku.

Następnym razem, gdy przeładujesz informacje o pakiecie za pośrednictwem Synaptic lub Update Manager, powinieneś zobaczyć, jak pomyślnie pobiera zaktualizowane informacje o pakiecie.

Stuart Cook
źródło
Działa dobrze, bardzo łatwo i szybko
doug
6

Wygląda na to, że repozytoria Karmiczne niejuż dostępne .

Ponieważ dotyczą poprzedniej wersji Ubuntu, możesz rozważyć usunięcie ich z listy źródeł. Przejrzyj tę stronę pomocy krok po kroku.

tekNorah
źródło
5

Repozytoria można znaleźć na serwerze „starych wydań” http://old-releases.ubuntu.com/ubuntu/dists/

I o tym, jak edytować /etc/apt/sources.list https://help.ubuntu.com/community/EOLUpgrades

gajdipajti
źródło
Dzięki gajdipajti, szukam go na liście pakietów, ale nie mogę znaleźć poprawnego „.deb”. Moje ubuntu ma już „libsensors3”, ale wszystkie pakiety pytają mnie o „libsensors4”. Wiem, że normalnym rozwiązaniem powinna być aktualizacja, ale nie mogę tego zrobić, ponieważ komputer jest przeznaczony do użytku z oprogramowaniem działającym tylko w wersji 9.10.
Rorro,
@Rorro: Które oprogramowanie działa tylko na Ubuntu 9.10?
niezapomniany
1

Istnieje przypadek skrajny - apt-get twierdzi, że 16.04 LTS nie istnieje - gdzie starego pakietu (w moim przypadku Vivid) nie było na serwerze „starych wydań”. Ale apt-get mógł znaleźć tylko aktualizacje jądra i Google.

Nie jestem pewien, jaki dokładnie był mój problem, ponieważ ślepo zastosowałem się do sedpolecenia zaakceptowanych odpowiedzi (nigdy mądry ruch).

To nie zadziałało, ponieważ Vivid nie był w archiwum „starych wydań”, ale nadal był w gb.archive.ubuntu.comlustrze.

W tym konkretnym przypadku rozwiązanie wyglądało następująco:

sudo -i
edit /etc/apt/sources.list

Ostrożnie przejrzyj wszystkie źródła i przekonaj się, że jedno z nich było stare i złe i nie udało się go odpowiednio zaktualizować (lub coś w tym rodzaju). Lub, tak jak to zrobiłem, wyszukiwanie zamień z old-releases.ubuntu.comna gb.archive.ubuntu.com. Następnie bez problemu zaktualizował się do następnej wersji, podczas gdy nadrobiłem zaległości w czytaniu.

Więc albo:

  1. W moich źródłach była awaria
  2. gb.archive.unbuntu.comLustro ma starszego zestawu wydaniach.

Na wynos tutaj jest to, że chociaż większość odpowiedzi tutaj może mieć zastosowanie w niektórych przypadkach, warto upewnić się, że masz /etc/apt/sources.listrację, zanim nuke ją w archiwum „starych wydań”.

Możesz dowiedzieć się, które archiwum lub dublowanie ma potrzebną wersję, po prostu wskazując zakładkę przeglądarki na archiwum i pytając i szukając nazwy wersji na liście folderów. Niezależnie od tego, która wersja jest dostępna, jest to źródło, którego potrzebujesz.

Matthew Brown znany również jako Lord Matt
źródło