PPA sürekli çevrimdışı görünüyor. Ne zaman kullansam sudo apt-get update
, bu hata gösteriliyor:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Bu hataları nasıl düzeltirim?
PPA sürekli çevrimdışı görünüyor. Ne zaman kullansam sudo apt-get update
, bu hata gösteriliyor:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Bu hataları nasıl düzeltirim?
Yanıtlar:
Ubuntu 15.04’ten önceki tüm ubuntu sürümleri için rahatsız edici yazılım kaynaklarını kaldırmak için komut dosyasıyla bu yolun altına atlayın
404 veya Bulunamadı hata mesajı, müşterinin sunucuyla iletişim kurabildiğini belirten bir HTTP standart yanıt kodudur, ancak sunucu istenenleri bulamadı.
Kullanıcılar, bozuk veya ölü bir bağlantıyı izlemeye çalıştıklarında, web sitesi barındırma sunucusu genellikle "404 - Sayfa Bulunamadı" web sayfasını oluşturur.
Genellikle, üç ana alan bu hatalara neden olur. update-manager
PPA'lar tipik olarak iki konumdan birine kaydedilir
/etc/apt/sources.list
/etc/apt/sources.list.d/
örneğin .list dosya uzantılıwebupd8team-jupiter-natty.list
Bu liste dosyası genellikle şunları içerir:
deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
Bir #
metin satırının önündeki a işaretinin, yorumlandığı ve paket yöneticisi tarafından kontrol edilmediği anlamına gelir.
Genellikle, sudo apt-get update
bir terminalden koşarsanız veya Yenile düğmesine bastıktan sonra Update Manager'daki ayrıntılar düğmesine tıklarsanız aşağıdaki gibi hatalar görürsünüz:
Eğer hata bir PPA'dan kaynaklanıyorsa - genellikle benzer şekilde adlandırılmış PPA'yı, hata mesajında gösterilen URL ile çözmek.
404 hatası, eklenmiş olan ek bir depodan kaynaklanıyorsa, rahatsız edici depoyu yorumlamak için satırın başına karakter /etc/apt/sources.list
eklemek daha kolay.#
gksu gedit /etc/apt/sources.list
İşte bu sorunu çözmek için güncelleme yöneticisinde bir hata raporu:
Bu sorunları PPA olmadan alıyorsanız, şu soruya göz atın:
Bu, tüm 404 PPA Bulunamadı otomatik olarak kaldırmak için bir komut dosyasıdır. Aşağıdaki kodu kopyalayın ve bir dosyaya yapıştırın ve olarak adlandırın 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
Komut dosyasına yürütme izni ver
sudo chmod +x ppa-remove
ppa-remove
Dosyayı kopyalayıp /usr/bin
dizine yapıştırın. Böylece , istediğiniz yerden erişebilirsiniz.
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
komutu terminal metni rengini yeşile dönüştürür. Sonra yeşil renkte "Başlatılıyor .. Lütfen Bekleyin" mesajı görüntülenir.
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;
Komutun hem stdout'u hem de stderr'ı sudo apt-get update
dosyaya yazılır./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 oluşur hattı arar W:
, launchpad
, 404
içinde /tmp/update.txt
file.If daha sonra o çizgide standart çıktı yeniden yönlendirildi column5.This içinde 26 konumdan başlayarak (stdout) bütün harfleri görüntüler bulundu etmek (yazılı) /tmp/awk.txt
dosyası.
Örneğin:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
5. sütun - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Bu 5. sütun 26 karakterden başlıyor. pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Bu yukarıdaki satır /tmp/awk.txt
dosyaya kaydedildi.
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
awk sınırlayıcısıyla column1 ve Sütun2 dışarı findout /
sütun1 ve sütun2 tarafından birleştirilmiş /
gelen /tmp/awk.txt
dosyaya ve sonra (yazılı) stdout'u yönlendirir /tmp/awk1.txt
dosya.
Şimdi /tmp/awk1.txt
dosya pitti/postgresql
satır içeriyor .
uniq /tmp/awk1.txt > /tmp/awk2.txt
İki aynı satır varsa, unique
komut yalnızca (stdout) tek satır görüntüler. Bu tek satır son /tmp/awk2.txt
olarak /tmp/awk2.txt
benzersiz PPA adlarından oluşur.
tput sgr0
Bu komut, terminal metninin rengini beyaz olarak değiştirir.
Sonunda if
şartlı ifadeler yürütülür. if [ -s /tmp/awk2.txt ]
/tmp/awk2.txt dosyasının içeriğini kontrol edin ya da sunun. Evet ise, ilk satırı alır /tmp/awk2.txt
ve sudo add-apt-repository -r ppa:$line
komutu çalıştırır . Son satıra kadar devam eder.
Hayır ise, içerik olmadığı anlamına gelir. "Çıkarılacak PPA yok" yazıyor.
Bu hataları alıyorsunuz, çünkü PPA depolarınız Ubuntu dağıtımınız için paket sunmuyor (yani; quantal
).
Aşağıdaki ekran görüntülerine bakın:
Sen dizin için olduğunu görebilirsiniz quantal
eksik ve dolayısıyla elde olduğunu 404 Not Found Error Messages
.
Bu mesajlardan kurtulmak için bu PPA havuzlarını sisteminizden kaldırmak zorundasınız. PPA'ların nasıl kaldırılacağı ile ilgili şu soruyu izleyin:
Bunlar, wdt-main
PPA için aldığınız hata mesajlarıdır :
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
Tarayıcınızın sekmesini açın ve 404 Bulunamadı Hataları veren bağlantıyı açın Bu durumda http://ppa.launchpad.net/petrakis/
ve hata veren linke göre daha derine inin. Asıl sorunun ne olduğunu görebileceksiniz.
Gerçekleşmesi en muhtemel olan, PPA'nın artık muhafaza edilmemesi ve kaldırılması gerektiğidir. Bunu sadece kullanarak yapabilirsiniz:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
/etc/apt/sources.list
ı kontrol etti nerede ama ben bakmak zorunda bilmiyordum /etc/apt/sources.list.d/
.. teşekkürler .. çok
Eğer paketleri gerçekten ihtiyacınız varsa o depo, daha eski sürümden aynalar kullanabilirsiniz.
Ancak, eski sürümlerin tamamının geriye dönük olarak uyumlu olmadığını lütfen unutmayın ; bazıları ana paket deponuzla çakışmalara neden olur.
Çakıştığında yapabileceğiniz tek şey ya kaynaktan inşa etmek ya da sağlayıcı Ubuntu sürümünüz için depoyu yayımlayana kadar beklemektir. Paket sağlayıcıların sürümümüz için paketlerini ne zaman yayınlayacaklarını tam olarak bilmiyoruz , bu nedenle sürümleriniz için depolarını kontrol etmekten sorumlu olan sizsiniz.
Bu herhangi bir Debian tabanlı depo ile kullanılabilir. Ancak bunun başarılı olacağının garantisi yoktur.
sudo apt update
PPA / depo ekledikten sonra yapın . Güncelleme sırasında 404 hata olduğunu fark edebilirsiniz; Sadece bunu görmezden gel.
https://dl.winehq.org/wine-builds/ubuntu
. Genellikle, mevcut sürümler içinde bulunur dists/
.
bionic
ile artful
.
sudo apt update
tekrar.Bana zaten oldu ve bu durumların dışında olduğumu unutmayın. Ve aynı zamanda bir arkadaşım için çalıştı. Nedenini açıklayamamakla birlikte, bu sorunu çözen bir şey var:
sudo apt-get update
Terminalden çalıştırın ;sudo apt-get update
;Ve aniden işe yaradı. Bana nedenini sorma.
sudo apt-get update
ve kusursuz çalıştı.
Resmi bir depodan (PPA değil) güvenlik veya sistem dosyaları almaya çalışırken bir 404 hatasıyla karşılaşıyorsanız, bu sorunu çözmek için farklı bir ayna seçebilirsiniz.
Ya yapabilirsiniz:
A) Birini bu listeyi gözden geçirerek ve en güncel yansıtmayı seçerek manuel olarak belirleyin . (mesafe ve bant genişliği gibi diğer faktörleri dikkate almak isteyebilirsiniz) veya
B) Bir tanesini otomatik seç.
Her iki şekilde de aşağıda gösterildiği gibi Yazılım ve Güncellemeler uygulamasıyla başlayabilirsiniz: Ardından İndir ve ardından Diğer öğesini seçin. Ardından listeden istediğiniz aynayı manuel olarak seçebilir veya bazı testleri yürütecek ve mevcut koşullara bağlı olarak sizin için en iyi sunucuyu seçecek olan En iyi Sunucu Seç düğmesini tıklayabilirsiniz.
Her olası cevabı denedim, ancak tek çözüm Ubuntu 16.04 Xenial varsayılan /etc/apt/sources.list dosyasını benim dosyama kopyalamaktı /etc/apt/sources.list
.
Kaynaklar: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Bu benim Linux'umu kurtardı.