PPA постоянно находится в автономном режиме. Всякий раз, когда я использую sudo apt-get update
, эта ошибка отображается:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Как исправить эти ошибки?
Наиболее вероятное, что это происходит, - то, что PPA больше не поддерживается и должен быть удален. Вы можете сделать это, просто используя:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
пропустите к нижней части этого ответа для способа в виде сценария удалить незаконные источники программного обеспечения для всех версий человечности до Ubuntu 15.04
404 или Не Найденное сообщение об ошибке является кодом ответа стандарта HTTP, указывающим, что клиент смог связаться с сервером, но сервер не мог найти то, что требовали.
Сервер веб-хостинга будет обычно генерировать "404 - Страница Не Найденная" веб-страница, когда пользователи попытаются перейти по разорванной или битой связи.
Как правило, три основных области вызывают эти ошибки в update-manager
PPAs обычно сохраняются в одном из двух мест
/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
Примечание a #
впереди строки текстовых средств, что это комментируется и не проверяется диспетчером пакетов.
Как правило, если Вы работаете sudo apt-get update
от терминала или нажимают кнопку деталей в Менеджере обновлений после удара кнопки Обновить, как которая Вы будете видеть ошибки, такие:
Если ошибка произойдет из-за PPA - то обычно удаление галочки у столь же именованного PPA с URL, показанным в сообщении об ошибке, разрешит это.
Если 404 ошибки происходили из-за другого хранилища, которое было добавлено к /etc/apt/sources.list
затем его более легкое для добавления #
символ к запуску строки, чтобы прокомментировать незаконный репозиторий т.е.
gksu gedit /etc/apt/sources.list
Вот отчет об ошибках на менеджере по обновлению для решения этой проблемы:
Если Вы получаете эти проблемы без PPAs, проверяете этот вопрос:
Вы получаете эти ошибки, потому что ваши репозитории PPA не предоставляют пакеты для вашего дистрибутива Ubuntu (то есть; quantal
).
Посмотрите на следующие скриншоты:
[ 1122] ppa: screenlets / ppa
Вы можете видеть, что каталог для 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/
и идти глубже по ссылке, которая дает ошибки. Вы сможете увидеть, в чем проблема на самом деле.
Это скрипт для автоматического удаления всех 404 Not found PPA's. Скопируйте приведенный ниже код и вставьте его в файл и назовите его как 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
. Если он обнаружил, что тогда в этой строке он выводит (stdout) все буквы, начиная с 26-го места в столбце 5. Этот стандартный вывод был перенаправлен (записан) в файл /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 обнаружит столбец1 и столбец2 с разделителем /
, где столбец1 и столбец2 объединены с помощью /
из файла /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».
Обратите внимание, что это уже случилось со мной, и я был вне этих ситуаций. И это также сработало для моего друга. Даже не имея возможности объяснить почему, есть кое-что, что решило эту проблему:
sudo apt-get update
из терминала; sudo apt-get update
; И вдруг это сработало. Не спрашивайте меня, почему.
Если вам действительно нужны пакеты из этого репозитория, вы можете использовать зеркала из более раннего выпуска.
Тем не менее, обратите внимание, что не все более ранние версии имеют обратную совместимость ; некоторые из них вызывают конфликты с вашим основным хранилищем пакетов.
Единственное, что вы можете сделать, когда он конфликтует, это либо собрать из исходного кода, либо подождать, пока провайдер не выпустит репозиторий для вашей версии Ubuntu. Мы не знаем точно , когда провайдеры пакетов выпустят свой пакет для нашей версии, поэтому вы ответственны за проверку их репозитория для вашего выпуска.
Это можно использовать с любым репозиторием на основе Debian. Тем не менее, нет никаких гарантий, что это будет успешно.
sudo apt update
после добавления PPA / репозитория. При обновлении вы можете заметить 404 ошибки; просто игнорируй это. https://dl.winehq.org/wine-builds/ubuntu
. Обычно доступные версии находятся в dists/
. bionic
на artful
. sudo apt update
снова. Если вы получаете сообщение об ошибке 404, пытаясь получить файлы безопасности или системные файлы из официального репозитория (не PPA), вы можете выбрать другое зеркало для решения этой проблемы.
Вы можете либо:
A) определить его вручную, просмотрев этот список и выбрав самое последнее зеркало. (Вы можете принять во внимание другие факторы, такие как расстояние и полоса пропускания) или
B) Выберите один автоматически.
В любом случае вы можете начать с Software & amp; Обновляет приложение, как показано ниже: Затем выберите «Загрузить из» и «Другое». Затем вы можете вручную выбрать зеркало из списка или нажать кнопку «Выбрать лучший сервер», чтобы запустить несколько тестов и выбрать лучший сервер для вас в зависимости от текущих условий.
Я испробовал все возможные ответы, но единственным решением было скопировать файл Ubuntu 16.04 Xenial default /etc/apt/sources.list в мой /etc/apt/sources.list
.
Источник: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Это спасло мой Linux.