Здається, 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
Примітка a #
на передній частині рядка тексту означає, що він коментований і не перевіряється менеджером пакунків.
Як правило, якщо ви запустите sudo apt-get update
з терміналу або натисніть кнопку деталей у Менеджері оновлень після натискання кнопки оновлення, ви побачите помилки, такі як:
Якщо помилка пов’язана з PPA - це усуне цю проблему, як правило, скасування аналогічно названого PPA з URL-адресою, показаною у повідомленні про помилку.
Якщо помилка 404 була пов’язана з додатковим сховищем, яке було додано до /etc/apt/sources.list
цього, її легше додати #
символу до початку рядка, щоб прокоментувати репозиторій, що порушує порушення, тобто
gksu gedit /etc/apt/sources.list
Ось звіт про помилку в менеджері оновлень, щоб вирішити цю проблему:
Якщо у вас виникають ці проблеми без 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($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
у цій п'ятій колонці починаються з 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 find out column1 and column2 з роздільником, /
де колонку1 і 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 не знайдених помилок. У цьому випадку http://ppa.launchpad.net/petrakis/
і заглиблюйтесь за посиланням, яке дає помилки. Ви б змогли побачити, яка саме проблема.
Найімовірніше, що це відбувається, це те, що ППС більше не підтримується і його потрібно усунути. Це можна зробити, використовуючи:
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), ви можете вибрати інше дзеркало для вирішення цієї проблеми.
Ви можете:
А) визначте їх вручну, переглянувши цей список та вибравши найсучасніше дзеркало. (ви можете взяти до уваги інші фактори, такі як відстань і пропускну здатність) або
B) Виберіть один автоматично.
У будь-якому випадку ви можете почати з програми «Програми та оновлення», як показано нижче: Потім виберіть «Завантажити», а потім «Інше». Тоді ви можете або вручну вибрати зі списку дзеркало, яке ви обрали, або натиснути кнопку Вибрати найкращий сервер, яка виконає деякі тести і вибрати найкращий сервер для вас залежно від поточних умов.
Я пробував всі можливі відповіді, але єдиним рішенням було скопіювати файл Ubuntu 16.04 Xenial /etc/apt/sources.list за замовчуванням на мій /etc/apt/sources.list
.
Джерела: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Це врятувало мій Linux.