Wie setze ich den Proxy im Terminal auf automatisch zurück, wenn keine Verbindung über den Proxy besteht?

9

Ich habe versucht, den Proxy des Terminals durch einige Befehle zurückzusetzen, aber es passiert nicht und wechselt automatisch zurück zu diesem Proxy 172.16.0.16 (der anscheinend mein College-Proxy war).

Ich habe meine Systemeinstellungen überprüft. Ich verstehe nicht, warum dies wiederholt auftritt.
Bitte seien Sie umfassend. Außerdem möchte ich wissen, wie der Proxyserver umgangen werden kann, da ich auf keines der Ubuntu-Repositorys zugreifen konnte, da diese in den Proxy-Einstellungen meines Colleges blockiert waren, ebenso wie die Ubuntu-Homepage.

Vielen Dank für Ihre Zeit. Terminal-Schnappschuss

Für sudo ls /etc/apt/apt.conf.d/ Es werden andere Optionen angezeigt, bei denen der Proxy nicht aufgeführt ist. Ich bin am 12.10., Wenn dies hilfreich sein sollte. Ich habe einen Snap des Terminals erstellt, nachdem der obige Befehl eingegeben wurde. ls Befehl eingegeben

therealnube
quelle

Antworten:

20

Ubuntu 12.10 legt die Proxy-Einstellungen sowohl in /etc/environmentals auch /etc/apt/apt.confbeim Festlegen des Proxys über die GUI (Netzwerkeinstellungen) fest.

Überprüfen Sie Ihre passenden Einstellungen

grep -Hnri proxy /etc/apt/

listet die aktuellen Proxy-Einstellungen auf, die aptim folgenden Format verwendet werden.

filename:linenumber:proxy-setting

Wenn Sie eine Ausgabe sehen, entspricht diese aptden Proxy-Einstellungen. Sie müssen gelöscht werden.

sudoedit <filename>

