PPA, похоже, постоянно находится в автономном режиме. Всякий раз, когда я использую sudo apt-get update
, эта ошибка отображается:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Как исправить эти ошибки?
PPA, похоже, постоянно находится в автономном режиме. Всякий раз, когда я использую sudo apt-get update
, эта ошибка отображается:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Как исправить эти ошибки?
пропустите нижнюю часть этого ответа для сценария, чтобы удалить непоправимые программные источники для всех версий Ubuntu до Ubuntu 15.04
Сообщение об ошибке 404 или Not Found является стандартным кодом ответа HTTP что клиент смог связаться с сервером, но сервер не смог найти запрошенное.
Сервер хостинга веб-сайта обычно генерирует "404 - Страница не Найдено ", когда пользователи пытаются следовать сломанной или мертвой ссылке.
Как правило, три основных области вызывают эти ошибки в update-manager
PPA обычно сохраняются в одном из двух местоположений
/etc/apt/sources.list
/etc/apt/sources.list.d/
, например webupd8team-jupiter-natty.list
Этот файл списка обычно содержит:
deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
Обратите внимание, что символ #
в начале строки текста означает, что он закомментирован и не проверен менеджером пакетов.
Как правило, если вы запускаете sudo apt-get update
из терминала или нажмите кнопку сведений в диспетчере обновлений после нажатия кнопки обновления, вы увидите такие ошибки, как:
Если ошибка вызвана PPA - обычно отключение так называемого PPA с URL-адресом, указанным в сообщении об ошибке, разрешит это.
Если ошибка 404 возникла из-за дополнительного репозитория, который был добавлен в /etc/apt/sources.list
, тогда его проще добавить символ #
в начало строки, чтобы закомментировать нарушительный репозиторий, т. е.
gksu gedit /etc/apt/sources.list
Я написал быстрый скрипт, который проверяет PPA и Software-Sources, которые показывают ошибки 404. Это работает для всех версий Ubuntu до 15.04. В течение 15.04 и позже выполните описанные выше ручные методы.
В моем PPA:
sudo add-apt-repository ppa:fossfreedom/packagefixes
sudo apt-get update
sudo apt-get install banish404
Вы можете просто загрузить пакет deb и установить его напрямую:
wget https://launchpad.net/~fossfreedom/+archive/packagefixes/+files/banish404_0.1-4_all.deb
sudo dpkg -i banish404_0.1-4_all.deb
N.B. его же пакет deb для всех дистрибутивов.
Вопросы / комментарии / Улучшение, пожалуйста, Launchpad Свяжитесь со мной ссылку
Как использовать:
sudo banish404
Сценарий будет автоматически создавать резервные копии ваших источников до их модификации - для поиска в /etc/apt
Вот отчет об ошибке в менеджере обновлений для решения этой проблемы:
Если вы получаете эти проблемы без PPA, проверьте этот вопрос:
Это скрипт, который автоматически удаляет все 404 Не найденные PPA'. Копируйте приведенный ниже код и вставьте его в файл и назовите его как ppa-remove
.
#!/bin/bash
sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait"
sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt; sort -u /tmp/awk1.txt > /tmp/awk2.txt
tput sgr0
if [ -s /tmp/awk2.txt ]
then
tput setaf 1
printf "PPA's going to be removed\n%s\n" "$(cat /tmp/awk2.txt)"
tput sgr0
while read -r line; do echo "sudo add-apt-repository -r ppa:$line"; done < /tmp/awk2.txt > out
bash out
else
tput setaf 1
echo "No PPA's to be removed"
tput sgr0
fi
Предоставить разрешение на выполнение скрипта
sudo chmod +x ppa-remove
Скопируйте и вставьте файл ppa-remove
в каталог /usr/bin
. Таким образом вы можете получить доступ к нему из любого места.
sudo ppa-remove
[ -f /tmp/update.txt ] && sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" || echo "No update file"
Команда tput setaf 6
превращает цвет текста терминала в зеленый. Затем отображается «Инициализация .. Подождите» в зеленом цвете.
sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt; uniq /tmp/awk1.txt > /tmp/awk2.txt
sudo apt-get update >> /tmp/update.txt 2>&1;
р>
Оба файла stdout и stderr команды sudo apt-get update
записываются в файл /tmp/update.txt
awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt;
р> Awk ищет строку, состоящую из W:
, launchpad
, 404
в файле /tmp/update.txt
. Если она обнаружила, что тогда в этой строке отображается (stdout) все буквы, начиная с 26-го местоположения в столбце. Этот стандартный выход был перенаправлен (записан) в файл /tmp/awk.txt
.
Например:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
5th coloumn - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
в этом пятом столбце начинаются с 26-го символа - pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Эта строка была сохранена в файле /tmp/awk.txt
. Теперь следующая команда
awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt;
awk найдите столбец1 и столбец2 с разделителем /
, где столбец1 и столбец2 объединяются /
из файла /tmp/awk.txt
и затем перенаправляют (записывают) файл stdout в файл /tmp/awk1.txt
.
Теперь файл /tmp/awk1.txt
содержит pitti/postgresql
.
uniq /tmp/awk1.txt > /tmp/awk2.txt
р>
Если есть две одинаковые строки, команда unique
отображает только одну строку (stdout). Эта отдельная строка была записана в /tmp/awk2.txt
Наконец, /tmp/awk2.txt
состоит из уникальных имен PPA.
tput sgr0
Эта команда изменяет цвет текста терминала на белый.
Наконец, будут выполняться условные выражения if
. if [ -s /tmp/awk2.txt ]
проверяет наличие файла /tmp/awk2.txt или нет. Если да, то он берет первую строку из /tmp/awk2.txt
и выполняет команду sudo add-apt-repository -r ppa:$line
. Она продолжается до последней строки.
Если нет, это означает, что нет содержимого. Так говорится: «Нет PPA для удаления».
Вы получаете эти ошибки, потому что ваши репозитории PPA не предоставляют пакеты для вашего распространения Ubuntu (т.е. quantal
).
Посмотрите на следующие скриншоты:
Вы можете видеть, что каталог для quantal
отсутствует и, следовательно, вы получаете 404 Not Found Error Messages
. р>
Чтобы избавиться от этих сообщений, вам необходимо удалить эти репозитории PPA из вашей системы. Следуйте этому вопросу о том, как удалить PPAs:
Это сообщения об ошибках, которые вы получаете для wdt-main
PPA:
W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/source/Sources 404 Not Found
, W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/binary-amd64/Packages 404 Not Found
, W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/binary-i386/Packages 404 Not Found
Откройте вкладку своего браузера и откройте ссылку, которая дает 404 Not Found Errors. В этом случае http://ppa.launchpad.net/petrakis/
и углубиться по ссылке, которая дает ошибки. Вы сможете увидеть, что представляет собой настоящая проблема.
Наиболее вероятным, что это происходит, является то, что PPA больше не поддерживается и его необходимо удалить. Вы можете сделать это, используя:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
Обратите внимание, что это уже произошло со мной, и я был в этих ситуациях. И он также работал на моего друга. Даже не имея возможности объяснить, почему есть что-то, что решает эту проблему:
sudo apt-get update
из терминала; sudo apt-get update
; И вдруг это сработало. Не спрашивайте меня, почему.
Если вы получаете ошибку 404, пытающуюся получить безопасность или системные файлы из официального репозитория (а не PPA), вы можете выбрать другое зеркало для решения этой проблемы. Р>
Вы можете:
A) выберите один вручную, просмотрев этот список и выбрав самый текущий зеркало. (вы можете принять во внимание другие факторы, такие как расстояние и пропускная способность) или
B) Выберите один из них автоматически.
В любом случае вы можете начать с Software & amp; Приложение обновлений, как показано ниже: Затем выберите «Загрузить», а затем «Другое». Затем вы можете вручную выбрать зеркало по своему выбору из списка или нажать кнопку «Выбрать лучший сервер», которая будет запускать некоторые тесты и выбрать лучший сервер для вас в зависимости от текущих условий.