„Nie można znaleźć oczekiwanego wpisu„ main / binary-i386 / Packages ”w pliku Release”

12

Dodałem repozytorium innej firmy i teraz widzę to ostrzeżenie podczas aktualizacji mojej listy pakietów:

W: Failed to fetch http://codezen.org/debian/dists/sid/Release  Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)

Dlaczego?

Braiam
źródło

Odpowiedzi:

21

Są dwie przyczyny, ale w twoim przypadku jest to, że skonfigurowałeś multiarch, aby pytać o pakiety i386, podczas gdy to repozytorium jest wyłączne dla amd64. To samo stanie się, jeśli ustawisz arm64 lub inną architekturę jako architekturę obcą za pomocą dpkg.

Istnieją trzy sposoby:

  1. Jeśli repozytorium powinno zawierać pakiety amd64, skontaktuj się z opiekunem i daj im znać.
  2. Jeśli faktycznie nie chcesz / nie potrzebujesz zainstalowanych w twoim systemie architektur obcych, możesz je wyłączyć za pomocą dpkg --remove-architecture.
  3. Możesz ustawić, sources.listaby pytał tylko o architekturę, którą ma zapewnić repozytorium, więc apt nie próbuje o nie pytać. Coś takiego:

    deb [ arch=amd64 ] http://codezen.org/debian sid main
    

Inne przyczyny

Może się to również zdarzyć, jeśli komponenty (main, contrib, security itp.) Lub typ pakietów (źródła vs pliki binarne) nie są dostępne w repozytorium. Można to rozpoznać po łańcuchu main/binary-i386/Packages. Oto mainkomponent i binaryrodzaj pakietu, i386architektura.

Braiam
źródło