位置: 编程技术 - 正文
推荐整理分享Debian中安装使用apt-p2p来构建软件包缓存的教程(debian 安装),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:debian安装步骤,debian安装步骤,debian软件安装命令,debian sid 安装,debian yum安装,debian sid 安装,debian 安装,debian 安装,内容如对您有帮助,希望把文章链接给更多的朋友!
本人家里有好几台运行Debian GNU/Linux testing的计算机,共处于一个小局域网内。因为Debian testing是滚动更新的,所以我每隔几天就要把它们全部更新一遍。但是一来中国家庭的网速还是说不上很快,每台机器都要从上游软件源的服务器上下载成百上千兆字节的软件包要花不少时间;二来这样操作也给软件源的服务器造成不小的负担。apt-p2p,顾名思义,就是用户与用户之间直接进行 deb 软件包的传递。
后来我想起Debian曾开发过一个叫apt-p2p的软件,它的设计初衷是缓存已下载的软件包提供给其他同样运行着apt-p2p的peers,作为从软件源下载的补充。那么是否可以用这个软件在局域网内搭建一个Debian软件包缓存呢?
apt-p2p拥有着 P2P 技术的优势:# * 即能从用户节点中获取软件包,同时又能从官方源中下载# * 使用 apt-p2p 的人越多,软件包的传递效率就越高、速度越快# * 低 CPU 和内存资源消耗# *先进行哈希校验,之后才进行软件包的传递,最大限度地确保安全、避免下载到损坏的包
但同样,它也存在着 P2P 的弊端:# * 如果使用 apt-p2p 的人不多,速度可能还不及原装的 apt-get。# * 尽管机率非常小,但仍可能遭遇到潜在的哈希欺骗,进而引发系统安全隐患
目前,在天朝境内使用 apt-p2p 的人的确不多,这一情况可能是制约 apt-p2p 在天朝推广的最主要原因。但如果人人都不去支持 apt-p2p,那 apt-p2p 又如何发展得起来呢?我们又如何才能获得 apt-p2p 的便利呢?所以,鄙人在此号召大家一起来使用 apt-p2p!
安装步骤方法
1、准备依赖环境复制代码代码如下:sudo apt-get install python python-apt python-twisted python-twisted-web、安装 apt-p2p复制代码代码如下:sudo apt-get install apt-p2p3、修改软件源列表(注:第三方源不用也不必修改)复制代码代码如下:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backupsudo sed -i 's% /etc/apt/sources.list4、根据需要配置apt-p2p复制代码代码如下:sudo gedit /etc/apt-p2p/apt-p2p.conf其中“PORT = ”指定 apt-p2p 使用的端口,默认为“”。当然,你也可以指定它为“”,只是要确保与《/etc/apt/sources.list》中的修改值一致“UPLOAD_LIMIT = ”指定最大上传速度,默认为“0”即不限速,建议设置为“~”(KB/秒)“MIN_DOWNLOAD_PEERS = ”是指定当可用的 prees 节点少于多少时,才开始从官方源下载,建议使用默认值“3”“CACHE_DIR = ”是指定 apt-p2p 的软件包缓存目录,建议使用默认值“OTHER_DIRS = ”是指定额外的软件包目录。注意:一旦指定,在该目录下的所有文件都会被上传“UPLOAD_LIMIT = ”指定是否进行软件包下载数据列表统计并公布。默认为“yes”即进行公布,若你的电脑对保密等级要求特别高,那请设置为“no”“DHT-ONLY = ”是否仅只使用分布式散列表提供的资源,建议使用默认值“no”
5、若是装有防火墙,须将“”、“”端口开放;若是使用路由器,还需要进行映射设置
6、重新启动 apt-p2p,以应用新配置复制代码代码如下:sudo rm -rf /var/cache/apt-p2p/cache/*sudo /etc/init.d/apt-p2p restart7、开始更新、升级系统或安装软件包复制代码代码如下:sudo apt-get update sudo apt-get upgrade说明:有的教程说要禁用第三方源,但就鄙人实际使用下来的情况,就算不禁用第三方源也没有什么影响
检视 apt-p2p 运行情况的方法:在浏览器地址栏中输入 testing maindeb-src testing maindeb testing/updates maindeb-src testing/updates maindeb testing-proposed-updates maindeb-src testing-proposed-updates maindeb unstable maindeb-src unstable main然而apt-p2p的缓存只能给本机使用,其他主机若试图直接访问端口只会得到错误。因此还需要在安装apt-p2p的主机上架设一个http反向代理,使得在apt-p2p看来,所有的请求均来自本机。
我使用的反向代理是Pound,它在安装好后默认是禁用的。在/etc/pound/pound.cfg中配置好服务器后再到/etc/default/pound中启用它,然后使用service启动服务器即可。
我使用的配置如下:复制代码代码如下:...(keep default)ListenHTTP Address 0.0.0.0 Port ## allow PUT and DELETE also (by default only GET, POST and HEAD)?: xHTTP 0 Service BackEnd Address .0.0.1 Port End EndEnd监听于端口,后台服务器在本机的端口。
这样一来,其他主机便也可以通过端口使用apt-p2p的缓存了。我的做法是在打算使用缓存的其他主机上将/etc/apt/sources.list移动到/etc/apt/sources.list.d/_main.list,然后仿照缓存主机的软件源列表建立/etc/apt/sources.list.d/_apt-p2p-home.list,只是要把url中的localhost:换成<hostname-of-cache-server>.local:即可,当然最好保持软件源服务器相同。这样apt会优先通过反向代理使用apt-p2p的缓存,当缓存不可用时仍可直接连接软件源服务器获取软件包:复制代码代码如下:_apt-p2p-home.list:</p><p>deb testing maindeb-src testing maindeb testing/updates maindeb-src testing/updates maindeb testing-proposed-updates maindeb-src testing-proposed-updates maindeb unstable maindeb-src unstable main_main.list:</p><p>deb testing maindeb-src testing maindeb testing/updates maindeb-src testing/updates maindeb testing-proposed-updates maindeb-src testing-proposed-updates maindeb unstable maindeb-src unstable main如安装了apt-transport-https,可以将_main.list中的http换成https。
这种以主机名加“.local”的域名格式是mDNS/DNS-SD协议提供的一种在广播域内定位主机和发布服务的方法,主要实现有Avahi和Mac OS X的Bonjour。
这样一来,在局域网内,任何一台主机都优先通过apt-p2p获取软件包,一台更新可以惠及全家;即使短时间内更新多台主机,也只需要向软件源索取一次;而且大规模的数据流动发生在带宽很高的局域网内,更缩短了更新时间,提高了效率。
只是这样一来相当于在非缓存主机上配置了两个软件源,而当这两个软件源重复部分的信息不同步时(如笔记本计算机在局域网外更新了直连软件源服务器的软件包列表),apt-get source是无法使用的,因为apt对源码包的检查更严格。
Ubuntu系统有望在年实现体验与应用跨平台 Ubuntu母公司Canonical近日在官方Google+页面中公布了一张图片,并称跨设备Ubuntu一致体验很快将到来。Canonical于今年月份在官方网站公布该计划,现在看
Ubuntu系统上自定义图形化桌面时间显示的方法 尽管设置页面里已经有一些选项可以用了,这个快速教程会向你展示如何更加深入地自定义Ubuntu面板上的时间和日期指示器。在开始之前,在Ubuntu软件
ubuntu虚拟系统怎么设置终端背景和字体颜色? 虽然成功安装了一个虚拟系统,但是却不喜欢它的背景颜色,和字体颜色,怎么办呢?下面教你怎么设置,什么颜色都行,想要透明的也ok。这里介绍的
标签: debian 安装
本文链接地址:https://www.jiuchutong.com/biancheng/352800.html 转载请保留说明!友情链接: 武汉网站建设