【转】搭建ubuntu apt-get代理服务器

    实际应用中常常有这样的情况,一个单位中只有部分计算机直接连接外网,而内网中有十几台安装有Ubuntu系统的计算机。这样的情况下,这些安装Ubuntu系统电脑的日常更新或软件安装就成了一件“烦心”事,有没有什么好的方法可以解决这个问题呢?

    解决这个问题,可以找一台安装了Ubuntu系统且有两块网卡的电脑(一块连接外网,另一块连接内网),然后在该主机上安装Apt-proxy代理服务器软件即可(本文介绍基于Ubuntu Desktop 9.10。)。

    Apt-proxy是一个专用于APT软件包安装的代理服务器软件,它可以在本地创建一个外部镜像服务器的软件库的完整副本。内网的其它 机器只要访问Apt-proxy代理服务器就可以更新或安装软件。并且当客户端请求的软件包在Apt-proxy服务器不存在时,Apt-proxy自动 从外部镜像服务器下载软件包到本地,然后供客户端下载和安装。

    1. 下载安装Apt-proxy

    默认状态下,Ubuntu系统中没有安装Apt-proxy代理服务器软件,不过Ubuntu的软件源中已经包含了该软件的安装包。在菜单“系统→系 统管理”下找到“新立得软件包管理”项并打开,点击窗口工具栏上的“搜索”按钮,在“搜索”对话框中输入关键字“apt-proxy”,则搜索结果出现在 可安装软件包列表区中(如图1所示)。标记“apt-proxy”软件包并安装后,将生成从外部镜像服务器下载的安装包的Apt-proxy缓存目录 “/var/cache/apt-proxy”,该目录初始时为空。



    2.配置Apt-proxy

    Apt-proxy的配置文件为“/etc/apt-proxy/apt-proxy-v2.conf”。 配置文件格式比较简单,文件内容分为若干段(项),以“[ ]”括起来的称为一个段,括号中的内容为段名。如“[DEFAULT]”段表示该部分内容为Apt-proxy的一些默认选项,用户可根据需要进行设定。

    比如,设定运行Apt-proxy的主机的IP地址、端口号(默认为9999)、缓存下载的软件包的路径(默认为“/var/cache/apt- proxy”)等。配置文件以两个半角分号作为注释符号,前面加分号的行不起任何作用。在这里我们找到“[ubuntu]”这个段(因客户端安装的是 Ubuntu系统,如客户端安装Debian,则需对应找到“[debian]”段),其中有一项“backends”(“后端”即外部镜像服务器),比如只填写一个外部镜像服务器,则服务器的地址直接跟在“backends”后面,否则转到下一行填写外部镜像服务器的地址,每个地址一行。 “[ubuntu]”段的设置类似图2所示:



配置文件设定好后,保存退出并重新启动Apt-proxy代理服务器使之生效。为确认Apt-proxy代理服务器是否正常运行,我们可以用命令 “netstat –tnl”来查看端口“9999”是否处于侦听状态,如是则说明Apt-proxy工作正常,就可以接受客户端的连接请求了。

    3.配置Apt-proxy客户端

    客户端的工作主要是修改软件源配置文件。打开一个GNOME终端窗口,进入“/etc/apt”目录,输入命令“sudo cp sources.list sources.list.bak”,创建“sources.list”文件的一个备份,然后打开 “sources.list”文件,在文件中可看到类似如下的行:
deb  http://archive.ubuntu.com/ubuntu   karmic  main restricted universe multiverse

我们所要做的修改就是将其中软件镜像服务器地址,如“ http://archive.ubuntu.com ”改为“ http://192.168.0.66:9999 ”, 其中Apt-proxy代理服务器的地址为“192.168.0.66”,代理端口号为“9999”。编辑好客户端的“sources.list”文件 后,输入命令“sudo apt-get update”来更新数据源。现在,在客户端无论使用APT相关命令或其它软件包安装管理器均可以正常进行软件安装或更新了。

补充

1.导入已下载的Deb软件包

    如果在使用Apt-proxy前,已经用Apt-get命令下载了大量的Deb软件包,在安装Apt-proxy后,可以输入命令“sudo apt-get update”或“sudo apt-proxy-import /var/cache/apt/archives”将这些软件包导入到Apt-proxy的缓存目录下,导入成功后,即可在Apt-proxy缓存目录下 查看到导入的Deb包文件。

2.让Apt-proxy也代理

    有时,安装Apt-proxy的计算机位于内网中,但如果单位网络中有一台公用的代理服务器,则可以设定让Apt-proxy通过公用的代理服务器连接上外部的镜像服务器。要实现该功能,需要编辑Apt-proxy的配置文件“/etc/apt-proxy/apt-proxy-v2.conf”,在 文件中找到“[DEFAULT]”段,其中有一项“http_proxy”,默认情况下该功能没有启用,启用该功能需去掉该行前面的分号,并填写上本地 HTTP代理服务器的地址、代理端口号。假设HTTP代理服务器地址为192.168.0.88,代理端口号为9989,则该项可设定为 “http_proxy = 192.168.0.88 :9989”,设置完毕后,重启Apt-proxy服务让设置生效,而客户端则不需要做任何改变。

小结

    Apt-proxy是一款非常实用的APT安装代理服务器软件,它能自动将下载的软件包缓存到专用的目录中,当客户端请求的软件包存在时,就从本地提交给客户端,不需要连接到外部镜像服务器下载,因而可以在很大程度上减少下载带宽和安装时间,提高维护Ubuntu系统的效率,非常适用于一些局域网环境的软件更新和安装。

转载于:https://my.oschina.net/aiguozhe/blog/59327

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Ubuntu局域网apt-get源是为了提供一个内部网络上的软件下载和更新服务,以减少对外部网络的依赖并提高下载速度。 首先,我们需要一台拥有Ubuntu操作系统的服务器作为apt-get服务器。确保该服务器能够连接至互联网,并设置一个静态IP地址,以便其他设备能够访问到它。 接下来,打开终端并以root用户身份登录服务器。首先我们需要安装apache2软件包来搭建一个Web服务器。在终端中输入以下命令进行安装: sudo apt-get update sudo apt-get install apache2 安装完成后,我们需要配置apt仓库的根目录。默认情况下,apt仓库的根目录位于/var/www/html目录下。我们可以通过修改默认的配置文件来更改该目录。在终端中输入以下命令打开配置文件: sudo nano /etc/apache2/sites-available/000-default.conf 在编辑器中,找到并修改以下行: DocumentRoot /var/www/html 将其修改为你希望的apt仓库的根目录路径。保存文件并退出。 接下来,我们需要在该根目录下创建一个文件夹作为apt仓库的存储位置。在终端中输入以下命令: sudo mkdir -p /var/www/html/ubuntu 然后,将需要的Ubuntu软件包拷贝到该文件夹下。你可以通过下载这些软件包,然后使用以下命令将其复制到该文件夹下: sudo cp [软件包路径] /var/www/html/ubuntu 注意,你可以将多个软件包复制到该文件夹下,以便提供不同的软件选择。 最后,我们需要更新apt源列表以添加新的源。在终端中输入以下命令: sudo apt-get update 现在,你的局域网内的其他设备就可以通过以下命令来访问并安装这些软件包: sudo apt-get install [软件包名称] 通过搭建Ubuntu局域网apt-get源,你的内部网络就能够更高效地下载和更新软件,减少对外部网络的依赖。同时,你也可以根据需要添加更多的软件包到apt仓库中,以提供更多的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值