Как установить программное обеспечение или обновить старый неподдерживаемый выпуск?


386

Недавно я установил более старую версию Ubuntu на мою старую машину. Всякий раз, когда я пытаюсь установить какое-либо программное обеспечение, я получаю сообщение об ошибке, в котором говорится, что его невозможно найти:

$ sudo apt-get install vlc
Reading package lists... Done               
Building dependency tree       
Reading state information... Done    
E: Couldn't find package vlc

2
Может быть , стоят редактирования некоторых (или всех) ответов на этот вопрос, так как в выходные дни , проведя некоторое время , пытаясь сделать эту работу у меня есть удача поняло , что они отодвинулись от http://old-releases.ubuntu.com/ubuntu/до http://us.archive.ubuntu.com/ubuntu/(или вашей собственной соответствующие два письма сокращенной округи код в начале) начиная с 17.10 (по существу, синхронно с возвращением к началу алфавита).
— Isti115

Ответы:


534

Репозитории для более старых выпусков, которые не поддерживаются (например, 11.04, 11.10 и 13.04), перемещаются на архивный сервер. Репозитории доступны по адресу http://old-releases.ubuntu.com .

Причина этого в том, что он больше не поддерживается и больше не получает обновления и исправления безопасности.

Я призываю вас рассмотреть поддерживаемый дистрибутив. Если ваш компьютер слишком стар с точки зрения памяти или процессора, вам следует рассмотреть такой дистрибутив, как Lubuntu или Xubuntu.

Если вы хотите продолжать использовать устаревший релиз затем редактировать /etc/apt/sources.listи изменять archive.ubuntu.comи security.ubuntu.comв old-releases.ubuntu.com.

Вы можете сделать это с sed:

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

затем обновите с помощью:

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

Иногда может быть быстрее создать резервные копии вашей системы и переустановить, используя вместо этого поддерживаемый выпуск.

Источник: Могу ли я продолжать использовать Ubuntu 9.04, если он устарел?


Чтобы перейти на новую версию:

После того, как вы выполнили вышеупомянутые шаги, чтобы переключиться на зеркала старых выпусков, обновите Менеджер обновлений и затем выполните do-release-upgrade:

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

Смотрите также EOLUpgrades - Wiki справки сообщества .


9
и просто ради полноты ... как насчет extrasрепозитория (для Skype и т. д.)? Они доступны где-нибудь после EOF?
— МестреЛион

2
проще sudo vi /etc/apt/sources.listи измените его вручную. Я должен был сделать это, потому что я совсем новичок, и я не знаю, что делать, чтобы сделать эту работу для кармы. Спасибо, Ваш ответ все еще действителен и правильный.
— Бхатия-перера

18
Еще более простой способ sudo nano /etc/apt/sources.list, как vi*это только раздражает ...
— Уилф

4
Команда sedне всегда работает, так как есть зеркала, которые используются организациями за пределами ubuntu.com. Я даже не уверен, что есть три точки для всех доменных имен. Для тех, вы должны вручную редактировать /etc/apt/sources.list.
— Олат

3
Существует проблема с этим при обновлении с 15.04 по состоянию на 21.03.17. Vivid больше не поддерживается, однако dist отсутствует в старых выпусках.
— Мэтью Титсворт

114

Какие 404 ошибки

Сообщение об ошибке 404 или Not Found - это стандартный код ответа HTTP, указывающий, что клиент смог установить связь с сервером, но сервер не смог найти то, что было запрошено.

Сервер размещения веб-сайтов обычно создает веб-страницу «404 - Страница не найдена», когда пользователи пытаются перейти по неработающей или неработающей ссылке.

Почему мы сталкиваемся с 404 ошибками

Ubuntu придерживается подхода двух разных циклов выпуска :

Обычные выпуски Ubuntu поддерживаются в течение 9 месяцев. Релизы LTS поддерживаются в течение 5 лет.

Прошлые выпуски могут иметь разные графики поддержки (например, обычные выпуски (до 13.04) поддерживались в течение 18 месяцев, в то время как выпуски LTS (до 12.04) поддерживались в течение 3 лет на настольном компьютере и 5 лет на сервере).

EOL: после окончания периода поддержки определенного релиза; они называются End Of Life (EOL), и все обновления и репозитории пакетов для этого выпуска передаются на другой сервер, что приводит к 404 ошибкам во время работы sudo apt-get update. Вы можете подтвердить, стал ли ваш релиз EOL, перейдя на эту страницу . Если ваша версия Ubuntu упоминается в таблице «End Of Life (EOL)», то эта версия больше не поддерживается, и вы должны попытаться перейти на более новую поддерживаемую версию . Однако, если вы хотите продолжить использовать этот неподдерживаемый выпуск, вам придется внести необходимые изменения, /etc/apt/sources.listчтобы указать на old-releasesсервер Ubuntu.

