วิธีใช้“ apt-get” ผ่าน“ Http-proxy” เช่นนี้?


20

ฉันพยายามใช้apt-getคำสั่งบนเครือข่ายที่ใช้พรอกซีเช่นนี้

เราใช้ 10.114.7.7 บนพอร์ต 80 เป็น Http-proxy และหลังจากนั้นจะมีหน้าต่างการตรวจสอบสิทธิ์ปรากฏขึ้นเพื่อขอชื่อผู้ใช้และรหัสผ่าน

ชื่อผู้ใช้ / โดเมนของเราเป็นดังนี้: username@urmia.ac.ir

ฉันสงสัยว่าฉันจะใช้http_proxy=http://User:Pass@Proxyserver:Portในสถานการณ์นี้ได้อย่างไร! ฉันยังลองทั้ง 10.114.7.7 และ urmia.ac.ir เป็นพร็อกซีเซิร์ฟเวอร์ แต่ไม่มีผลลัพธ์!

คำตอบ:


35

หากต้องการใช้ apt-get through proxy ให้สร้างไฟล์ใน/etc/apt/apt.conf.d/proxy ที่เรียกว่าหรือสิ่งที่คุณจำได้หรือสร้าง (หากไม่มีอยู่) /etc/apt/apt.confและใส่บรรทัดต่อไปนี้:

Acquire::http::Proxy "http://username:password@proxy.server:port/";

เพียงแทนที่ชื่อผู้ใช้และรหัสผ่านด้วยรายละเอียดการเข้าสู่ระบบของคุณและแทนที่ proxy.server: พอร์ตด้วยที่อยู่ที่ถูกต้อง (ในกรณีของคุณ, 10.114.7.7:80) ดังนั้นบรรทัดของคุณจะเป็นดังนี้:

Acquire::http::Proxy "http://username:password@10.114.7.7:80";

หากคุณจำเป็นต้องใช้@สัญลักษณ์ในชื่อผู้ใช้ของคุณคุณจะต้องหลบหนีด้วยแบ็กสแลช ( username@urmia.ac.ir)

ในขณะที่การหลีกเลี่ยงอักขระโดยใช้แบ็กสแลชไม่ทำงาน (เช่น\@ในexportและwget) อักขระพิเศษสามารถใช้ Escape ด้วยการเข้ารหัส URL ยกตัวอย่างเช่นจะกลายเป็นusername:my@pass@server.com:port username:my%40pass@server.com:portดูรายการอักขระที่เข้ารหัส URL นี้สำหรับข้อมูลเพิ่มเติม


วิธีแก้ปัญหาที่เสนอสำหรับการเพิ่มรายการพร็อกซีภายใน / etc / apt ใช้ได้สำหรับฉัน แต่ฉันทราบว่าหากพร็อกซีเซิร์ฟเวอร์ของคุณเก็บข้อมูลประจำตัวคุณสามารถหลีกเลี่ยงการฝังข้อมูลประจำตัวของคุณในไฟล์การกำหนดค่าได้ เช่นเว็บเบราว์เซอร์ใน Windows) ก่อนที่จะรันคำสั่ง apt ใน bash shell ของคุณ ด้วยการทำเช่นนี้ฉันสามารถระบุรายการพร็อกซีภายใน / etc / apt เป็น " เซิร์ฟเวอร์: พอร์ต " แทน " ชื่อผู้ใช้: รหัสผ่าน @ เซิร์ฟเวอร์: พอร์ต "
Peter Sanza

6

หรือคุณสามารถวางสิ่งต่อไปนี้ใน /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 เป็นหมายเลขพอร์ตและฉันคิดว่าเป็นมาตรฐาน

อย่าลืมคำพูดหรือเครื่องหมายอัฒภาคต่อท้าย


4

สิ่งนี้จะช่วยแก้ปัญหาของคุณ:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7:80/EXPORT: command not foundทำงานในผลการทุบตีใน
David Foerster

ทั้งการส่งออกและ http ในกรณีที่ต่ำกว่า Bash คำนึงถึงขนาดตัวพิมพ์ อื่นควรทำงาน อย่างน้อยก็ทำงานให้ฉันมาสองปีแล้ว
s3lph

6
ใช้งานได้กับขด แต่ไม่ใช่สำหรับ apt
FGM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.