本文已发布于我的博客Ne0Ng's Blog
为 Fedora dnf 设置代理 | Ne0Ng's Blog

通过 sublime text 官方提供的源下载 sublime 的时候,发现下载速度太慢了

操作

全局代理

用任意的文本编辑器打开/etc/dnf/dnf.conf

sudo vim /etc/dnf/dnf.conf

[main] 的最后面加入这个

proxy=<scheme>://<ip-or-hostname>[:port]
proxy_username=
proxy_password=
  • proxy

    • <scheme> 是代理所使用的协议,可以是http,https,socks5 (还有其他的)
    • <ip-or-hostname> 是你代理的地址,例如我在本地启动了一个代理,那我就可以用 127.0.0.1
    • [:port] 是代理的端口,例如我的端口是 7890
  • proxy_username

    • 顾名思义,就是你连接代理用的用户名,不用用户名的话注释掉或者删除都可以
  • proxy_password

    • 顾名思义,就是你连接代理用的密码,不用密码的话注释掉或者删除都可以

最后保存,下一次使用 dnf 的时候就会走代理了

特定源代理

其实平常我们用 dnf 的时候肯定是不用全局代理的,一般只是少数几个在国内没有镜像的源需要代理。所以我们可以只代理这几个源。(这里我用 sublime-text 的源为例子)

用编辑器打开你要修改源的 repo 文件

sudo vim /etc/yum.repos.d/sublime-text.repo 

然后像全局代理一样加入下面内容(跟上面的内容是一样的)

proxy=<scheme>://<ip-or-hostname>[:port]
proxy_username=
proxy_password=

加入之后,大概是这样子的(由于我不用 proxy_usernameproxy_password,所以就没加上这两个参数)

[sublime-text]
name=Sublime Text - x86_64 - Stable
baseurl=https://download.sublimetext.com/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://download.sublimetext.com/sublimehq-rpm-pub.gpg
proxy=http://127.0.0.1:7890

最后保存,这样你在下载这个源的软件包时就会走代理了

其实在查 dnf 的文档的时候看到了如果没有为 dnf 专门设置代理的话它会使用 curl 的环境变量,例如 http_proxy,但我试了之后并不行。如果你尝试之后可以的话,欢迎给我留言。

参考资料

本文作者 : Ne0Ng
本文采用CC BY-NC-SA 4.0许可协议.转载和引用时请注意遵守协议!
本文链接 : https://blog.ne0ng.page/archives/proxy-for-dnf/

NeoNg
3 声望0 粉丝