Шаги для внесения необходимых изменений

  1. Откройте свой терминал:

    • Нажмите Ctrl+ Alt+ T; ИЛИ ЖЕ
    • Если у вас есть Gnome: Applications→ Accessories→ Terminal; ИЛИ ЖЕ
    • Если у вас есть Unity: нажмите Super(клавиша между Left Ctrlи Left Alt) и запросите Terminal.
  2. Запустите следующую команду для входа в корневую оболочку:

    sudo -i
    

    введите свой пароль пользователя и нажмите Enter. Запрос будет изменен и будет означать, что пользователь root теперь вошел в систему. Здесь выполните следующую команду:

    gedit /etc/apt/sources.list
    
  3. Файл откроется в новом окне Gedit. Найдите первую строку, которая не начинается с #. Предположим, вы используете Karmic Koala (Ubuntu 9.10): она должна выглядеть примерно так:

    deb <siteurl> karmic main restricted
    

    где, <siteurl>ваш предпочтительный сервер - http://gb.archive.ubuntu.com/ubuntuв вашем случае (например).

  4. Нажмите Ctrl+, Hчтобы заменить ваш <siteurl>на http://old-releases.ubuntu.com/ubuntu.

    • Поиск: http://gb.archive.ubuntu.com/ubuntuт.е.<siteurl>
    • Заменить на: http://old-releases.ubuntu.com/ubuntuи
    • Нажмите Replace All
  5. Еще раз:

    • Поиск: http://security.ubuntu.com/ubuntu(этот точный URL для всех выпусков Ubuntu - каким бы ни был текущий сервер, который вы используете)
    • Заменить: http://old-releases.ubuntu.com/ubuntu
    • Нажмите Replace All
  6. Сохраните файл и выйдите из Gedit.

  7. Выполните следующую команду, чтобы выйти из корневой оболочки:

    logout
    

    Вы обнаружите, что приглашение переключается обратно, чтобы указать, что ваш обычный пользователь теперь вошел в систему. Затем выполните следующее:

    sudo apt-get update
    

Вот и ты. Нет 404 ошибок на этот раз. Теперь вы можете установить все доступные пакеты для вашей версии Ubuntu. Вы также можете запустить sudo apt-get dist-upgradeустановку любых обновлений Security / Bug-fix, которые еще не установлены, но вы не будете получать дальнейшие обновления Security / Bug-fix от Ubuntu.


6
+1 за включение инструкций по обновлению репозитория безопасности.
— Gaffi

На самом деле первая строка без # была raring main restrictedбез деба. Я изменил его, как указано, а затем также заменил URL, но все равно получил 404s.
— Йохен

2
@Yokhen Если строка не начиналась с deb <siteurl>, то, скорее всего, ваш /etc/apt/sources.listфайл был поврежден по какой-то причине. Пожалуйста, следуйте ответам на: Как мне восстановить репозитории по умолчанию? , Это восстановит правильное значение /etc/apt/sources.listдля вас, а затем следуйте моему ответу, чтобы изменить серверы, чтобы они указывали на сервер старых выпусков.
— Адитья

Спасибо! Каким-то образом мне удалось обновиться с 13.04 до 13.10, и теперь я на пути к 14.04.
— Йохен

1
@Dan, изменил ответ, теперь мы входим в корневую оболочку и затем запускаем графическую программу. Больше не нужно использовать гксудо. Я хочу оставить этот ответ для начинающих пользователей, таких как я, и не хочу усложнять ситуацию с использованием терминальных редакторов, какими бы простыми и мощными они ни были.
— Адитья

57

Краткий ответ - добавить следующий подходящий репозиторий в Программное обеспечение сторонних производителей (или Другое программное обеспечение в более новых версиях) в разделе «Источники программного обеспечения» (или « Программное обеспечение и обновления в более новых версиях»):

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

Длинный ответ ...

GUI метод

Ну, на самом деле мы сделаем это без использования какого-либо терминала . Даже не один раз. Просто графический интерфейс, обещаю ;-)

Во-первых, откройте Software Sources (или Software & Updates в более новых версиях). Неважно, сколько лет вашей Ubuntu, конечно, есть что-то вроде этого. Для Ubuntu 9.04 (Jaunty Jackalope) посмотрите на следующее изображение, чтобы увидеть, где находится:

Открытые программные источники

После того, как Software Sources (или Software & Updates ) откроется, перейдите на вкладки Ubuntu Software and Updates и отмените выбор, как на следующих рисунках. Вам это больше не нужно, так как ваша версия Ubuntu - End of Life :

Вкладка Ubuntu Software


введите описание изображения здесь

