为什么设置代理,你懂得。

有很多第三方工具可以用,比如proxychains,非常好用,不过今天这不是正题。因为有可能没有代理,上网你都做不到,更别提下载软件了。想一想方法还是告诉你,免得你万一必须用:sudo apt install proxychains

通常有三种办法为apt设置代理,有了代理能上网之后,apt才能为你带来其它软件的帮助。

1.设置环境变量,如果想为所有用户设置,可以编辑/etc/profile或者/etc/environment;如果只是当前用户使用,可以设置/.profile文件,如果使用的不是bash,可能要根据需要设置其它配置文件,具体看使用shell的帮助文件,比如fish是使用:/.config/fish/config.fish。另外不同的脚本设置环境变量的命令是不同的,注意区别使用。

以bash为例,把下面这行脚本写入配置文件。记着把代理的用户名、密码替换成自己的,如果没有密码也可以把@之前的部分包括@都去掉:

export HTTPS_PROXY=http://username:password@192.168.1.1:8080

如果使用的是socks5代理,可以写成这样:

export HTTPS_PROXY="socks5://192.168.1.1:8088"
#或者
export ALL_PROXY="socks5://192.168.1.1:8088"

2.如果不想一直使用代理,只是各别命令行程序有代理需求,可以使用临时的环境变量。方法是,建立一个脚本文件,比如叫proxy.sh,内容为:

#!/bin/sh
HTTPS_PROXY=http://username:password@192.168.1.1:8080 $*

这样,以后需要使用代理执行某个命令的时候,用如下的形式:

proxy.sh curl https://www.google.com

这种方法对于某些子进程没有继承父进程环境变量的情况,会有兼容问题。不如proxychains好用。不过对于apt的测试是可以的。

3.针对apt进行设置,当然就只对apt有效了。其它常用软件git之类的,都有自己的方法,请自行搜索相关设置。设置apt代理的方法是:

sudo su
vi /etc/apt/apt.conf.d/10proxy #这个文件正常不存在,会新建一个
#编辑内容为:
Acquire::http::Proxy "http://user:pwd@192.168.1.1:8080";

随后执行apt的任何操作,都将使用这个代理了。

参考文献:

https://stackoverflow.com/questions/25322280/how-can-i-configure-a-http-proxy-for-apt-get

三种方式给apt设置代理的更多相关文章

  1. C#-WinForm-打开其他窗体的三种方式-Show()、设置Owner()、ShowDialog()

    打开其他窗体的三种方式 Show - 例如登入界面进入主页面,直接将主页面展示出来,两个窗体互不影响 public partial class Form1 : Form { public Form1( ...

  2. java:struts框架2(方法的动态和静态调用,获取Servlet API三种方式(推荐IOC(控制反转)),拦截器,静态代理和动态代理(Spring AOP))

    1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...

  3. Java设置session超时(失效)的三种方式

    1. 在web容器中设置(此处以tomcat为例) 在tomcat-6.0\conf\web.xml中设置,以下是tomcat 6.0中的默认配置: <!-- ================= ...

  4. Linux中设置服务自启动的三种方式

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s                       在/etc/rc.d/rc*.d目录中建立/e ...

  5. [转]Linux中设置服务自启动的三种方式

    from:http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统 ...

  6. Linux中设置服务自启动的三种方式,ln -s 建立启动软连接

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务(http://www.0830120.com) 主要用三种方式进行这一操作: ln -s 在/etc/rc.d/rc*.d目录中建立 ...

  7. (转)Linux中设置服务自启动的三种方式

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s                       在/etc/rc.d/rc*.d目录中建立/e ...

  8. 【转发】Linux中设置服务自启动的三种方式

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s                       在/etc/rc.d/rc*.d目录中建立/e ...

  9. 设置session超时的三种方式

    设置session超时的三种方式 1. 在容器中设置:如在tomcat-7\conf\web.xml中设置 Tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制sess ...

随机推荐

  1. redis.Redis与redis.StrictRedis区别

    redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedi ...

  2. 记录以下docker的基本命令

    docker search xxx(tag)      在OFFICIAL上ok的是官方镜像    这里也可以去dockerhub上面看到   搜索xxx镜像docker images查看本地所安装的 ...

  3. 【ORM框架】Spring Data JPA(一)-- 入门

    本文参考:spring Data JPA入门   [原创]纯干货,Spring-data-jpa详解,全方位介绍  Spring Data JPA系列教程--入门 一.Spring Data JPA介 ...

  4. docker-compose模板文件

    mysql.redis.asp.net core项目应用程序三个常见的docker-compose文件模板参考: version: "3" services: mysql: res ...

  5. Markdown初使用

    Markdown是一种纯文本格式的标记语言.通过简单的标记语法,它可以使普通文本内容具有一定的格式. 相比WYSIWYG编辑器 优点:1.因为是纯文本,所以只要支持Markdown的地方都能获得一样的 ...

  6. angular1.3 video

    video标签动态获取播放链接是出现 Error: $interpolate:interr Interpolation Error Error: $sce:insecurl Processing of ...

  7. Python操作Excel, 开发和调用接口,发送邮件

    笔记: 上周回顾: 模块: 导入模块的顺序 lyl.py # def hhh(): pass name = 'lyl' a.py import lyl import sys from lyl impo ...

  8. 解决audio控制播放音量

    在写手机端项目时,可能会遇到使用audio播放音乐,那么怎样控制audio默认播放的音量呢?下面时解决办法 volume 属于是控制audio 播放音乐的音量,其范围0-1,1表示音量最大 getVi ...

  9. es6的基本数据详解

    一.Set 基本用法:   1)ES6提供了新的数据机构-Set. 它类似于数组,但是成员的值都是唯一的,没有重复的值.Set本身是一个构造函数,用来生成Set数据结构. 先来看一段最简单的代码: 1 ...

  10. prometheus+grafana 监控生产环境机器的系统信息、redis、mongodb以及jmx

    介绍: 为了更好的对生产环境的一些中间件和操作系统的运行情况进行可视化的展示,近期了解了下prometheus加上grafana来实现这种效果,由于prometheus是新出来的开源项目,所以,监控的 ...