
Ich verwende Debian 6. Ich sitze hinter einem Proxy, also habe ich Debian so konfiguriert, dass es diesen Proxy verwendet. Das Surfen und alle HTTP- und FTP-Aktivitäten über die GUI funktionieren einwandfrei.
Ich wollte mein Paket-Repository aktualisieren, also habe ich in eine Shell eingegeben:
sudo aptitude
Wenn ich dann versuche, das Repo zu aktualisieren (durch Drücken von „u“), stoppt Aptitude beim Versuch, den FTP-Server von Debian zu erreichen, und für diese Aktion tritt irgendwann eine Zeitüberschreitung auf.
Aber wenn ja, versuchen Sie:
$ su
# aptitude
Aktualisierung funktioniert.
Was ist der Unterschied zwischen den beiden Aufrufen? Die Umgebungsvariablen $http_proxy
und sind in beiden Shells vorhanden.$ftp_proxy
Antwort1
DersoDer Befehl startet eine weitere Shell als Root (oder als jemand anderes, wenn Sie einen Benutzernamen und ein korrektes Passwort angeben). Diese Shell erhält alle normalen Umgebungsvariablen, was natürlich auch die Variablen HTTP_PROXY und FTP_PROXY einschließt. So funktioniert es.
DersudoDer Befehl ENTFERNT ALLE Umgebungsvariablen außer einer speziell ausgewählten Teilmenge ... die natürlich NICHT die Variablen HTTP_PROXY und FTP_PROXY enthält, weshalb Ihre Befehle fehlschlagen.
Du kannst das schaffensudoBehalten Sie die *_PROXY-Variablen bei, indem Sie die sudoers-Konfigurationsdatei bearbeiten. Verwenden Sie dazu denvisuellBefehl (natürlich).
Durch Hinzufügen der folgendensudoBehalten Sie die Werte von HTTP_PROXY und FTP_PROXY bei:
Defaults env_keep += "http_proxy ftp_proxy https_proxy HTTP_PROXY FTP_PROXY HTTPS_PROXY"
Wenn Sie DISPLAY & HOME zu dieser Liste hinzufügen, können Sie übrigens auch GUI-Programme mit sudo verwenden (sie benötigen die Variable DISPLAY zum Verbinden).
Defaults env_keep += "DISPLAY HOME"
Sie können diese beiden Zeilen auch einfach so hinzufügen. (Die+=ist hier der Schlüssel) Denken Sie daran, diese Zeilen am Ende der Datei hinzuzufügen, da in den ersten paar Zeilen normalerweise das 'Umgebung_behalten' Variable mit gerader '=', wodurch alle vorherigen Werte gelöscht werden.
Antwort2
Ich hatte selbst damit zu kämpfen und habe mich schließlich für die auf Ask Ubuntu vorgeschlagene Lösung entschieden: apt-get funktioniert nicht mit Proxy
Wenn die Einstellung
http_proxy
nicht funktioniert, versuchen Sie es mit der Bearbeitungapt.conf
. In
Ubuntuapt.conf
ist das Verzeichnis fragmentiert/etc/apt/apt.conf.d/
.
Bearbeiten Sie in diesem Verzeichnis/etc/apt/apt.conf.d/01ubuntu
:APT { Acquire { http { Proxy "http://user:password@server:port"; }; }; };