AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 7470
In Process
Renjith G
Renjith G
Asked: 2010-10-16 03:07:48 +0800 CST2010-10-16 03:07:48 +0800 CST 2010-10-16 03:07:48 +0800 CST

如何在命令行中通过代理运行“sudo apt-get update”?

  • 772

在我的办公室我想通过(wget)更新和下载,他们在这里使用代理?

我怎样才能通过命令行做到这一点?

networking
  • 8 8 个回答
  • 257349 Views

8 个回答

  • Voted
  1. paulo.albuquerque
    2010-12-30T11:21:00+08:002010-12-30T11:21:00+08:00

    在某些版本中,sudo 的配置方式是在运行命令时所有环境变量都被清除。要保留http_proxy的值并修复此问题,您需要编辑 /etc/sudoers,运行:

    visudo
    

    然后找到一行说明:

    Defaults env_reset 
    

    并在其后添加:

    Defaults env_keep = "http_proxy ftp_proxy" 
    

    事情将按预期开始。

    感谢Ubuntu 论坛中的kdogksu找到了解决方案。

    为了不仅修复 apt-get 还修复图形 X11 实用程序,例如 synaptic、mintintall 等),下面的行/etc/sudoers应该可以完成这项工作:

    Defaults env_keep = "http_proxy https_proxy ftp_proxy DISPLAY XAUTHORITY"
    
    • 114
  2. John Cartwright
    2013-03-18T20:24:36+08:002013-03-18T20:24:36+08:00

    用这个。

    ubuntu@ubuntu:~$ cat /etc/apt/apt.conf
    Acquire::http::Proxy "http://Username:[email protected]:8080";
    

    这就是我使用的。完美运行。

    Apt 还允许将单独的设置/etc/apt/apt.conf.d/放在.conf.

    ubuntu@ubuntu:~$ cat /etc/apt/apt.conf.d/05proxy
    Acquire::http::Proxy "http://Username:[email protected]:8080";
    
    • 52
  3. Sam
    2011-04-07T23:05:42+08:002011-04-07T23:05:42+08:00

    对我有用的是:

    sudo http_proxy=http://yourserver apt-get update
    

    这有点奇怪,因为简单地导出 http_proxy 然后运行 ​​sudo echo $http_proxy 就乖乖打印出导出的值

    • 33
  4. Oli
    2010-10-16T03:19:54+08:002010-10-16T03:19:54+08:00
    export http_proxy=http://proxyusername:proxypassword@proxyaddress:proxyport
    sudo apt-get update
    

    导出不需要sudoing,如果您的代理是匿名的,只需放弃该proxyusername:proxypassword@部分。

    • 13
  5. Prashant Adlinge
    2019-09-27T22:52:15+08:002019-09-27T22:52:15+08:00

    如果您想在命令行中通过代理运行“sudo apt-get update”,请使用以下命令,

    sudo apt-get -o Acquire::http::proxy="http://user:password@host:port/" update;
    
    • 7
  6. Scaine
    2010-12-30T12:24:16+08:002010-12-30T12:24:16+08:00

    Ubuntu 对验证代理非常不利。我在工作中使用 Ubuntu 笔记本电脑,损坏的数量令人难以置信。

    Synaptic、Apt、Firefox、Chromium 等都使用不同的方法来指定代理,并且没有地方可以安全地指定凭据。

    关于该主题的一些错误: https ://bugs.edge.launchpad.net/ubuntu/+source/msttcorefonts/+bug/220070

    https://bugs.edge.launchpad.net/ubuntu/+source/apt-cacher/+bug/198138

    https://bugs.edge.launchpad.net/ubuntu/+source/apt/+bug/433827

    https://bugs.edge.launchpad.net/ubuntu/+source/b43-fwcutter/+bug/683630

    Oli 建议使用导出是唯一安全的方法。如果代理服务器使用辅助身份验证来最小化主身份验证服务器(比如可能是 Active Directory)上的负载,有时也可以“捏造”代理支持。这是第一个代理连接由代理针对 AD 进行身份验证的地方,然后在设定的时间段(通常 5 分钟)内,所有其他连接都被“信任”为该用户。因此,您可以打开 Firefox,浏览互联网(任何地方都可以),然后通过指定代理尝试您的实用程序(wget、synaptic 等),但将用户名留空。

    Ubuntu 通常对任何公司环境都怀有敌意,因为它允许如此轻松地读取密码。Seahorse 是罪魁祸首,但网络管理器也令人震惊 - 连接到任何经过 PEAP 身份验证的网络,您只需将密码存储在小程序中,任何人都可以查看谁可能会借用您的笔记本电脑。显然,笔记本电脑共享在 Linux 领域被认为是一种亵渎,因为 Seahorse 开发人员拒绝了不安全的说法。在那之后,我没有勇气联系网络经理开发人员。

    • 4
  7. Huygens
    2010-10-16T03:21:22+08:002010-10-16T03:21:22+08:00

    如果是临时配置,你可以试试这个: sudo bash -c 'http_proxy="http://< proxy_host >:< proxy_port >/" apt-get update'

    您需要这个,因为需要为“root”帐户定义环境变量。之前做和导出不应该工作。

    对于永久配置,您必须修改系统文件。这已经在以下关于如何检查网络代理是否真正应用的答案中进行了描述?.

    • 3
  8. Jon Brett
    2010-10-16T05:32:35+08:002010-10-16T05:32:35+08:00

    你试过编辑/etc/apt/apt.conf吗?我用它来在我们的公司代理后面使用 apt。

    Acquire::http::proxy "http://user:password@host:port/";
    

    我相信 apt 使用这个值,除非在你的 shell 环境中定义了 $http_proxy (即 $http_proxy 优先)。

    • 3

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve