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

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

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

12 ответов

Решение

Репозитории для более старых выпусков, которые не поддерживаются (например, 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 справки сообщества.

Какие 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 а также
    • Нажмите Заменить все
  5. Снова:

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

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

    logout
    

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

    sudo apt-get update
    

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

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

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 или пароль администратора. Просто введите ваш личный пароль пользователя, когда вас спросят.

Я попал сюда, так как не смог обновить систему с 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. Для ксениала именно этот. Загрузите архив с этого URL в пустую папку и откройте его (tar -xzf или используя графический интерфейс).
  4. Найдите исполняемый файл с тем же именем, что и дистрибутив (в моем случае xenial). Запустить его с sudo:

    sudo ./xenial &

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

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

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

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

Получить 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

Вот и все.

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

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

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

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

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

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

Обновите очень старый Ubuntu

Если ваш Ubuntu (Kubuntu, Xubuntu, Mythbuntu, любой-buntu) действительно старый, вам нужно будет выполнить три шага для обновления до последней версии:

  1. Взломайте средство обновления пакетов (APT), чтобы обновить вашу систему до последней версии, доступной в репозитории старых выпусков (включая диспетчер обновления выпусков).
  2. Взломайте диспетчер обновления выпуска, чтобы он согласился перейти на следующую (официально не поддерживаемую) версию.
  3. Выполните актуальное обновление выпуска (и повторите).

Помните, что вам разрешено обновляться только с одного "нормального" выпуска на следующий и с выпуска с длительной поддержкой (LTS) до следующего выпуска LTS.

Обновите систему до последней версии, доступной на http://old-releases.ubuntu.com/

Установите источники пакетов на old-releases.ubuntu.com и обновите

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 && sudo apt autoremove

Настройте диспетчер обновления выпуска с локальными данными

Получить файлы мета-релиза

wget -O - http://changelogs.ubuntu.com/meta-release  > meta-release
wget -O - http://changelogs.ubuntu.com/meta-release-lts  > meta-release-lts

Отредактируйте мета-выпуск, чтобы установить все следующие выпуски как поддерживаемые

Вы должны установить Supported: 1 для каждого выпуска.

Пример: я был на Ubuntu17.04 (Zesty Zapus) и установил все поддерживаемые выпуски, начиная с хитрого.

Dist: artful
Name: Artful Aardvark
Version: 17.10
Date: Thu, 19 October 2017 17:10:00 UTC
Supported: 1
Description: This is the 17.10 release
Release-File: http://old-releases.ubuntu.com/ubuntu/dists/artful-updates/Release
ReleaseNotes: http://changelogs.ubuntu.com/EOLReleaseAnnouncement
UpgradeTool: http://old-releases.ubuntu.com/ubuntu/dists/artful-updates/main/dist-upgrader-all/current/artful.tar.gz
UpgradeToolSignature: http://old-releases.ubuntu.com/ubuntu/dists/artful-updates/main/dist-upgrader-all/current/artful.tar.gz.gpg
…

Также убедитесь, что URL-адреса для UpgradeTool и UpgradeToolSignature начать с http://old-releases.ubuntu.com (не http://archive.ubuntu.com).

редактировать /etc/update-manager/meta-release указать на локальный мета-релиз

Замените исходные URI на URI, указывающие на ваши локальные файлы мета-выпуска

[METARELEASE]
URI = file:///home/chris/meta-release
URI_LTS = file:///home/chris/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed

Обновить

sudo do-release-upgrade
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt autoremove

Перезагрузитесь, когда вас попросят.

Повторяйте это, пока ваша система не обновится.

Когда вас спросят, ответьте, что вы хотите сохранить отредактированную версию /etc/update-manager/meta-release за исключением последнего обновления.

Когда вы привязаны к старому выпуску

Описанный выше процесс помог мне выполнить обновление до неподдерживаемой версии, а затем до последней версии LTS, и я больше не мог обновляться.

Что я сделал: Ubuntu17.04 (Zesty Zapus) → Ubuntu 17.10 (Artful Aardvark) → Ubuntu18.04 (BionicBeaver)

Затем я нашел -p (--proposed) вариант do-release-upgrade.

do-release-upgrade -p

Он пытается обновиться до последней доступной версии! И это сработало: я пропустил два выпуска и сразу перешел с Ubuntu18.04 (BionicBeaver) на Ubuntu 19.10 (Eoan Ermine)!

Возможно, сработало бы обновление Ubuntu17.04 (Zesty Zapus) до Ubuntu19.10(EoanErmine) за один прогон.

Похоже, что кармические репозитории больше не доступны.

Поскольку они предназначены для предыдущей версии Ubuntu, вы можете удалить их из списка источников. Посмотрите на эту страницу справки для пошаговой инструкции.

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

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

Существует крайний случай - 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 правильно, прежде чем уничтожить его для архива "старых выпусков".

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

Обновление с 18.10 до 19.10 Ubuntu

Если у вас есть версия EOL и вы не боитесь переустанавливать систему с нуля или просто без форматирования этой старой системы, вы можете попробовать это. Пробовал только из любопытства и в тестовых целях. Не настоящее оборудование, но для этого использовалась виртуальная машина. НЕ ИСПОЛЬЗУЙТЕ ЕГО НА ПРОД. Но как ни странно, если у вас на прод.

Пытаясь правильно ответить на вопрос, я установил Ubuntu 18.10 eol в VirtualBox VM.

  • Я изменил текущий /etc/apt/sources.list до версии 18.04 Ubuntu:

    deb http://ua.archive.ubuntu.com/ubuntu/ bionic main restricted
    deb http://ua.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
    deb http://ua.archive.ubuntu.com/ubuntu/ bionic universe
    deb http://ua.archive.ubuntu.com/ubuntu/ bionic-updates universe
    deb http://ua.archive.ubuntu.com/ubuntu/ bionic multiverse
    deb http://ua.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
    deb http://ua.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb http://archive.canonical.com/ubuntu bionic partner
    deb http://security.ubuntu.com/ubuntu bionic-security main restricted
    deb http://security.ubuntu.com/ubuntu bionic-security universe
    deb http://security.ubuntu.com/ubuntu bionic-security multiverse
    
  • Изменено /etc/lsb-release кому:

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=18.04
    DISTRIB_CODENAME=bionic
    DISTRIB_DESCRIPTION="Ubuntu 18.04 lts"
    
  • sudo apt update && sudo apt upgrade && sudo do-release-upgrade

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

Началось без проблем.

$ cat /etc/lsb-release && uname -a
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.10
DISTRIB_CODENAME=eoan
DISTRIB_DESCRIPTION="Ubuntu 19.10"
Linux ubuntu18 5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Тестирование:
Приложения открываются правильно.
/etc/apt/sources.list были созданы с дубликатами репозиториев eoan, поэтому я удалил лишние записи, и теперь это:

deb http://us.archive.ubuntu.com/ubuntu/ eoan main restricted
deb http://us.archive.ubuntu.com/ubuntu/ eoan-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ eoan universe
deb http://us.archive.ubuntu.com/ubuntu/ eoan-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ eoan multiverse
deb http://us.archive.ubuntu.com/ubuntu/ eoan-updates multiverse
deb http://security.ubuntu.com/ubuntu eoan-security main restricted
deb http://security.ubuntu.com/ubuntu eoan-security universe
deb http://security.ubuntu.com/ubuntu eoan-security multiverse

Установлен scribus, snap, mariadb-server, docker, openssh-server с помощью sudo apt install без проблем.

Установлен gimp используя оснастку: snap install gimp --classic (Появился запрос аутентификации и после начала установки ввода пароля)

Похоже, что обычная стабильная система Ubuntu 19.10 обновлена ​​правильно, как и мой хост.

В моем случае я застрял в 19.04 на несколько месяцев, потому что я не обновлялся вовремя, и я не смог выполнить обновление до 19.10 после этого времени. Но на днях Ubuntu автоматически дает мне возможность выполнить частичное обновление до 19.10 (может быть, потому, что я сделал много вещей несколько недель назад, но, извините, я не могу быть уверен в причине). Так что я сделал это, и результатом стал Ubuntu 19.10. Поэтому я думаю, что смогу сделать еще одно обновление до 20.04.1, но это невозможно, потому что 19.10 достиг EOL.

Решение, которое я нашел сегодня, 16 декабря 2020 г., для обновления Ubuntu 19.10 в EOL, заключается в следующем:

  1. Редактировать /etc/apt/sources.list

  2. Скопируйте следующий список источников (https://gist.github.com/ishad0w/788555191c7037e249a439542c53e170):

            deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse 
    deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse 
    deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse 
    deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse 
    deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
    
    deb http://archive.canonical.com/ubuntu focal partner 
    deb-src http://archive.canonical.com/ubuntu focal partner
    
  3. Вставьте его в свой sources.listи отключить с помощью #Эоанские ссылки.

  4. В терминале: update-manager. Это откроет окно Software Updater и проверит наличие обновлений и обновлений . Здесь я могу сделать еще одно частичное обновление, в данном случае до 20.04.1LTS. Другая lsb_release -aпоказывает, что я в 20.04.1LTS.

Я надеюсь, что это когда-нибудь послужит кому-нибудь.

Счастливого Рождества всем.

Другие вопросы по тегам