Не закрывая « Источники программного обеспечения» (или « Программное обеспечение и обновления» ), перейдите на вкладку « Стороннее программное обеспечение» (для новейших выпусков эта вкладка называется « Другое программное обеспечение» ) и добавьте новый репозиторий apt. Вставьте точно следующую строку, когда вас спросят:

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

Если ваша версия Ubuntu отличается от 9.04, замените в приведенной выше строке jauntyсвое кодовое имя Ubuntu (например, если у вас Ubuntu 9.10, замените на karmicи т. Д.):

Вкладка «Стороннее программное обеспечение»

Теперь, когда вы закроете « Источники программного обеспечения» (или « Программное обеспечение и обновления» ), вас попросят перезагрузить информацию о доступном программном обеспечении. Просто убедитесь, что у вас есть работающее подключение к интернету:

Перезагрузите доступное программное обеспечение


Загрузка доступного программного обеспечения

И теперь вы можете загрузить почти все, что вы хотите. Для 9.04 вы можете использовать Synaptic Package Manager . Для новейших выпусков есть Ubuntu Software Center .

Например, чтобы установить VLC в Ubuntu 9.04 с помощью Synaptic Package Manager, следуйте инструкциям на следующих рисунках:

Откройте менеджер пакетов Synaptic


Поиск VLC в SPM


Марк VLC


Марка дополнительного VLC


Применить VLC


Скачать VLC


Открыть VLC

Если вы хотите обновить Ubuntu до новой версии, просто перейдите в Система > Диспетчер обновлений :

Диспетчер обновлений


Обновить

Я проверил этот метод из живого сеанса Ubuntu 9.04 (Jaunty Jackalope), и, как вы можете видеть из этих картинок, он работал. Если вы находитесь в установленном сеансе Ubuntu, вас иногда будут спрашивать пароль root или пароль администратора. Просто введите ваш личный пароль пользователя, когда вас спросят.


1
Я только что сделал все это с установленной версии 10.10 (Maverick). Все хорошо хорошо, как описано. @Radu, твой ответ безупречен!
— Гедиминас Иеремия Гуделис

1
Эти изображения нуждаются в обновлении ... подождите ... что вы делаете до 12.04?
— Брайам

1
@Braiam Эти изображения актуальны. Если вы попробуете Ubuntu 9.04 (Jaunty Jackalope) , вы поймете.
— Раду Рэдяну

1
@ RaduRădeanu Ubuntu 9.04 был моим первым набегом в мир Linux. Ах, эти скриншоты возвращают воспоминания!
— Tyzoid

Не удается заставить это работать для 15.04, чтобы быть обновленным до 16.04. Не можете пройти мимо добавления новой строки APT, пожалуйста, помогите.
— MrMule

22

Я попал сюда, так как не смог обновить систему с 15.10 (EOL) до 16.04. Но ни один из ответов не сработал для меня ... даже после выполнения всего, что было предложено здесь, я продолжал получать sudo do-release-upgradeраздражающий ответ:

Checking for a new Ubuntu release  
No new release found

И у меня не было успеха в беге update-manager; это продолжало бросать исключения, которые я не мог разрешить. Я подозреваю, что что-то повреждено в моей установке 15.10, но суть в том, что встроенные обновления просто не работают.

Поэтому я искал не встроенный метод и, конечно же, нашел его, глядя на этот ответ .

Вот решение, которое сработало для меня:

  1. Откройте http://changelogs.ubuntu.com/meta-release
  2. Найдите выпуск, который вы хотите обновить. В моем случае это Xenial Xerus (16.04 Long Term Support).
  3. Найдите URL UpgradeTool. Для ксениала именно этот . Загрузите tarball с этого URL в пустую папку и откройте его ( tar -xzfили используя графический интерфейс).
  4. Найдите исполняемый файл с тем же именем, что и дистрибутив (в моем случае xenial). Запустите это с sudo:

    sudo ./xenial &

  5. Утвердите обновление и дождитесь завершения загрузки - там тысячи файлов и, вероятно, больше гигабайта. Продолжить установку обновления ...

(Отредактировано долгое время после того, как я выполнил обновление ... Это было успешно, и я забыл обновить)

  1. Подождите, пока он не завершится, одобрите, если спросят ... Я не помню точные детали

  2. После перезагрузки новая версия работает успешно, и все обновления могут быть загружены в обычном режиме.


1
Мне понадобилось время, чтобы найти этот пост. Только используя указанный tarball, мне удалось запустить обновление с 15.04 / wily. Подходы с использованием старых версий URL не работали. Я надеюсь, что это поможет другим пользователям попасть в эту проблему.
— Йерун

Я рад, что вы нашли это полезным!
— смеяться

