特殊:Badtitle/NS100:AptProxy/zh
文章出处: |
{{#if: | {{{2}}} | http://wiki.ubuntu.org.cn/UbuntuHelp:AptProxy }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/af | • {{#if: UbuntuHelp:AptProxy|Afrikaans| [[::AptProxy/zh/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ar | • {{#if: UbuntuHelp:AptProxy|العربية| [[::AptProxy/zh/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/az | • {{#if: UbuntuHelp:AptProxy|azərbaycanca| [[::AptProxy/zh/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/bcc | • {{#if: UbuntuHelp:AptProxy|جهلسری بلوچی| [[::AptProxy/zh/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/bg | • {{#if: UbuntuHelp:AptProxy|български| [[::AptProxy/zh/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/br | • {{#if: UbuntuHelp:AptProxy|brezhoneg| [[::AptProxy/zh/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ca | • {{#if: UbuntuHelp:AptProxy|català| [[::AptProxy/zh/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/cs | • {{#if: UbuntuHelp:AptProxy|čeština| [[::AptProxy/zh/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/de | • {{#if: UbuntuHelp:AptProxy|Deutsch| [[::AptProxy/zh/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/el | • {{#if: UbuntuHelp:AptProxy|Ελληνικά| [[::AptProxy/zh/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/es | • {{#if: UbuntuHelp:AptProxy|español| [[::AptProxy/zh/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/fa | • {{#if: UbuntuHelp:AptProxy|فارسی| [[::AptProxy/zh/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/fi | • {{#if: UbuntuHelp:AptProxy|suomi| [[::AptProxy/zh/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/fr | • {{#if: UbuntuHelp:AptProxy|français| [[::AptProxy/zh/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/gu | • {{#if: UbuntuHelp:AptProxy|ગુજરાતી| [[::AptProxy/zh/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/he | • {{#if: UbuntuHelp:AptProxy|עברית| [[::AptProxy/zh/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/hu | • {{#if: UbuntuHelp:AptProxy|magyar| [[::AptProxy/zh/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/id | • {{#if: UbuntuHelp:AptProxy|Bahasa Indonesia| [[::AptProxy/zh/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/it | • {{#if: UbuntuHelp:AptProxy|italiano| [[::AptProxy/zh/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ja | • {{#if: UbuntuHelp:AptProxy|日本語| [[::AptProxy/zh/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ko | • {{#if: UbuntuHelp:AptProxy|한국어| [[::AptProxy/zh/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ksh | • {{#if: UbuntuHelp:AptProxy|Ripoarisch| [[::AptProxy/zh/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/mr | • {{#if: UbuntuHelp:AptProxy|मराठी| [[::AptProxy/zh/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ms | • {{#if: UbuntuHelp:AptProxy|Bahasa Melayu| [[::AptProxy/zh/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/nl | • {{#if: UbuntuHelp:AptProxy|Nederlands| [[::AptProxy/zh/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/no | • {{#if: UbuntuHelp:AptProxy|norsk| [[::AptProxy/zh/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/oc | • {{#if: UbuntuHelp:AptProxy|occitan| [[::AptProxy/zh/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/pl | • {{#if: UbuntuHelp:AptProxy|polski| [[::AptProxy/zh/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/pt | • {{#if: UbuntuHelp:AptProxy|português| [[::AptProxy/zh/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ro | • {{#if: UbuntuHelp:AptProxy|română| [[::AptProxy/zh/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/ru | • {{#if: UbuntuHelp:AptProxy|русский| [[::AptProxy/zh/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/si | • {{#if: UbuntuHelp:AptProxy|සිංහල| [[::AptProxy/zh/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/sq | • {{#if: UbuntuHelp:AptProxy|shqip| [[::AptProxy/zh/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/sr | • {{#if: UbuntuHelp:AptProxy|српски / srpski| [[::AptProxy/zh/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/sv | • {{#if: UbuntuHelp:AptProxy|svenska| [[::AptProxy/zh/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/th | • {{#if: UbuntuHelp:AptProxy|ไทย| [[::AptProxy/zh/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/tr | • {{#if: UbuntuHelp:AptProxy|Türkçe| [[::AptProxy/zh/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/vi | • {{#if: UbuntuHelp:AptProxy|Tiếng Việt| [[::AptProxy/zh/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/yue | • {{#if: UbuntuHelp:AptProxy|粵語| [[::AptProxy/zh/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/zh | • {{#if: UbuntuHelp:AptProxy|中文| [[::AptProxy/zh/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/zh-hans | • {{#if: UbuntuHelp:AptProxy|中文(简体)| [[::AptProxy/zh/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:AptProxy | UbuntuHelp:AptProxy | {{#if: | :}}AptProxy/zh}}/zh-hant | • {{#if: UbuntuHelp:AptProxy|中文(繁體)| [[::AptProxy/zh/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:AptProxy|:AptProxy/zh|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :AptProxy/zh/zh | | {{#ifexist: AptProxy/zh/zh | | {{#ifeq: {{#titleparts:AptProxy/zh|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:AptProxy/zh|1|-1|}} | zh | | }}
简述
apt-proxy程序将你从网络上下载下来的软件包缓存到本地磁盘。apt-proxy的行为就像一台包含那些你所选择软件包全部拷贝的HTTP服务器。你可以从本地网络上的其他计算机上存取这些软件包。如果软件包还没有被缓存,apt-poxy会自动下载并缓存上。这对那些需要重复安装同样软件包的人来说(如,为多台机子升级),非常有效的节约了下载带宽和安装的时间。
安装
apt-proxy 已经包含在通用档案文件中。要安装,在终端中运行命令:
sudo apt-get install apt-proxy
配置apt-proxy服务器
默认设置
在apt-proxy配置文件 /etc/apt-proxy/apt-proxy-v2.conf 的第一节中,包含了apt-proxy及其缓存的默认设置。第一步就是设置 address 参数,将其设置为内网中作为apt-proxy服务器的IP。 如果该项被注释掉,apt-proxy会监听服务器的所有的IP地址。port 参数指定了apt-proxy要监听的请求端口,其默认设置为9999,通常情况下用这个值就很合适了。 如果你想改变apt-proxy缓存软件包的目录,更改 cache_dir 参数即可。缓存目录默认设为 /var/cache/apt-proxy。如果你使用了网页代理服务器(如,Squid),你可以配置apt-proxy使用代理,设置方法为 http_proxy = proxy_server:port 。如果你在防火墙之後,那么你用主动FTP连接去连接到一个FTP後端时可能会出问题。而 passive_ftp = on 应该能解决这个问题。另外的一个值控制软件包在缓存中保存多长时间。也就是说,在apt-proxy检查更新版本前软件包应至少存在了多长时间,或者说缓存中的软件包每隔多长时间查找一次更新版本。在到达这个默认值时,它们就被安全地抛弃了。
後端
apt-proxy知道从哪个远程软件仓库中查找软件包,这是由于其引入了一个後端设置。通过 /etc/apt-proxy/apt-proxy-v2.conf 中的 backend 节来完成後端设置。一个後端 Ubuntu条目看起来类似于这样:
[ubuntu] ;; Ubuntu archive backends = http://archive.ubuntu.com/ubuntu http://de.archive.ubuntu.com/ubuntu
正如你看到的那样,可以指定多个服务器,使用空白来分隔开。如果第一个服务器挂了,apt-proxy会试着从第二个服务器获取数据,如此类推。注意: 如果第一个服务器正常工作,但是没有需要的文件,apt-proxy并不会向後使用第二个服务器。你可以在[default]节复盖该设置志。如下实例,如果你知道某个服务器对请求的应答时间很长,那么你可以增加 timeout 的值:
[ubuntu-slow] timeout = 60 ;wait 1 Minute backends = prot://some.very.slow.server.net/ubuntu-slow
一个完整的 apt-proxy-v2.conf示例如下:
[DEFAULT] ;; All times are in seconds, but you can add a suffix ;; for minutes(m), hours(h) or days(d) address = 127.0.0.1 port = 9999 cache_dir = /var/cache/apt-proxy ;; Control files (Packages/Sources/Contents) refresh rate min_refresh_delay = 1s complete_clientless_downloads = 1 ;; Debugging settings. debug = all:4 db:0 timeout = 30 passive_ftp = on ;;-------------------------------------------------------------- ;; Cache housekeeping cleanup_freq = 1d max_age = 120d max_versions = 3 ;;--------------------------------------------------------------- ;; Backend servers ;; ;; Place each server in its own [section] [ubuntu] ; Ubuntu archive backends = http://archive.ubuntu.com/ubuntu http://de.archive.ubuntu.com/ubuntu [ubuntu-security] ; Ubuntu security updates backends = http://security.ubuntu.com/ubuntu [marillat] backends = http://mirrors.ecology.uni-kiel.de/debian/debian-multimedia [debian] ; Backend servers, in order of preference backends = http://ftp.us.debian.org/debian http://ftp.de.debian.org/debian http://ftp2.de.debian.org/debian ftp://ftp.uk.debian.org/debian [debian-non-US] ; Debian debian-non-US archive backends = http://ftp.uk.debian.org/debian-non-US http://ftp.de.debian.org/debian-non-US ftp://ftp.uk.debian.org/debian [security] ; Debian security archive backends = http://security.debian.org/debian-security http://ftp2.de.debian.org/debian-security [openoffice] ; OpenOffice.org packages backends = http://ftp.freenet.de/pub/debian-openoffice http://ftp.sh.cvut.cz/MIRRORS/OpenOffice.deb http://borft.student.utwente.nl/debian [apt-proxy] ; Apt-proxy new versions backends = http://apt-proxy.sourceforge.net/apt-proxy
备注 你不要指定这些文件的发布版本;Ubuntu,自己能够获取所有的版本信息(Hoary, Breezy, Dapper 等等)。哪些文件会被下载取决于每个客户端 sources.list 的配置。
初始化apt-proxy
更改完apt-proxy配置文件后,要重启apt-proxy来更新列表,可以运行如下命令:
$ sudo /etc/init.d/apt-proxy restart
你的apt-proxy现在就可以用了。
导入apt缓存
注意:在软件仓库中当前版本(1.933ubuntu1)的apt-proxy,本操作可能不能正确工作。这是一个已知bug。如果无意中尝试进行了本操作,那么也不会对系统产生副作用。已经用apt-get下载下来的软件包,已经被缓存在 /var/cache/apt/archives中。这些包可以用 apt-proxy-import 从当前包列表中导入到apt-proxy缓存中。应该在 apt-proxy-import 前先运行 aptitude update 来取得更新列表,如下:
$ sudo aptitude update $ sudo apt-proxy-import -r /var/cache/apt/archives
使用apt代理服务器更新客户端
apt客户端需要将 /etc/apt/sources.list 文件重新配置成指向apt-proxy服务器来代替原来的外部地址。配置 sources.list 文件与配置通常的apt仓库很相似,只要将 backend 节添加到路径中:
deb http://apt-proxy:port/backend dist component
将其中软件仓库的URL替换为你的服务器的引用及其后端,如下:
deb http://archive.ubuntu.com/ubuntu dapper main restricted deb http://security.ubuntu.com/ubuntu dapper-security main restricted universe
将变为
deb http://server:9999/ubuntu dapper main restricted deb http://server:9999/ubuntu-security dapper-security main restricted universe
与上面的 apt-proxy-v2.conf 相配合的 sources.list 如下:
# apt-proxy entries for standard modules deb http://localhost:9999/ubuntu dapper main restricted universe multiverse deb-src http://localhost:9999/ubuntu dapper main restricted universe multiverse # apt-proxy entries for security patches deb http://localhost:9999/ubuntu-security dapper-security main restricted universe multiverse deb-src http://localhost:9999/ubuntu-security dapper-security main restricted universe multiverse
故障解决
获取包的问题
使用Dapper Drake,以及其他Ubuntu的计算机在连接代理时接收软件仓库列表文件头时可能会发生问题。如果你的计算机在连接代理时碰上了这个问题,请编辑 /etc/apt/apt.conf,运行:
sudo nano /etc/apt/apt.conf
你也可以选择别的文本编辑器。找到
Acquire::http::Proxy "false";
更改为
Acquire::Proxy "false";
然后保存,退出。再次更新软件仓库文件列表,运行
sudo apt-get update
或者使用其他的方法更新软件仓库(如,在更新管理器中检查或在新立得软件包管理中更新)。现在应该可以正确载入了。
连接被拒绝
由于某些设置,代理不能用于外界的机器。代理可以很好在本地主机工作,但是用于外部的机器就会失败。