So funktioniert Aptitude richtig über einen mit sudo aufgerufenen Proxy

So funktioniert Aptitude richtig über einen mit sudo aufgerufenen Proxy

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_proxyund 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_proxynicht funktioniert, versuchen Sie es mit der Bearbeitung apt.conf. In
Ubuntu apt.confist 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";
      };
  };
};

verwandte Informationen