Yum repositories can be accessed through standard proxy servers such as Squid proxy server. You need to provide use the following details of the proxy server in /etc/yum.conf file:
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | Yes |
Requirements | None |
Time | 2m |
- proxy=http://URL:PORT/ – Proxy serer URL to the proxy server that yum should use. You must seta complete URL, including the TCP port number. If your corporate proxy server requires a username and password, specify these by adding following two settings in yum.conf file itself.
- proxy_username=YOUR-PROXY-USERNAME-HERE (optional)- Your proxy server username to use for the proxy URL.
- proxy_password=YOUR-SUPER-secrete-PASSWORD-HERE (optional) – Your proxy server password for this proxy URL.
Configuration: Using yum with a proxy server on a CentOS/RHEL/Fedora Linux
Login as root user and type:
# vi /etc/yum.conf
Add the following settings in [main] section:
proxy=http://server1.cyberciti.biz:3128 proxy_username=vivek proxy_password=secretePassword
Here is a complete config /etc/yum.conf file:
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3 exclude=lighttpd* nginx* spawn-fcgi* webalizer* proxy=http://server1.cyberciti.biz:3128 proxy_username=vivek proxy_password=secretePassword
Save and close the file. Please note that defining a proxy server, username, and password in /etc/yum.conf means that all users connect to the proxy server with those details when using yum command:
# yum update
# yum install httpd php php-gd php-mysql
How do I enable proxy access for a specific user such as root user only?
Linux and UNIX-like system has environment variable called http_proxy. It allows you to connect text based session and applications via the proxy server. Type the following command at shell prompt:
# export http_proxy="http://server1.cyberciti.biz:3128"
OR
# export http_proxy="http://PROXY=USERNAME=HERE:PROXY=PASSWORD=HERE@URL:PORT"
# export http_proxy="http://vivek:secretePassword@server1.cyberciti.biz:3128"
Feel free to add the above line in the to your shell profile file such as ~/.bash_profile. See how to set or export: http_proxy with special characters in password on a Unix or Linux based system for more information.
🐧 7 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Hi,
Very nice article….
Yum uses mirror list, so such proxy is semi-effective…
you have not understood why we use a proxy.
yum uses mirror right, but here we are talking about a company that blocks access to outside world to almost all our server, allowing maybe only a couple of servers to reach these yum mirror.
that’s why we create a proxy in one of our “external” servers
Has anyone tried doing an upgrade (“fedup”) with a proxy? I’d be surprised if it works.
How do I configure yum to use the system proxy that was configured in the settings?
I don’t want to have multiple proxy settings set up everywhere, for every app because I wrote a script to control the system proxy. When I am at home, I switch off the proxy using the script.
Thank you very much!
It is one of the first works that I could try in CentOS.
I’m using CNTLM proxy and adding the local proxy 127.0.0.1 to yum.conf
proxy=127.0.0.1:3128
In the cntlm proxy configuration file ./etc/cntlm.conf you can create a password hash.
So you’re password remains secure.