Ich versuche die Anweisungen unter wiki.linaro.org (auf meiner Ubuntu 10.04 VM) zu befolgen, die unter Ubuntu 10.04 (Lucid) und 10.10 (Maverick) installiert sind . Der erste Schritt ist:
sudo add-apt-repository ppa:linaro-maintainers/toolchain
Aber wenn ich renne, bekomme ich:
Error reading https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain: <urlopen error [Errno 110] Connection timed out>
Ich vermute, das Problem liegt in meiner Konfiguration für den Proxyserver meines Arbeitgebers, insbesondere für HTTPS.
Beim Öffnen von https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain in Firefox wurde die Meldung angezeigt, dass die Verbindung abgelaufen ist. Ich ging dann zu Firefox-Einstellungen -> Erweitert -> Netzwerk -> Einstellungen ... und stellte HTTP-Proxy auf "Gateway" und Port auf 8080 ein und aktivierte "Diesen Proxyserver für alle Protokolle verwenden". Dann wurde die Seite geladen. Dies unterstützt meine Theorie.
Ich habe versucht, die Umgebungsvariablen http_proxy und https_proxy festzulegen (sowohl in Klein- als auch in Großbuchstaben):
$ set | grep -i proxy
HTTPS_PROXY=https://gateway:8080
HTTP_PROXY=http://gateway:8080
http_proxy=http://gateway:8080
https_proxy=https://gateway:8080
Ich habe auch versucht, sie zu ändern:
$ set | grep -i proxy
HTTPS_PROXY=gateway:8080
HTTP_PROXY=gateway:8080
http_proxy=gateway:8080
https_proxy=gateway:8080
Und ich habe versucht, diese zweite Zeile zu /etc/apt/apt.conf hinzuzufügen:
Acquire::http::proxy "http://gateway:8080/";
Acquire::https::proxy "https://gateway:8080/";
Aber ich bekomme weiterhin den gleichen Fehler.
Wie behebe ich das?
Update: Ich habe die Anweisungen in der akzeptierten Antwort auf "Problem beim Hinzufügen von Repositorys und beim Herstellen einer Verbindung vom Terminal hinter einem Proxy" befolgt und bin weitergekommen:
$ sudo add-apt-repository ppa:linaro-maintainers/toolchain
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
gpgkeys: HTTP fetch error 7: couldn't connect to host
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Ich frage mich, ob der "HTTP-Abruffehler" bedeutet, dass ich auch "Defaults env_keep = http_proxy" hinzufügen muss, um /etc/sudoers
...
Update Nr. 2: Ich fügte hinzu:
Defaults env_keep="http_proxy"
Defaults env_keep="https_proxy"
... wie in Kommentar 18 für Fehler 516032 , aber ich erhalte immer noch den gleichen Fehler "gpgkeys: HTTP-Abruffehler 7: Verbindung zum Host konnte nicht hergestellt werden".
Und das ist merkwürdig:
$ sudo env | grep proxy
https_proxy=https://gateway:8080
... weil http_proxy nicht da ist.
Jeder Rat wird geschätzt.
Update Nr. 3: Da der Host meiner VM ein Laptop ist, habe ich ihn mit nach Hause genommen und dort versucht (ohne Proxys):
$ sudo add-apt-repository ppa:linaro-maintainers/toolchain
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
gpg: key 7BE1F97B: public key "Launchpad Linaro Overlay PPA" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Es funktionierte. Das Problem hängt also mit der Proxy-Konfiguration zusammen. Aber ich denke, ich habe eine Problemumgehung.
quelle
Antworten:
Stellen Sie neben der Konfiguration von Proxys
sudo
die folgenden-E
Optionen bereit, um die Umgebung zu schonen:mit Benutzername und Passwort:
quelle
https_proxy
konfiguration war notwendig ...: Pman sudo
:-E, --preserve-env
Gibt die Sicherheitsrichtlinie an, dass der Benutzer seine vorhandenen Umgebungsvariablen beibehalten möchte. Die Sicherheitsrichtlinie gibt möglicherweise einen Fehler zurück, wenn der Benutzer keine Berechtigung zum Schützen der UmgebungVerwenden Sie den folgenden Code in einem Terminal, um den GPG-Schlüssel hinter dem Proxy hinzuzufügen.
Und ersetzen Sie Großbuchstaben entsprechend. Wenn Sie einen Proxy ohne Benutzerauthentifizierung verwenden (dh Benutzername und Kennwort), verwenden Sie
http-proxy=http://PROXY_URL:PORT/
stattdessen.Zum Beispiel zu haben
GPG_KEY=C2514567EEA14886
, können Sie verwenden,wo,
Wenn Sie keine Benutzerauthentifizierung haben, verwenden Sie einfach,
quelle
Endlich! Sie müssen https_proxy einstellen über:
Nur gesetztes http_proxy reicht nicht aus.
Und ich musste den Befehl add-apt-repository als root ausführen, NICHT über sudo.
Code:
quelle
Es scheint, dass die Proxy-Konfiguration eingerichtet ist, aber irgendwie kann der Server nicht kontaktiert werden ...
Ich hatte ein sehr ähnliches Problem, das ich folgendermaßen gelöst habe: Der Unternehmens-Proxy lässt aus Sicherheitsgründen nur die Ports 80 und 443 zu. Wenn das HKP-Protokoll also Port 11371 verwendet, werden Sie nicht durchgelassen.
Wenn Sie also keinen SSH-Code mehr haben und den Schlüssel nicht von einem Ihrer Server außerhalb herunterladen und lokal installieren möchten, können Sie den Schlüsselserver unter einem der unten aufgeführten angeben und den Port angeben:
http://sks-keyservers.net/overview-of-pools.php
z.B:
Boom, Voila!
quelle
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Der Grund, warum Ihre
sudoers
Änderung nicht wie erwartet funktioniert hat, ist folgender:Du hättest schreiben sollen:
Stellen Sie außerdem sicher, dass der Abstand zwischen
Defaults
undenv_keep
jedes Mal ein Tabulator ist.quelle
Ich habe es geschafft, dies durch Bearbeiten
/usr/lib/python3/dist-packages/softwareproperties/ppa.py
und Hinzufügen zu umgehenunter der folgenden Zeile
Weitere Hintergrundinformationen
ppa.py
ist das Python-Skript, mitadd-apt-repository
dem gpg aufgerufen wird. Manchmal scheint es einen Fehler mit gpg zu geben, bei dem die Umgebungsvariable http_proxy nicht verwendet wird. Dies kann bestätigt werden, indem die Datei/root/.gnupg/dirmngr.conf
angezeigt und überprüft wird, ob siehonor-http-proxy
nicht auskommentiert ist.quelle
Dieser vierstufige Ansatz funktionierte für mich auf einer Ubuntu 17.04-VM hinter einem Unternehmensproxy.
sudo apt-add-repository ppa:brightbox/ruby-ng
und lass es scheiternsudo apt update
und suche nach einer Fehlermeldung wieThe following signatures couldn't be verified because the public key is not available: NO_PUBKEY F5DA5F09C3173AA6
sudo apt-key adv --keyserver-options http-proxy=http://10.0.2.2:3128 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F5DA5F09C3173AA6
sudo apt update
wird jetzt funktionierenBeachten Sie, dass auf der Host-VM ein
CNTLM
Proxyserver an Port 3128 ausgeführt wird.quelle
Das hat mir geholfen:
Ich vermute, dass es einige Umgebungsvariablen gibt, die im Befehl nicht benötigt werden, die aber nicht schaden.
quelle
Fügen Sie den PPA manuell zu Ihrem hinzu
/etc/apt/sources.list
:Speichern Sie die Datei und führen Sie sie aus
sudo apt-get update
. Dieser Fehler kann auftreten:Führen Sie den folgenden Befehl aus, um den Schlüssel für die PPA zu akzeptieren, und denken Sie daran, den Schlüssel (5BB92C09DB82666C) für die entsprechende PPA zu ändern.
Lauf
sudo apt-get update
und du bist fertig.Ref: So fügen Sie Launchpad-PPAs in Debian über den
add-apt-repository
Befehl hinzuquelle
Eigentlich stoße ich auf die gleichen Probleme, so habe ich diese Seite gefunden.
Umgebungsvariablen http_proxy (Groß- und Kleinschreibung beachten) und https_proxy (in jedem Fall) tun etwas. Wenn Sie sie nicht festlegen, schlägt dies in der ersten Phase fehl. Das Festlegen der Umgebungsvariablen scheint jedoch eine gewisse Auswirkung zu haben. es schlägt fehl, wenn Sie sie nicht exportieren
(der Rest ist erfolgreich - diesmal)
Die Sache ist, dass sie manchmal einfach hängen bleibt und mit der üblichen Zeitüberschreitungsmeldung endet: PPA kann nicht hinzugefügt werden: '"Fehler beim Lesen von https://launchpad.net/api/1.0/~webupd8team/+archive/java : (7,' Verbindung zum launchpad.net-Port 443 fehlgeschlagen: Zeitüberschreitung bei Verbindung ') "'.
... aber ich betrüge, ich mache das alles als root. Eine einfache Lösung besteht darin, / etc / profile zu bearbeiten oder unter Ubuntu / Mint einfach ein Skript in /etc/profile.d hinzuzufügen:
Oh, ja, es gibt auch das, was Curl ausmacht (das übrigens von apt-add-repository verwendet wird). Das Handbuch fordert Sie auf, .curlrc in Ihr Home-Verzeichnis aufzunehmen. Da das apt-add-Verzeichnis dem root-Verzeichnis angehört, müssen Sie es zu /root/.curlrc hinzufügen:
Eine gute Idee ist, dasselbe in Ihrem eigenen ~ / .curlrc zu tun
Außerdem ist es eine gute Sache, den Proxy in / etc / wgetrc zu aktivieren, obwohl dies nichts mit der gestellten Frage zu tun hat. Ich speichere Ihnen nur eine weitere Suche bei Google (wenn Sie dies lesen, haben Sie mehrere mit einem Proxy ) ...
quelle
Dazu kommt so
/etc/apt/apt.conf.d/01proxy
etwasDies wird alle Aptitude-Downloads als Proxy speichern, aber ich denke, dies ist die einzige Möglichkeit, dies im Backend zu tun. Wenn Ihr Proxy dies unterstützt, können Sie auch eine URL verwenden, von
http://my.proxy:port/www.target.site.com/url
der ich weiß, dass sie funktioniertapt-cache-ng
Ich bin nicht sicher, ob add-apt-repository diese Einstellungen verwendet, aber wenn Sie dies nicht tun können, können Sie das Repository jederzeit zu Ihrem
/etc/apt/sources.list
oder hinzufügen/etc/apt/sources.list.d/*mytoolchain*
Seit 11.10 gibt es im Hauptrepo auch ein Cross-Toolchailable, eben
apt-get install gcc-arm-linux-gnueabihf
. Es gibt auch Cross-Toolchains von Emdebian und einige Anweisungen hier: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/quelle
Ich benutze http via curl, anstatt zu versuchen, apt-key oder gpg zu vertreten:
curl -sSL \ ' http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xBBEBDCB318AD50EC6865090613B00F1FD2C19886 ' \ | sudo apt-key add -
Diese Methode sollte anstelle der Einstellungen für die
apt-key
Befehlszeilehttp_proxy
oder diehttps_proxy
Umgebungsvariablen (die in den neuesten Versionen von apt-key deaktiviert sind) verwendet werden.quelle
Führen Sie den folgenden Befehl im Terminal aus
quelle
Systemweite Umgebungsvariablen sollten wirklich zu
/etc/environment
(usesudo
orgksu
) hinzugefügt werden , aber der Ihnen gemeldete Fehler scheint zu besagen, dass keine GPG-Daten gefunden wurden. Ideen:quelle
Eine andere Lösung ist, eine APT-
proxy.conf
Datei hinzuzufügen ,/etc/apt/apt.conf.d/proxy.conf
quelle