Jessie destek depoları alınamadı


155

Jessie'yi Dockerfile deposuna ekleyen ve bir bağımlılık kurmak için kullanan kendi geliştirmem için üs olarak bir docker görüntüsü kullanıyorum. Bu görüntü, depo eklemek için aşağıdaki komutu kullanır:

echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list

Sorun şu ki, paketleri backports deposundan almak şimdi aşağıdaki hatayla başarısız oluyor (bu daha önce çalışmak için kullanılmış):

W: Failed to fetch
http://ftp.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages
404  Not Found

W: Failed to fetch
http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
 404  Not Found

Bu sunucuya baktım ve bu yollar gerçekten orada mevcut değil.

Debian backports sitesinde bu belirli havuzun hala kullanılabilir olup olmadığını anlamaya çalıştım ve bu durumun kullanımdan kaldırıldığına dair herhangi bir belirti bulamadım ya da böyle bir şey buldum.

Bu depo ile ilgili geçici bir sorun mu, yoksa jessie destek deposu artık kullanılamıyor mu? Ve eğer bu geçici bir sorun değilse, daha yeni Debian kararlı sürümüne yükseltmeden bu veya eşdeğer bir depoyu kullanmak için hangi seçenekleri kullanmalıyım?



Yanıtlar:


180

Wheezy ve Jessie yakın zamanda ayna ağından kaldırıldı , bu yüzden Jessie'yi desteklemeye devam etmek istiyorsanız archive.debian.orgbunun yerine kullanmanız gerekir :

deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main

(Geçerlilik çekler depo artık güncellenmektedir beri Jessie. Devre dışı bırakılması gerekir aptdesteklemez check-valid-until, bayrağı görmek inostia yanıtını detaylar için, ve daha da aşağı bu yanıtında yapılandırma özeti.)

Havuz jessie-updateskaldırıldı: tüm güncellemeler ana depo ile birleştirildi ve güvenlikle ilgili başka bir güncelleme yapılmayacak. Yani herhangi bir atıf jessie-updatesiçinde sources.listveya sources.list.ddosyalar kaldırılması gerekir. LTS destekli mimarilerde, güvenlik deposunda, 30 Haziran 2020 tarihine kadar güvenlik güncellemeleri sağlanmaya devam edilecektir .

Eğer bir konteyner imajı inşa kaldığınız için, son derece yerine Debian 9 (Stretch) esas alarak öneriyoruz. Debian 8 (Jessie) 'de kalabilmek için, depolarınızın benzemesi gerekir.

deb http://cdn-fastly.deb.debian.org/debian/ jessie main
deb-src http://cdn-fastly.deb.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

deb http://archive.debian.org/debian jessie-backports main
deb-src http://archive.debian.org/debian jessie-backports main

( jessie-updatesdepo olmadan ).

Ayrıca /etc/apt/apt.conf(tüm depolara uygulanacak olan) geçerlilik kontrollerini devre dışı bırakmanız gerekir :

Acquire::Check-Valid-Until "false";

1
Üzgünüm, cevabım belki o kadar açık değildi; Verdiğim hat sadece destek içindi. jessie-updatesartık yok, bu yüzden onu tamamen silmelisin ve Jessie güvenlik güncellemeleri hala devam ediyor security.debian.org.
Stephen Kitt

2
@Hayır, güvenlik güncelleştirmeleri desteklenir security.debian.orgveya güncelleştirmeler yoluyla sağlanmaz . jessie-updatesArtık LTS olmayan kararlı güncellemeler olmayacak , bu nedenle ana ayna ağında artık kullanışlı olmayacak ve aynı zamanda daha fazla destek olmayacak jessie-backports.
Stephen Kitt

