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, проверьте этот вопрос:
Это скрипт для автоматического удаления всех PPA 404 Not found. Скопируйте приведенный ниже код, вставьте его в файл и назовите его как 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($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /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($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /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($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
Awk ищет линии , которая состоит из W:
, launchpad
, 404
в /tmp/update.txt
file.If он обнаружил , что то в этой строке отображается (STDOUT) все буквы , начиная с 26 - го места в column5.This стандартный вывод был перенаправлен (письменно) в /tmp/awk.txt
файл.
Например:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
5-я колонна - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
в этом 5-м столбце начинаются с 26-го символа pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Эта строка была сохранена в /tmp/awk.txt
файл. Теперь следующая команда,
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
awk находит столбцы column1 и column2 с разделителем, в /
котором столбцы column1 и column2 объединяются /
из /tmp/awk.txt
файла, а затем перенаправляют (записывают) стандартный вывод в /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 из вашей системы. Следуйте этому вопросу о том, как удалить PPA:
Это сообщения об ошибках, которые вы получаете для 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*
/etc/apt/sources.list
где я проверил, но не знал, что мне тоже пришлось заглянуть /etc/apt/sources.list.d/
... спасибо ..
Если вам действительно нужны пакеты из этого репозитория, вы можете использовать зеркала из более ранней версии.
Тем не менее, обратите внимание, что не все старые версии имеют обратную совместимость ; некоторые из них вызывают конфликты с вашим основным хранилищем пакетов.
Единственное, что вы можете сделать, когда он конфликтует, это либо собрать из исходного кода, либо подождать, пока провайдер не выпустит репозиторий для вашей версии Ubuntu. Мы точно не знаем , когда поставщики пакетов выпустят свой пакет для нашей версии, поэтому вы сами проверяете их репозиторий на предмет вашего выпуска.
Это можно использовать с любым репозиторием на основе Debian. Тем не менее, нет никаких гарантий, что это будет успешным.
sudo apt update
после добавления PPA / репозитория. При обновлении вы можете заметить 404 ошибки; просто игнорируй это.
https://dl.winehq.org/wine-builds/ubuntu
. Обычно доступные версии находятся в dists/
.
bionic
на artful
.
sudo apt update
снова.Обратите внимание, что это уже случилось со мной, и я был вне этих ситуаций. И это также сработало для моего друга. Даже не имея возможности объяснить почему, есть кое-что, что решило эту проблему:
sudo apt-get update
из терминала;sudo apt-get update
;И вдруг это сработало. Не спрашивай меня почему.
sudo apt-get update
и он работал отлично.
Если вы получаете сообщение об ошибке 404, пытаясь получить файлы безопасности или системные файлы из официального репозитория (не PPA), вы можете выбрать другое зеркало для решения этой проблемы.
Вы также можете:
А) определите его вручную, просмотрев этот список и выбрав самое последнее зеркало. (вы можете принять во внимание другие факторы, такие как расстояние и пропускная способность) или
Б) Выберите один автоматически.
В любом случае вы можете начать с приложения Software & Updates, как показано ниже: Затем выберите Download from, а затем Other. Затем вы можете вручную выбрать зеркало из списка или нажать кнопку «Выбрать лучший сервер», чтобы запустить несколько тестов и выбрать лучший сервер для вас в зависимости от текущих условий.
Я испробовал все возможные ответы, но единственным решением было скопировать файл Ubuntu 16.04 Xenial по умолчанию /etc/apt/sources.list в мой /etc/apt/sources.list
.
Источники: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Это спасло мой Linux.