1
Большое спасибо за это, я просто использовал эти шаги для обновления 10.04 до 12.04. Моя проблема была в том, что моя установка не была повреждена, но при do-release-upgrade произошла ошибка, которую я не смог найти в терминале. После этих шагов появилось диалоговое окно с сообщением «ошибка аутентификации некоторых пакетов», которое привело меня к askubuntu.com/a/426121/262601, который DID позволил успешно продолжить обновление. Вытаскивал мои волосы, но это моя вина, что я не обновился раньше.
— Fooxz

К сожалению, даже это не работает для
— 15.04

Работает как шарм! У меня был zesty сервер, которым я пренебрегал, и я нашел его хитрым и смог оттуда обновиться, спасибо!
— Патрик Корнелиссен

17

Чтобы apt-getснова начать работать, измените исходные коды программного обеспечения на старые репозитории выпусков.

gksudo gedit /etc/apt/sources.list

удалите все, что там есть, и вставьте следующее:

# 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

Вот и все.


Спасибо, что угодно, но результат тот же, когда я пытаюсь "apt-get install lm-sensor". Может быть, есть еще один отсутствующий источник: «Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово Пакет lm-sensor недоступен, но упоминается другим пакетом. Это может означать, что пакет отсутствует, имеет устарел или доступен только из другого источника. E: Пакет lm-
— sensor

Вот эти дабы : old-releases.ubuntu.com/ubuntu/pool/main/l/lm-sensors-3 . Я верю, что вы перезагрузили список источников, верно?
— Что бы ни случилось

Этот ответ не работает ... Почему у него так много голосов? Кто-нибудь проверял это на самом деле?
— Томаш Зато

Я проверил это, но реальный вопрос: почему ты все еще на Karmic? Он уже давно не поддерживается, и вам стоит перейти к более позднему выпуску.
— независимо от того, что

12

Хотя ответ fossfreedom хорошо описывает и решает проблему , я нашел вариант решения, который, на мой взгляд, проще и немного элегантнее.

Хитрость заключается в том, чтобы добавить его http://old-releases.ubuntu.com/ubuntu/в качестве зеркала , а затем указать программным источникам переключиться на это зеркало.

Для этого сделайте резервную копию и отредактируйте /usr/share/python-apt/templates/Ubuntu.mirrors. Выберите поддельное местоположение для сервера старых выпусков (например #LOC:US) и добавьте следующую строку под ним:

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

Теперь откройте диалоговое окно системных источников программного обеспечения и выберите вручную, old-releases.ubuntu.comкак будто это ваше региональное зеркало. Вы должны найти его в списке под фальшивым местоположением, которое вы выбрали на предыдущем шаге.

В следующий раз, когда вы перезагрузите информацию о пакете через Synaptic или Update Manager, вы должны увидеть, что он успешно получает обновленную информацию о пакете.


Работает хорошо, очень легко и быстро
— Дуг


5

Вы можете найти репозитории на сервере "старые выпуски" http://old-releases.ubuntu.com/ubuntu/dists/

И о том, как редактировать /etc/apt/sources.list https://help.ubuntu.com/community/EOLUpgrades


Спасибо gajdipajti, я ищу его в списке пакетов, но не могу найти правильный ".deb". В моей Ubuntu уже есть "libsensors3", но все пакеты запрашивают у меня "libsensors4". Я знаю, что нормальным решением должно быть обновление, но я не могу сделать это, потому что компьютер предназначен для использования с программным обеспечением, которое работает только на 9.10.
— Рорро

@Rorro: Какое программное обеспечение работает только на Ubuntu 9.10?
— незабываемый

1

Существует крайний случай - apt-get утверждает, что 16.04 LTS не существует - где старый пакет (Vivid, в моем случае) не был на сервере "старых выпусков". Но apt-get мог найти только обновления ядра и Google.

Я не уверен, в чем именно заключалась моя проблема, потому что я слепо следовал команде принятых ответов sed(никогда не умный ход).

Это не сработало, потому что Vivid не был в архиве "старых выпусков", но все еще был в gb.archive.ubuntu.comзеркале.

В этом конкретном случае решение было следующим:

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

Внимательно просмотрите все источники и обнаружите, что один из них был старым и неправильным и не был должным образом обновлен (или что-то еще). Или, как я сделал, поиск замены от old-releases.ubuntu.comдо gb.archive.ubuntu.com. Затем он без проблем обновился до следующего выпуска, пока я не начал читать.

Так что либо:

  1. В моих источниках произошла ошибка
  2. У gb.archive.unbuntu.comзеркала есть более старый набор выпусков.

Вывод здесь заключается в том, что, хотя большинство ответов здесь могут применяться в некоторых случаях, было бы полезно убедиться, что вы /etc/apt/sources.listправы, прежде чем использовать его для архива «старых выпусков».

Вы можете выяснить, какая версия архива или вашего зеркала имеет нужную вам версию, просто наведя вкладку браузера на архив и вопрос и найдя название вашей версии в списке папок. Какой бы ни была ваша версия, это источник, который вам нужно использовать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.