Hier können Sie die entsprechende Konfigurationsdatei bearbeiten. Kopieren Sie den vorhandenen Inhalt irgendwo hin, falls Sie ihn wiederherstellen müssen, und löschen oder kommentieren Sie die Zeilen, die wie
Acquire::<protocol>::proxy=<your proxy here>
folgt aussehen (Fügen Sie // am Anfang einer Zeile hinzu, um diese Zeile zu kommentieren. Kommentierte Zeilen werden ignoriert.)

Speichern Sie die Dateien, schließen Sie den Texteditor und versuchen Sie es erneut. Wenn das Problem weiterhin besteht,

Überprüfen Sie die globale Standardumgebung.

grep proxy -i /etc/environment

Sollte alle Proxy-Einstellungen auflisten, die global angewendet werden. Wenn Sie sie löschen müssen,

sudoedit /etc/environment

wird den Texteditor starten. Zeilen, die mit # beginnen, werden ignoriert. Fügen Sie daher vor den Zeilen, in denen Ihre Proxy-Einstellungen angegeben sind, ein # hinzu. Speichern Sie die Datei und versuchen Sie es erneut.

Reinigen der Benutzerumgebung

Es ist möglich, dass die systemweite Konfiguration sauber aptist, aber Proxy-Einstellungen aus der Benutzerumgebung übernimmt . sudoIn bestimmten Konfigurationen wird -Edie Umgebung standardmäßig oder bei expliziter Übergabe als Option beibehalten.

env | grep -i proxy

sollte alle aktuellen Proxy-Einstellungen der Umgebung auflisten. unset <variable>kann verwendet werden, um eine Variable zu deaktivieren oder zu löschen. Deaktivieren Sie alle <protocol>_proxyVariablen. Wenn die Einstellungen automatisch vorgenommen werden, können Sie die entsprechenden Einträge Kommentar aus ~/.profile, ~/.bashrc,~/.pam_environment

(Dies sind die häufigsten Dateien, die die Einträge enthalten. Alle können gleichzeitig mit durchsucht werden. grep -Hni proxy ~/.profile ~/.bashrc ~/.pam_environment )

Mahesh
quelle
Schade, keiner von beiden funktioniert. Ich bin über eine Breitbandverbindung, nur die Browser sind funktionsfähig.
Therealnube
Versuchen Sie meine aktualisierte Antwort. Beachten Sie die iOption grep, bei der die Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchgeführt wird.
Mahesh
Nun, ich habe das letzte Bit nicht abgeschlossen. Bereinigen der Benutzerumgebung Aber heute scheint es magisch zu funktionieren. Wahrscheinlich hat sich ein Code selbst behoben: | Was wäre, wenn ich die Operation rückgängig machen müsste? Wird eine Änderung in der Netzwerk-GUI in Zukunft erneut den erforderlichen Proxy zuweisen?
Therealnube
Ja. Durch Ändern der Einstellung über die GUI werden alle oben genannten Änderungen rückgängig gemacht. Stellen Sie einfach sicher, dass Sie sie systemweit anwenden.
Mahesh
Ich habe versucht, die Variablen zu löschen, aber wenn ich das Terminal schließe und neu starte, werden alle meine Proxy-Werte auf 192.168.2.1:8080 zurückgesetzt. - Warum passiert das?
Sheharyar
3

http://www.iasptk.com/how-to-change-system-proxy-settings-from-terminal-in-ubuntu-1204precise

So ändern Sie die System-Proxy-Einstellungen vom Terminal in Ubuntu 12.04 (Präzise)

Konfigurieren Sie den Ubuntu-Desktop / Laptop für die Verwendung Ihres Proxyservers vom Terminal aus.

Aktivieren Sie die Proxy-Einstellung vom Terminal in Ubuntu 12.04

Öffnen Sie das Terminal und führen Sie die folgenden Befehle aus

Hinweis: - Ändern Sie die Host-IP- und Porteinstellung mit Ihrer.

gsettings set org.gnome.system.proxy.socks host '192.168.1.1′
gsettings set org.gnome.system.proxy.socks port 8080
gsettings set org.gnome.system.proxy mode 'manual'

Deaktivieren Sie die Proxy-Einstellung vom Terminal in Ubuntu 12.04

gsettings set org.gnome.system.proxy mode 'none'
ptheo
quelle
1
Dies wäre der bevorzugte Weg, um Proxy zu setzen / zu löschen. Die GUI (Netzwerk-Proxy) erledigt eine gleichwertige Aufgabe mithilfe von Gsettings-Bindungen. Dadurch werden jedoch Einträge auf Benutzerebene festgelegt, und apt bleibt möglicherweise unberührt.
Mahesh
0

app-get Die Proxy-Einstellung wird unter gespeichert /etc/apt/apt.conf.d/20proxy

Auch der Dateiname kann so etwas wie 20proxy sein .

Achtung: Sie benötigen die rootBerechtigung zum Ändern oder Entfernen der Datei unter /etc/apt/apt.conf.d.

Dies könnte Arbeit sein:

$ sudo ls /etc/apt/apt.conf.d/

00aptitude    15update-stamp  20proxy                99update-notifier
00trustcdrom  20archive       
01autoremove  20changelog     50unattended-upgrades
10periodic    20dbus          70debconf

$ sudo mv /etc/apt/apt.conf.d/20proxy /etc/apt/apt.conf.d/20proxy~

Wenn Sie die Datei nicht direkt finden können, suchen Sie Acquire::http::Proxywie folgt:

find /etc/apt/apt.conf.d | xargs grep "Acquire :: http :: Proxy`

Da der Inhalt der Datei, die den Proxy festlegt, wie folgt aussehen sollte:

Acquire :: http :: Proxy "http: 172.16.0.16: 3142";

Irgendwann wird die Umgebungsvariable dafür festgelegt. Gehen Sie folgendermaßen vor http_proxy:

exportiere http_proxy =

Amir Naghizadeh
quelle
Dies wird nicht helfen, Sir, bitte führen Sie mich über Schritte. Ich kann nicht auf die Liste zugreifen, der Befehl $sudo ls /etc/apt/apt.conf.d/zeigt mir eine andere Liste
therealnube