ubuntu18.04在sudo下使用代理

ubuntu18.04在sudo下使用代理

最近需要利用sh脚本下载一些文件,但是此脚本需要在sudo下运行,然而sudo下代理不起作用,网上找了很多办法无解,甚至踩了sudo的坑。最后自己摸索出了解决办法。

首先,根据网上的一些说法

sudo在切换成root用户的时候,env并不会去保留这些环境变量,需要特别的指明才可以

之后网上的教程便给出了修改环境变量的具体值
但是在踩坑之后为才发现,根据代理的不同,需要的环境变量也不同。那如何找到统一的变量值呢?通过观察发现,这些变量值都有统一的proxy后缀,所以我们找出当前环境变量中包含proxy字符串的值就可以了

Ubuntu-N8xxEP6:~$ env | grep proxy

最后发现指向代理端口的变量值其实是all_proxy(其他人的可能不一样,视自己情况而定),之后便在etc/sudoers中修改

Ubuntu-N8xxEP6:~$ sudo vi /etc/sudoers

Defaults env_reset下添加一行

Defaults env_keep += "http_proxy https_proxy ftp_proxy all_proxy no_proxy"

保证加上自己代理的那个端口相关的那个变量值就可以了,注意引号是英文引号
修改这

### 解决 Ubuntu 18.04 中 `sudo apt update` 出现 404 错误的方法 当执行 `sudo apt update` 命令时遇到 404 错误,通常是因为软件源配置文件中的地址已失效或不再支持该版本的操作系统。以下是可能的原因以及解决方案: #### 可能原因分析 - **官方仓库停止维护**:对于较旧的 Ubuntu 版本(如 Ubuntu 18.04),其标准更新服务器可能会被关闭或迁移至存档服务器。 - **本地网络问题**:某些情况下,DNS 配置或其他网络设置可能导致无法访问指定的镜像站点。 --- #### 修改 APT 软件源为存档服务器 可以通过修改 `/etc/apt/sources.list` 文件来指向存档服务器,从而解决此问题。 ```bash sudo sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/old-releases\.ubuntu\.com\/ubuntu\//g' /etc/apt/sources.list sudo sed -i 's/http:\/\/security\.ubuntu\.com\/ubuntu\//http:\/\/old-releases\.ubuntu\.com\/ubuntu\//g' /etc/apt/sources.list ``` 上述命令会自动将默认的更新源替换为适用于过期版本的存档服务器地址[^1]。 --- #### 清理并重新初始化APT缓存 清理现有的缓存数据可以防止残留的错误影响后续操作。 ```bash sudo rm -rf /var/lib/apt/lists/* sudo apt clean sudo apt autoclean sudo apt update ``` 这些命令依次完成删除现有列表、清除无用包和刷新索引的功能[^2]。 --- #### 处理依赖关系冲突 (Unmet Dependencies) 如果存在未满足的依赖项,则需通过修复工具尝试解决问题。 ```bash sudo dpkg --configure -a sudo apt --fix-broken install ``` 以上两条指令分别用于重新配置尚未完全安装的程序包,并修正损坏的状态记录表单[^3]。 --- #### 替代方案——更换国内镜像源 为了提高下载速度与稳定性,可考虑切换到更可靠的第三方镜像服务提供商处获取资源。例如阿里云、腾讯云或者网易所提供的加速链接均是不错的选择之一。 编辑器打开 sources.list 文件: ```bash sudo nano /etc/apt/sources.list ``` 然后替换成如下内容之一即可生效(以阿里为例): ``` deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse ... ``` 保存退出后再运行一次完整的更新流程验证效果如何。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值