วิธีระบุว่า Yum ไม่ควรใช้ proxy สำหรับโดเมนที่ระบุ


12

เป็นไปได้หรือไม่ที่จะระบุโดเมนที่ yum ควรเลี่ยงผ่านการกำหนดค่าพร็อกซี ฉันกลัวว่ามันเป็นไปไม่ได้ ...

ฉันอ่านว่ามันเป็นไปได้ที่จะใช้ตัวแปรสภาพแวดล้อมในเวลาHTTP_PROXYนั้นNO_PROXYมันเป็นทางออกที่ดีที่สุดหรือไม่?

[แก้ไข]

ฉันลองวิธีแก้ปัญหาด้วยตัวแปรสภาพแวดล้อม:

export HTTP_PROXY=http://user:pass@host:port
export http_proxy=http://user:pass@host:port
export no_proxy=.domain
export NO_PROXY=.domain

Yum ใช้พรอกซี แต่ repos * .domain ไม่ถูกข้าม

[การหลีกเลี่ยงปัญหา]

ใช้http://cntlm.sourceforge.net/ฉันสามารถกำหนดค่าโดเมนที่ควรละเว้น แต่สิ่งนี้จะมีเฉพาะพร็อกซีที่ต้องใช้การรับรองความถูกต้อง NTLM ...

คำตอบ:


26

ฉันไม่สามารถทำให้สิ่งนี้ทำงานได้โดยใช้ตัวแปรสภาพแวดล้อมตามที่คุณอธิบายไว้ที่นี่ อย่างไรก็ตามยัมสนับสนุนพร็อกซีเองและคุณควรทำสิ่งนี้:

proxy=http://proxy:port

เข้ามาyum.confแล้วเพิ่ม

proxy=_none_

เป็นคำจำกัดความของ repo ที่คุณไม่ต้องการเข้าถึงผ่านพร็อกซีส่วนกลาง นี่คือรายละเอียด (แม้ว่าจะชัดถ้อยชัดคำ) ในหน้า man yum.conf


ประสบความสำเร็จในที่สุด ขอบคุณ! ฉันไม่ต้องการผ่านโฮสต์ทั้งหมดอีกครั้งที่ฉันทำ แต่จะเป็นไปได้หรือไม่ที่จะเพิ่มพร็อกซีลงในไฟล์ repo เหล่านี้โดยตรงในกรณีที่จำเป็น (เช่น repos ทั้งหมดที่มีเซิร์ฟเวอร์แพ็กเกจภายนอกซึ่งตรงกันข้ามกับไฟล์ repo ที่ใช้ตัวจัดการแพ็กเกจภายในซึ่งไม่ต้องการพร็อกซี่)
erikbwork

1
proxy=_none_ยอดเยี่ยมขอบคุณ นั่นคือเรือบรรทุกของซอสที่ยอดเยี่ยม ฉันจะลงคะแนนให้คุณสองครั้งถ้าทำได้ :)
Scottie H

@erikbwork ฉันเพิ่งเพิ่มproxy=http://proxy:portไปยังไฟล์. repo ของฉันและใช้งานได้ นั่นคือสิ่งที่คุณถาม
Scottie H

4

ถ้าฉันเข้าใจคำถามนี้ถูกต้องพฤติกรรมที่ต้องการคือ

packages.centos.comถูกดึงผ่านพร็อกซี

packages.internal.lanไปโดยตรงโดยไม่ต้องผ่านพร็อกซี

ฉันเพิ่งมาถึงที่นี่โดยใช้วิธีทำด้วยตัวเองและใช้ข้อมูลข้างต้นเพื่อบรรลุสิ่งที่ฉันต้องการ แต่ฉันไม่แน่ใจว่าคำตอบข้างต้นเสร็จสมบูรณ์หรือไม่

เมื่อต้องการทำสิ่งนี้ฉันใช้สิ่งต่อไปนี้

export HTTP_PROXY=http://myproxy.internal.lan:port

export no_proxy=internal.lan

yum install package1 package2

package1ถูกดึงจากอินเทอร์เน็ตผ่านทาง proxy

package2ถูกดึงจากมิเรอร์โลคอลของฉันไม่ผ่านพร็อกซี


3

โซลูชันของฉันเกี่ยวข้องกับการตั้งค่าพร็อกซีพร็อกซี http แสง

ยำติดตั้ง privoxy

เพิ่มส่วนคำสั่งด้านหน้าสองรายการใน / etc / privoxy / config:

 forward / myproxy.internal.lan:3128
 forward .internal.lan .

และปิดใช้งานการกระทำเริ่มต้นของ privoxy (ตรวจสอบให้แน่ใจว่าไม่มีส่วนหัวที่เสียหาย): (@line 175 ในการกำหนดค่า Privoxy RHEL5)

#actionsfile standard  # Internal purpose, recommended
#actionsfile default   # Main actions file
#actionsfile user      # User customizations

จากนั้นตั้งค่าตัวแปรสภาพแวดล้อม http_proxy และ ftp_proxy ไปยังพอร์ตของ privoxy:

ประกาศ -x http_proxy = http://127.0.0.1:8118

ประกาศ -x ftp_proxy = http://127.0.0.1:8118

ยำติดตั้ง package1 package2

หมายเหตุ: หากคุณมีบรรทัดพร็อกซีใน yum.conf ให้ลบออกมันจะลบล้างตัวแปรสภาพแวดล้อม


ฉันกำลังมองหาวิธีที่จะอนุญาตโฮสต์จากรายการส่วนตัวและฉันได้รับคำตอบของฉันที่นี่ :)
45445 ahmadali

2

คุณสามารถระบุได้ในไฟล์ repo ตัวอย่างเช่น:

[hduser@n0 cloudera-manager-installer]$ cat /etc/yum.repos.d/cloudera-cdh4.repo  
[cloudera-cdh4]  
name=Cloudera's Distribution for Hadoop, Version 4  
baseurl=http://"yourhost"/cdh4/  
gpgcheck = 0
enabled=1
proxy=_none_

1

การเปลี่ยน yum บน fedora คือ dnf

สำหรับ dnf _none_จะทำให้เกิดข้อผิดพลาด

คุณจะต้องตั้งค่าพร็อกซีเป็นสตริงว่างแทน

proxy=

การอ้างอิง: https://dnf.readthedocs.io/en/latest/conf_ref.html


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