PPA, похоже, постоянно находится в автономном режиме. Всякий раз, когда я использую sudo apt-get update, эта ошибка отображается:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Как исправить эти ошибки?
Если вам действительно нужны пакеты из этого репозитория, вы можете использовать зеркала из старой версии.
Однако обратите внимание, что не все более старые версии обратно совместимы; некоторые из них вызывают конфликты с вашим основным репозиторием пакетов.
Единственное, что вы можете сделать, когда оно конфликтует, - это либо строить из источника, либо ждать, пока поставщик выпустит репозиторий для вашей версии Ubuntu. Мы не знаем , что , когда поставщики пакетов будут выпускать свой пакет для нашей версии, так что вы отвечаете за их репозиторий для выпуска.
Это может использоваться с любым репозиторием на базе Debian. Тем не менее, нет гарантии, что это будет успешным.
Это скрипт, который автоматически удаляет все 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. Если он обнаружил, что тогда в этой строке отображается (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
5th coloumn - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
[D17] в этот 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 и column2 с разделителем /, где столбец1 и столбец2 объединены / из файла /tmp/awk.txt, а затем перенаправляют (записывают) файл stdout в файл /tmp/awk1.txt.
Теперь файл /tmp/awk1.txt содержит pitti/postgresql line.
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 для удаления».
[!d28]
Наиболее вероятным, что это происходит, является то, что PPA больше не поддерживается и его необходимо удалить. Вы можете сделать это, просто используя:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
Вы получаете эти ошибки, потому что ваши репозитории PPA не предоставляют пакеты для вашего распространения Ubuntu (т.е. quantal).
Посмотрите на следующие снимки экрана:
ppa: petrakis / wdt-main
[!d6] [ ! d10]
Вы можете видеть, что каталог для quantal отсутствует, и, следовательно, вы получаете 404 Not Found Error Messages.
Чтобы избавиться от этих сообщений, вам необходимо удалить эти хранилища PPA из вашей системы , Следуйте этому вопросу о том, как удалить PPAs:
В этом ответе см. Раздел «Как устранить эти ошибки». Или, как можно удалить 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/ и глубже по ссылке, которая дает ошибки. Вы сможете увидеть, в чем проблема.
Я пробовал все возможные ответы, но единственным решением было скопировать файл Ubuntu 16.04 Xenial по умолчанию /etc/apt/sources.list в мой /etc/apt/sources.list.
Источники: Ubuntu 16.04 Xenial default /etc/apt/sources.list
Это спасло мой Linux.
Обратите внимание, что это уже случилось со мной, и я был вне этих ситуаций. И он также работал на моего друга. Даже не в состоянии объяснить, почему есть что-то, что разрешило эту проблему:
Отключите все ваши PPA; Запустите sudo apt-get update с терминала; Включите PPA снова; Запустить sudo apt-get update;И вдруг это сработало. Не спрашивайте меня, почему.
пропустить нижнюю часть этого ответа для сценария для удаления неподходящих программных источников для всех версий Ubuntu до Ubuntu 15.04
Как правило, три основные области вызывают эти ошибки в update-manager
Пользователь только что обновил и снова включил программный источник PPA, который больше не существует. Пользователь неправильно напечатал новый источник программного обеспечения вручную. Был добавлен PPA, но сопровождающий впоследствии удалил часть / все PPAPPA обычно сохраняются в одном из двух мест
Пользователь только что обновил и снова включил источник программного обеспечения PPA, который больше не существует [ ! d10] в файле с соответствующим именем с расширением .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 с терминала или нажмите кнопку сведений в диспетчере обновлений после h при нажатии кнопки обновления вы увидите такие ошибки, как:
Если ошибка вызвана PPA - обычно отключение так называемого PPA с URL-адресом, указанным в сообщении об ошибке, будет разрешено
[!d25]
Если ошибка 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
NB его одинаковый пакет deb для всех дистрибутивов.
Вопросы / комментарии / Улучшение пожалуйста через Launchpad Свяжитесь со мной link
Как использовать:
sudo banish404
Скрипт будет автоматически резервное копирование ваших источников до изменения - можно найти в /etc/apt
Вот отчет об ошибке в менеджере обновлений для решения этой проблемы:
https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1049046Если вы получаете эти проблемы без PPA, проверьте этот вопрос:
https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1049046 https://bugs.launchpad.net/ubuntu/+ source / update-manager / + ошибка / 1049046Если вам действительно нужны пакеты из этого репозитория, вы можете использовать зеркала из старой версии.
Однако обратите внимание, что не все более старые версии обратно совместимы; некоторые из них вызывают конфликты с вашим основным репозиторием пакетов.
Единственное, что вы можете сделать, когда оно конфликтует, - это либо строить из источника, либо ждать, пока поставщик выпустит репозиторий для вашей версии Ubuntu. Мы не знаем , что , когда поставщики пакетов будут выпускать свой пакет для нашей версии, так что вы отвечаете за их репозиторий для выпуска.
Это может использоваться с любым репозиторием на базе Debian. Тем не менее, нет гарантии, что это будет успешным.
Это скрипт, который автоматически удаляет все 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. Если он обнаружил, что тогда в этой строке отображается (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
5th coloumn - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
[D17] в этот 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 и column2 с разделителем /, где столбец1 и столбец2 объединены / из файла /tmp/awk.txt, а затем перенаправляют (записывают) файл stdout в файл /tmp/awk1.txt.
Теперь файл /tmp/awk1.txt содержит pitti/postgresql line.
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 для удаления».
[!d28]
Наиболее вероятным, что это происходит, является то, что PPA больше не поддерживается и его необходимо удалить. Вы можете сделать это, просто используя:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
Вы получаете эти ошибки, потому что ваши репозитории PPA не предоставляют пакеты для вашего распространения Ubuntu (т.е. quantal).
Посмотрите на следующие снимки экрана:
ppa: petrakis / wdt-main
[!d6] [ ! d10]
Вы можете видеть, что каталог для quantal отсутствует, и, следовательно, вы получаете 404 Not Found Error Messages.
Чтобы избавиться от этих сообщений, вам необходимо удалить эти хранилища PPA из вашей системы , Следуйте этому вопросу о том, как удалить PPAs:
В этом ответе см. Раздел «Как устранить эти ошибки». Или, как можно удалить 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/ и глубже по ссылке, которая дает ошибки. Вы сможете увидеть, в чем проблема.
Я пробовал все возможные ответы, но единственным решением было скопировать файл Ubuntu 16.04 Xenial по умолчанию /etc/apt/sources.list в мой /etc/apt/sources.list.
Источники: Ubuntu 16.04 Xenial default /etc/apt/sources.list
Это спасло мой Linux.
Обратите внимание, что это уже случилось со мной, и я был вне этих ситуаций. И он также работал на моего друга. Даже не в состоянии объяснить, почему есть что-то, что разрешило эту проблему:
Отключите все ваши PPA; Запустите sudo apt-get update с терминала; Включите PPA снова; Запустить sudo apt-get update;И вдруг это сработало. Не спрашивайте меня, почему.
пропустить нижнюю часть этого ответа для сценария для удаления неподходящих программных источников для всех версий Ubuntu до Ubuntu 15.04
Как правило, три основные области вызывают эти ошибки в update-manager
Пользователь только что обновил и снова включил программный источник PPA, который больше не существует. Пользователь неправильно напечатал новый источник программного обеспечения вручную. Был добавлен PPA, но сопровождающий впоследствии удалил часть / все PPAPPA обычно сохраняются в одном из двух мест
Пользователь только что обновил и снова включил источник программного обеспечения PPA, который больше не существует [ ! d10] в файле с соответствующим именем с расширением .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 с терминала или нажмите кнопку сведений в диспетчере обновлений после h при нажатии кнопки обновления вы увидите такие ошибки, как:
Если ошибка вызвана PPA - обычно отключение так называемого PPA с URL-адресом, указанным в сообщении об ошибке, будет разрешено
[!d25]
Если ошибка 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
NB его одинаковый пакет deb для всех дистрибутивов.
Вопросы / комментарии / Улучшение пожалуйста через Launchpad Свяжитесь со мной link
Как использовать:
sudo banish404
Скрипт будет автоматически резервное копирование ваших источников до изменения - можно найти в /etc/apt
Вот отчет об ошибке в менеджере обновлений для решения этой проблемы:
https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1049046Если вы получаете эти проблемы без PPA, проверьте этот вопрос:
https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1049046 https://bugs.launchpad.net/ubuntu/+ source / update-manager / + ошибка / 1049046