4
Benim için çalışmıyor: `` E: archive.debian.org/debian/dists/jessie-backports/InRelease için yayın dosyasının süresi doldu (34d 20h 7dmin 12s'den beri geçersiz). Bu havuz için güncellemeler uygulanmayacak. `` `
Avi Kivity

2
Son kullanma hatasından kaçınmak için sonraki aptkomutların da -o Acquire::Check-Valid-Until=false( unix.stackexchange.com/a/45973/186565 uyarınca ) gerek duyduğunu bulduk .
sumitsu

2
@sumitsu teşekkürler, bunun da apt.confişe yaraması şartıyla (güncellememe bakın).
Stephen Kitt

42

@İnostia ve @Stephen Kitt tarafından önerilen çözümleri denedikten sonra hala aşağıdaki hatayı alıyordum:

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

Ben çizgiyi kaldırarak çözülebilir anladım deb http://deb.debian.org/debian jessie-updates maindan /etc/apt/sources.list.

Docker dosyamda aşağıdaki snippet ile bitirdim:

RUN echo "deb [check-valid-until=no] http://cdn-fastly.deb.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie.list
RUN echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update

1
Seninle aynı sorunu yaşadım ve pasajın benim için işe yaradı!
cafemike

1
Durumumda docker imgesi (postgres) deb.debian.org yerine httpredir.debian.org adresini kullandığı için üzerimden gelmek zorunda kaldım.
harrybvp

1
Teşekkür ederim!!! İki gündür Debian jessie değişiminden sonra Docker dosyamı düzeltmek için uğraşıyorum, snippet'inizi yapıştırdım ve hepsi yeniden çalışıyor.
wpjmurray

üzgünüm, ama yine de aynı sorun ....
user1722245

5
İşte sedbenim için hile yapan komutunuzun güncellenmiş bir versiyonu :sed -i '/deb http:\/\/\(deb\|httpredir\).debian.org\/debian jessie.* main/d' /etc/apt/sources.list
speedplane 0

26

Bu bana Debian "Jessie" kullanan bir Vagrant kutusu sağladı.

Stephen Kitt'in cevabını takiben , archive.debian.org sitesine geçiş yapmak benim için çalıştı, ama yapmak /etc/apt/sources.list.d/jessie-backports.listyerine eklemek zorunda kaldım /etc/apt/sources.list.

Aşağıdaki satırı ekledim provision.sh:

echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list

Ayrıca çalışan bir güvenlik hatası var apt-get update.

Aşağıdaki yerel aynasında "Yayın dosyası doldu" etrafında sorunu nasıl çalışılır , bu hatayı düzeltildi:

apt-get -o Acquire::Check-Valid-Until=false update

Alternatif olarak, kontrolleri kalıcı olarak devre dışı bırakmak için şunu ekleyin provision.sh:

echo "Acquire::Check-Valid-Until \"false\";" > /etc/apt/apt.conf.d/100disablechecks

Sonra tüm aptkomutları bayraksız çalıştırabilirsiniz -o.


1
Tüm depolara uygulanacak geçerlilik kontrollerini devre dışı bırakmak tehlikeli değil mi?
Maxime Lafarie

4

Eski docker görüntü temelleriyle NodeJS kullananlar için. Ekstra kütüphanelerin derlenmesi için bu eski kaynaklara sahip donmuş görüntülerim vardı.

Bağlam: Bir liman işçisi inşaatı sırasında python kurmak istiyorsanız, bir yerleşimci inşaatı sırasında bağımlılıkları sağlayamadığı için görüntünün oluşturulması sırasında (son 24 saat içinde) bu sorunla karşılaştınız.

Bu gönderideki arşiv yolu önerilerini denedim ancak 404'leri geçemedim. (ayrıca bugünden itibaren archive.debian.org adresinden de geliyor)

Çözüm: Düğümün (önceden yüklü olan python lib'lerinin bulunduğu) en son konteyner sürümüne geçtim ve json paketindeki bazı lib'leri güncellemek (şimdi de pythyon için kullanılan ikili libleri de içeren) bu sorunun kullanılmasını engelledi .

Sonunda, konteyner yığını için temel imajının güncellenmesi (düğüm: en son), çözüme giden en yalın yol gibi görünüyordu.

İkili bağımlılıkları içeren eski görüntü yığınlarına karşı dikkatli olun, çekirdek işletim sistemi katmanının güncellenmesi biraz zaman alacaktır.


Merhaba Glen, gönderdiğiniz için teşekkürler. Sanırım "RUN apt-get update - y & & apt-get kurulum süpervizörü python python python-dev curl -y --force-yes" gibi docker dosyalarında da aynı sorunla karşılaşıyorum. FROM düğümünü kullanıyorum: 6.11.2, bunu aşmak için ne yapmalıyım?
Aaron

1
Docker Node görüntüleri için bir alternatif -stretchgörüntüleri kullanmaktır :node:<version>-stretch
lukeaus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.