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


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: ApplicationsAccessoriesTerminal; ИЛИ ЖЕ
    • Если у вас есть 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.