apt-get install hinter dem Proxy - Fehler beim Abrufen

Sep 15 2020

Dies ist eine weitere Frage zur Fehlermeldung E: Failed to fetch ...(Beispiel in Anmerkung 2 unten). Was diese Frage (ich denke) von den anderen unterscheidet, die ich gesehen habe, ist die folgende.

Ich verwende Ubuntu 18.04LTS hinter einem Proxy. Ich hatte viele Pakete mit verfügbaren Updates (mehr als 200, denke ich).

    Ich konnte viele der Pakete ohne Probleme aktualisieren und erhielt 48, die ich nicht installieren kann.

Alle nicht installierten Pakete gehören zu bionic-updates/universeoder bionic-updates/main. Und die meisten sind im Zusammenhang mit java, jdk, linux, systemd. Die vollständige Liste finden Sie in Anmerkung 1 unten. Aber es gibt Pakete von bionic-updates/universeund bionic-updates/maindie ich installieren kann (ich habe gerade installiert qemuund bsdutils).

Wie ist es möglich, dass einige der Pakete installiert werden können und andere nicht?
Was ist eine mögliche Lösung (außer den PC ohne Proxy anzuschließen)?


Anmerkungen :

  1. Vollständige Liste der nicht installierten Pakete

    ant ant-optional apport apport-gtk fwupd fwupdate fwupdate-signed gettext gettext-base jarwrapper junit4 libasm-java libcommons-collections3-java libcommons-compress-java libcommons-httpclient-java libdb5.3 libdb5.3-java libdb5.3-java-jni libecj-java libequinox-osgi-java libhsqldb1.8.0-java libjetty9-java libnss-systemd libobjenesis-java libpam-systemd libservlet3.1-java libsystemd0 libtomcat8-java linux-generic linux-headers-generic linux-image-generic openjdk-11-jdk openjdk-11-jdk-headless openjdk-11-jre openjdk-11-jre-headless openjdk-8-jdk openjdk-8-jdk-headless openjdk-8-jre openjdk-8-jre-headless python-pip-whl python3-pip snapd systemd
    

Dies wurde mit erhalten

$ sudo apt list --upgradable 2> /dev/null | sed 's/\/.*//' | tail +2 | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g'

Um herauszufinden, zu welchem ​​Repo jedes gehört, habe ich verwendet ( printf "%30s"...hilft bei der Visualisierung in Spalten)

$ for p in $(sudo apt list --upgradable 2> /dev/null | sed 's/\/.*//' | tail +2 | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g') ; do printf "%30s" $p ; apt policy $p 2> /dev/null | tail +6 | head -1 ; done

Dies erzeugt eine Ausgabe wie

                       ant        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
  1. Beispielfehler
    $ sudo apt-get install apport
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be upgraded:
      apport
    1 upgraded, 0 newly installed, 0 to remove and 46 not upgraded.
    Need to get 125 kB of archives.
    After this operation, 20,5 kB of additional disk space will be used.
    Ign:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apport all 2.20.9-0ubuntu7.17
    Err:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 apport all 2.20.9-0ubuntu7.17
      403  URLBlockDownload [IP: xxx.xxx.xxx3.xxx 80]
    E: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/a/apport/apport_2.20.9-0ubuntu7.17_all.deb  403  URLBlockDownload [IP: 10.1.33.101 80]
    E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
  1. BEARBEITEN: Ausgabe "angefordert" in https://askubuntu.com/a/1276241/226614 ist hier.
    $ find /etc/apt/ -name "*.list" -exec grep -iq http {} \; -exec egrep -v '^#|^$' {} \; | uniq 
    deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
    deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
    deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
    deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
    deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
    deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
    deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
    deb http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb http://security.ubuntu.com/ubuntu bionic-security main restricted
    deb http://security.ubuntu.com/ubuntu bionic-security universe
    deb http://security.ubuntu.com/ubuntu bionic-security multiverse
    deb https://apt.kitware.com/ubuntu/ bionic main

Antworten

1 KKPatel Sep 20 2020 at 07:19

Es sieht so aus, als ob die Unternehmens-Firewall bestimmte URLs von apt blockiert. Deshalb können Sie keine Pakete über apt herunterladen. Sie müssen alle URLs in der in der Quellliste genannten Firewall auflisten. Sie benötigen Administratorzugriff auf die Firewall oder wenden sich an den Netzwerkadministrator.

Versuchen Sie als alternative Option, das System direkt mit einer anderen Internetquelle wie USB Dongle oder Mobile zu verbinden.

Erkko Sep 19 2020 at 10:23

Der Proxyserver kann auf verschiedene Arten eingerichtet werden. Eine Möglichkeit besteht darin, den Zugriff auf bestimmte Websites über eine Platzhalterdomäne zu ermöglichen oder umgekehrt. Wenn der Administrator oder die Umgebung dafür noch paranoider ist, können Ausnahmen noch detaillierter gestaltet werden, um den Zugriff auf bestimmte Websites durch Regex-Formeln für bestimmte URIs zu ermöglichen.

Was ist die Ausgabe von apt-get updatehat es irgendwelche Fehler?

sancho.sReinstateMonicaCellio Sep 22 2020 at 13:28

Dies ist ein Versuch, dem Vorschlag in eine solide Grundlage zu geben https://askubuntu.com/a/1276426/226614. Es wird erwähnt, dass die Firewall-Filterung der Schuldige ist und dass sie auf dem vollständigen URI basiert, der für jedes Paket verwendet wird, einschließlich des Paketnamens selbst. Dies könnte erklären, warum einige Pakete aus einem bestimmten Repo installiert werden können und andere nicht. Um dies zu testen, habe ich die URIs für alle Pakete erhalten, mit denen ich nicht installieren kann --print-uris(siehe die vollständige Befehlszeile in Anmerkung 1 unten), und für Pakete, yudit-commondie ich nicht habe, und ich könnte sie später installieren. Dann habe ich versucht, wgetdiese URIs zu tippen.

Für jedes der Pakete, die ich nicht installieren konnte, wurde die .debDatei für dieses Paket oder eine seiner Abhängigkeiten erstellt

$ wget http://us.archive.ubuntu.com/ubuntu/pool/universe/a/ant/ant-optional_1.10.5-3~18.04_all.deb
--2020-09-22 10:18:35--  http://us.archive.ubuntu.com/ubuntu/pool/universe/a/ant/ant-optional_1.10.5-3~18.04_all.deb
Resolving proxy-myserver (proxy-myserver)... xx.xx.xx.xx
Connecting to proxy-myserver (proxy-myserver)|xx.xx.xx.xx|:xx... connected.
Proxy request sent, awaiting response... 403 URLBlockDownload
2020-09-22 10:18:35 ERROR 403: URLBlockDownload.

Dies würde den Vorschlag stärker bestätigen.


Anmerkungen :

  1. Abrufen vollständiger URIs für Pakete (und auch wgethier versuchen )
    for p in $(sudo apt list --upgradable 2> /dev/null | sed 's/\/.*//' | tail +2 | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g') ; do for uri in $(apt install --print-uris $p 2> /dev/null | sed -n '/^After this operation/ { :a; n; p; ba; }' | awk '{ print substr($1,2,length($1)-2) }') ; echo "uri=${uri}" ; wget ${uri} ; done ; done