亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Debian > 正文

Debian中安裝使用apt-p2p來構建軟件包緩存的教程

2020-10-18 20:37:40
字體:
來源:轉載
供稿:網友

本人家里有好幾臺運行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-web2

2、安裝 apt-p2p

復制代碼
代碼如下:

sudo apt-get install apt-p2p

3、修改軟件源列表(注:第三方源不用也不必修改)

復制代碼
代碼如下:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo sed -i 's%http://%http://localhost:9977/%g' /etc/apt/sources.list

4、根據需要配置apt-p2p

復制代碼
代碼如下:

sudo gedit /etc/apt-p2p/apt-p2p.conf

其中
“PORT = ”指定 apt-p2p 使用的端口,默認為“9977”。當然,你也可以指定它為“9527”,只是要確保與《/etc/apt/sources.list》中的修改值一致
“UPLOAD_LIMIT = ”指定最大上傳速度,默認為“0”即不限速,建議設置為“10~50”(KB/秒)
“MIN_DOWNLOAD_PEERS = ”是指定當可用的 prees 節點少于多少時,才開始從官方源下載,建議使用默認值“3”
“CACHE_DIR = ”是指定 apt-p2p 的軟件包緩存目錄,建議使用默認值
“OTHER_DIRS = ”是指定額外的軟件包目錄。注意:一旦指定,在該目錄下的所有文件都會被上傳
“UPLOAD_LIMIT = ”指定是否進行軟件包下載數據列表統計并公布。默認為“yes”即進行公布,若你的電腦對保密等級要求特別高,那請設置為“no”
“DHT-ONLY = ”是否僅只使用分布式散列表提供的資源,建議使用默認值“no”

5、若是裝有防火墻,須將“9967”、“9977”端口開放;若是使用路由器,還需要進行映射設置

6、重新啟動 apt-p2p,以應用新配置

復制代碼
代碼如下:

sudo rm -rf /var/cache/apt-p2p/cache/*
sudo /etc/init.d/apt-p2p restart

7、開始更新、升級系統或安裝軟件包

復制代碼
代碼如下:

sudo apt-get update

sudo apt-get upgrade

說明:有的教程說要禁用第三方源,但就鄙人實際使用下來的情況,就算不禁用第三方源也沒有什么影響

檢視 apt-p2p 運行情況的方法:
在瀏覽器地址欄中輸入 http://localhost:9977/,即可察看相關信息

本地軟件包緩存搭建方法:

apt-p2p由Python寫成,安裝好后默認監聽于TCP和UDP的9977端口,可通過/etc/apt-p2p/apt-p2p.conf改變其行為。TCP端口同時用于本機apt下載軟件包,而UDP端口用于組建在p2p文件共享工具中常見的DHT網絡。只需要在/etc/apt/sources.list文件中軟件源的url,例如http://mirror.server/debian/的服務器域名前面插入localhost:9977,即成為http://localhost:9977/mirror.server/debian/,具體從互聯網上獲取軟件包的工作便交給apt-p2p負責了:

當收到來自本機apt的文件下載請求時,apt-p2p會先檢測文件是否已經存在于緩存的目錄樹中
如果已存在,則還要檢查是否為最新(通過向軟件源服務器發出HEAD請求來實現)
如果是,則直接返回緩存的文件
否則從互聯網上下載文件供給apt,同時存入緩存并記錄其散列值
下載文件會首先嘗試從peer處下載,不成再到軟件源服務器處下載
緩存下來的文件和散列值可供其他peer使用。可以通過apt-p2p的日志文件/var/log/apt-p2p.log深入觀測這一過程。

以下是我安裝了apt-p2p的主機mycastle的sources.list:

復制代碼
代碼如下:

deb http://localhost:9977/mirrors.ustc.edu.cn/debian/ testing main
deb-src http://localhost:9977/mirrors.ustc.edu.cn/debian/ testing main
deb http://localhost:9977/mirrors.ustc.edu.cn/debian-security/ testing/updates main
deb-src http://localhost:9977/mirrors.ustc.edu.cn/debian-security testing/updates main
deb http://localhost:9977/mirrors.ustc.edu.cn/debian/ testing-proposed-updates main
deb-src http://localhost:9977/mirrors.ustc.edu.cn/debian/ testing-proposed-updates main
deb http://localhost:9977/mirrors.ustc.edu.cn/debian/ unstable main
deb-src http://localhost:9977/mirrors.ustc.edu.cn/debian/ unstable main

然而apt-p2p的緩存只能給本機使用,其他主機若試圖直接訪問9977端口只會得到404錯誤。因此還需要在安裝apt-p2p的主機上架設一個http反向代理,使得在apt-p2p看來,所有的請求均來自本機。

我使用的反向代理是Pound,它在安裝好后默認是禁用的。在/etc/pound/pound.cfg中配置好服務器后再到/etc/default/pound中啟用它,然后使用service啟動服務器即可。

我使用的配置如下:

復制代碼
代碼如下:

...(keep default)
ListenHTTP
Address 0.0.0.0
Port 9978
## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
xHTTP 0
Service
BackEnd
Address 127.0.0.1
Port 9977
End
End
End

監聽于9978端口,后臺服務器在本機的9977端口。

這樣一來,其他主機便也可以通過9978端口使用apt-p2p的緩存了。我的做法是在打算使用緩存的其他主機上將/etc/apt/sources.list移動到/etc/apt/sources.list.d/50_main.list,然后仿照緩存主機的軟件源列表建立/etc/apt/sources.list.d/10_apt-p2p-home.list,只是要把url中的localhost:9977換成<hostname-of-cache-server>.local:9978即可,當然最好保持軟件源服務器相同。這樣apt會優先通過反向代理使用apt-p2p的緩存,當緩存不可用時仍可直接連接軟件源服務器獲取軟件包:

復制代碼
代碼如下:

10_apt-p2p-home.list:</p><p>deb http://mycastle.local:9978/mirrors.ustc.edu.cn/debian/ testing main
deb-src http://mycastle.local:9978/mirrors.ustc.edu.cn/debian/ testing main
deb http://mycastle.local:9978/mirrors.ustc.edu.cn/debian-security/ testing/updates main
deb-src http://mycastle.local:9978/mirrors.ustc.edu.cn/debian-security testing/updates main
deb http://mycastle.local:9978/mirrors.ustc.edu.cn/debian/ testing-proposed-updates main
deb-src http://mycastle.local:9978/mirrors.ustc.edu.cn/debian/ testing-proposed-updates main
deb http://mycastle.local:9978/mirrors.ustc.edu.cn/debian/ unstable main
deb-src http://mycastle.local:9978/mirrors.ustc.edu.cn/debian/ unstable main
50_main.list:</p><p>deb http://mirrors.ustc.edu.cn/debian/ testing main
deb-src http://mirrors.ustc.edu.cn/debian/ testing main
deb http://mirrors.ustc.edu.cn/debian-security/ testing/updates main
deb-src http://mirrors.ustc.edu.cn/debian-security testing/updates main
deb http://mirrors.ustc.edu.cn/debian/ testing-proposed-updates main
deb-src http://mirrors.ustc.edu.cn/debian/ testing-proposed-updates main
deb http://mirrors.ustc.edu.cn/debian/ unstable main
deb-src http://mirrors.ustc.edu.cn/debian/ unstable main

如安裝了apt-transport-https,可以將50_main.list中的http換成https。

這種以主機名加“.local”的域名格式是mDNS/DNS-SD協議提供的一種在廣播域內定位主機和發布服務的方法,主要實現有Avahi和Mac OS X的Bonjour。

這樣一來,在局域網內,任何一臺主機都優先通過apt-p2p獲取軟件包,一臺更新可以惠及全家;即使短時間內更新多臺主機,也只需要向軟件源索取一次;而且大規模的數據流動發生在帶寬很高的局域網內,更縮短了更新時間,提高了效率。

只是這樣一來相當于在非緩存主機上配置了兩個軟件源,而當這兩個軟件源重復部分的信息不同步時(如筆記本計算機在局域網外更新了直連軟件源服務器的軟件包列表),apt-get source是無法使用的,因為apt對源碼包的檢查更嚴格。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩精品中文字幕| 精品国偷自产在线视频99| 亚洲欧美成人精品| 国产成人精品久久二区二区| 日韩久久精品电影| 7777kkkk成人观看| 国产精品久久9| 国产欧美欧洲在线观看| 538国产精品视频一区二区| 久久久久久久一区二区三区| 国产精品久久久久久网站| 亚洲精品久久久久久久久| 亚洲缚视频在线观看| 久久久黄色av| 欧美亚洲国产日韩2020| 久久久久久国产精品美女| 九九九久久久久久| 91久久精品美女| 亚洲综合色激情五月| 国产在线精品一区免费香蕉| 国产精品96久久久久久| 亚洲区在线播放| 亚洲欧洲日产国码av系列天堂| 国产美女扒开尿口久久久| 亚洲电影中文字幕| 国产一区二区三区在线| 国产精品丝袜视频| 欧美视频在线观看 亚洲欧| 色老头一区二区三区| 成人黄色免费在线观看| 日韩成人av网| 欧美极度另类性三渗透| 亚洲电影免费观看| 欧美猛交ⅹxxx乱大交视频| 国产一区二区三区直播精品电影| 亚洲a∨日韩av高清在线观看| 国自产精品手机在线观看视频| 国产综合香蕉五月婷在线| 欧美视频中文字幕在线| 国产精品aaaa| 久久五月情影视| 九九九久久久久久| 国产精品香蕉在线观看| 在线不卡国产精品| 97av在线视频免费播放| 久久成人国产精品| 91国产中文字幕| 在线午夜精品自拍| 国产精品久久久| 91精品久久久久久久久久久| 自拍偷拍亚洲在线| 欧美一级高清免费| 国产日韩欧美在线| 久久成人这里只有精品| 一区二区福利视频| 欧美孕妇与黑人孕交| 国产精品三级网站| 色yeye香蕉凹凸一区二区av| 中文在线不卡视频| 亚洲男女自偷自拍图片另类| 欧美日韩人人澡狠狠躁视频| 久久不射热爱视频精品| 欧美日韩加勒比精品一区| 亚洲欧洲日产国码av系列天堂| 亚洲第一中文字幕在线观看| 国产午夜精品免费一区二区三区| 亚洲护士老师的毛茸茸最新章节| 992tv在线成人免费观看| 欧美日韩第一视频| 少妇激情综合网| 国产69久久精品成人看| 午夜精品久久久久久久99热| 亚洲高清在线观看| 欧美精品激情视频| 亚洲自拍高清视频网站| 欧美激情一级精品国产| 国产精品美女免费视频| 欧美性受xxxx白人性爽| 日韩欧亚中文在线| 91av网站在线播放| 岛国精品视频在线播放| 日韩av成人在线| 久久av红桃一区二区小说| 亚洲视频在线观看网站| 亚洲欧美激情精品一区二区| 激情成人在线视频| 国产精品日本精品| 欧美日韩一区二区免费在线观看| 成人精品视频久久久久| 国产精品久久久久久久久影视| 国产精品一区久久| 一区二区三区视频免费| 中文字幕在线国产精品| 亚洲毛茸茸少妇高潮呻吟| 国产一区二区美女视频| 国产欧美中文字幕| 91色精品视频在线| 欧美理论电影网| 欧美激情性做爰免费视频| 日韩视频―中文字幕| 国产精品吹潮在线观看| 欧美高清videos高潮hd| 精品国偷自产在线| 欧美日韩久久久久| 日韩高清电影免费观看完整版| 成人写真福利网| 国产a∨精品一区二区三区不卡| 亚洲aⅴ日韩av电影在线观看| 51ⅴ精品国产91久久久久久| 日韩在线国产精品| 国产精品一区二区三区毛片淫片| 国产精品吴梦梦| 一区二区三区美女xx视频| 久久国产精品视频| 91成人国产在线观看| 久久久欧美精品| 久久亚洲精品一区| 欧美性生交大片免网| 国产视频久久久| 欧美午夜精品在线| 国产91网红主播在线观看| 国产亚洲精品高潮| 日韩人在线观看| 欧美午夜视频在线观看| 欧美国产精品va在线观看| 欧美日韩视频免费播放| 在线亚洲午夜片av大片| 久久久精品在线| 亚洲欧美激情另类校园| 日韩激情视频在线| 久久视频在线视频| 欧美激情区在线播放| 精品无人区太爽高潮在线播放| 久久综合亚洲社区| 亚洲精品久久视频| 国产美女高潮久久白浆| 欧美激情精品久久久久久黑人| 在线观看日韩av| 精品国产一区二区三区在线观看| 中文国产成人精品久久一| 亚洲色图激情小说| 成人国产精品久久久久久亚洲| 国产综合久久久久| 精品成人国产在线观看男人呻吟| 亚洲国产欧美日韩精品| 国产午夜精品视频免费不卡69堂| 日韩电影中文字幕在线观看| 亚洲成成品网站| 亚洲视频在线看| 欧美日韩国产精品一区二区三区四区| 精品久久久久久久久久久| 日产精品久久久一区二区福利| 性欧美xxxx视频在线观看| 国产精品第3页| 欧美成人一区二区三区电影| 亚洲精品日韩丝袜精品| 精品国产31久久久久久| 91在线网站视频| 亚洲欧美日韩中文在线| 久久婷婷国产麻豆91天堂| 亚洲福利影片在线| 亚洲精品自拍视频| 日韩在线免费av| 国产精品电影久久久久电影网|