12 января 2011 г.

Ошибка 404 в репозиториях Linux.

В последнее время, а именно на свежих версиях дистрибутивов Linux частенько стала проявляться ошибка 404. По крайней мере, у мня именно так. Большинство пользователей интернета знают, что это за ошибка, которая сопровождается надписью "Not Found". Для интернета все понятно: запрашиваемый вами адрес отсутствует.

А что же делать, если вы подключили новый репозиторий и при попытке установки с него приложения вы получаете ошибку 404? Что это такое? Как нету? И еще масса других эмоций проявляется при виде данной ошибки. И что теперь? Я не смогу установить нужный мне пакет? Нет, установить вы его сможете, даже если не с репозитория, то с исходников :) .

А решение данной проблемы весьма простое, но прежде чем его рассказать, я хотел бы описать пример происхождения данной ошибки, что-бы в дальнейшем было все ясно и понятно.

Итак, у меня имеется на девайсе Linux Ubuntu 10.10 и что-то мне захотелось в "гоночки" какие-нибудь поиграть :) . Нашел себе Speed Dreams и решил "прикрутить" репозиторий где и находятся пакеты данной игры. Прикручиваю известный всем образом новый репозиторий данной игры:

sudo add-apt-repository ppa:speed-dreams/ppa

Естественно ввожу пароль... И получаю данную информацию:

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 8A25D39F44452FC12F8B666850122C99B5EAAD39
gpg: запрашиваю ключ B5EAAD39 с hkp сервера keyserver.ubuntu.com
gpg: ключ B5EAAD39: "Launchpad PPA for Speed Dreams" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1

Далее обновляю информацию о репозиториях:

sudo apt-get update

И любуюсь интересной ошибкой в конце списка:

W: Не удалось получить http://ppa.launchpad.net/speed-dreams/ppa/ubuntu/dists/maverick/main/source/Sources.gz 404 Not Found

W: Не удалось получить http://ppa.launchpad.net/speed-dreams/ppa/ubuntu/dists/maverick/main/binary-i386/Packages.gz 404 Not Found

E: Некоторые индексные файлы не скачались, они были проигнорированы или вместо них были использованы старые версии

И даже если я проигнорирую эту ошибку и попытаюсь установить игру:

sudo apt-get install speed-dreams-beta

То получу вразумительный ответ:

E: Не удалось найти пакет speed-dreams-beta

И в чем же причина данной ошибки? Вроде бы все делал как нужно... А причина данной ошибки в том, что для данного дистрибутива (напомню что в примере используется Linux Ubuntu 10.10) данной игры еще нет! И что же теперь? Я не погоняю на каком-нить низкополигональном болиде? Нет, я решу эту проблему (вот с таким энтузиазмом должны решать возникающие сложности в LInux новички :) )! - вот и подошло время рассказать вам, как решить эту проблему.

А решить ее очень просто: нужно всего-лишь в источниках приложений указать для данного репозитория дистрибутив более ранний (то есть 10.04). А как это делается объясняю по порядку:

Открываем приложение "Источники приложений", оно находиться в Система - Администрирование - Источники приложений. Находим репозиторий игры - имеет всего две строки:

http://ppa.launchpad.net/speed-dreams/ppa/ubuntu main
http://ppa.launchpad.net/speed-dreams/ppa/ubuntu main (Исходный код)

Выделяем первую строку, нажимаем на кнопку "Изменить..." и в поле "Дистрибутив" вводим имя предыдущего дистрибутива: lucid (напомню, что имя предыдущего дистрибутива было Lucid Lynx), как это показано на скриншоте:


Нажимаем кнопочку "Ок" и проделываем тоже самое со второй строчкой. Теперь обновляем сведения о репозиториях и смело (если вам опять не выдало подобной ошибки) устанавливаем игру :) .

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

P.S. Speed Dreams не единственное приложение, которого в репозиториях нету для Maverick Meerkat - я уже успел насчитать штук пять...

4 комментария:

  1. Спасибо, помогли.

    ОтветитьУдалить
  2. Не всегда так. Иногда (На Минт13) надо подождать часок, потом обновиться. И всё нормально и не надо никакого более раннего дистра нигде прописывать. Это просто так устроено.
    На Дебиане (в "главных" репах) такое не наблюдается.

    ОтветитьУдалить
  3. У меня вообще ни чего не устанавливалось, помогло следующее.
    На вашем скриншоте, Источники приложений.
    Закладка. Программное обеспечение Ubuntu.
    выберите другой сервер, например Тайвань.

    Ubuntu 10.10

    ОтветитьУдалить
    Ответы
    1. То есть Ubuntu 10.10 у Вас установлена в данный момент?

      Удалить