Ubuntu 8.10 中安装与卸载apt-proxy服务器
在网络中选择一台主机作为apt-proxy服务器,并确保足够的存储空间以及Internet连接畅通。apt-proxy服务器的安装与卸载非常简单。
1.安装apt-proxy
依然使用“apt-get install”获取并安装apt-proxy代理服务软件包。以下命令的运行结果获取了apt-proxy的安装过程。在安装最后,Ubuntu Liunx系统随即启动apt-proxy服务。
sudo apt-get install apt-proxy
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
将会安装下列额外的软件包:
Python-twisted-bin python-twisted-core python-twisted-web python-zopeinterface
建议安装的软件包:
python-twisted-bin-dbg python-tk python-qt3 python-wxgtk2.6 python-profiler python-
zopeinterface-dbg
推荐安装的软件包:
python-pyopenssl python-pam python-serial
下列【新】软件包将被安装:
apt-proxy python-twisted-bin python-twisted-core python-twisted-web python-zopeinterface
共升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 26 个软件未被升级。
需要下载 1302kB 的软件包。
解压缩后会消耗掉 7049kB 的额外空间。
您希望继续执行吗?[Y/n]Y
获取:1 feisty/main python-twisted-bin 2.5.0-0ubuntu3 [21.0kB]
获取:2 feisty/main python-zopeinterface 3.3.1-0ubuntu3 [134kB]
获取:3 feisty/main python-twisted-core 2.5.0-0ubuntu3 [753kB]
34% [3 python-twisted-core 292420/753kB 38%]
…
正在预设定软件包 ...
选中了曾被取消选择的软件包 apt-proxy。
(正在读取数据库 ... 系统当前总共安装有 114121 个文件和目录。)
正在解压缩 apt-proxy (从 .../apt-proxy_1.9.35ubuntu2_all.deb) ...
正在设置 apt-proxy (1.9.35ubuntu2) ...
* Starting apt-proxy
apt-proxy服务器默认开辟一个缓存区—— /var/cache/apt-proxy,将从Ubuntu镜像站点下载的软件包都保存在这个目录下;apt-proxy默认的APT服务监听端口号为 9999。用户可以使用下面的命令查看apt-proxy服务端口是否已处于监听状态。
netstat –l | grep -i 9999
tcp 0 0 *:9999 *:* LISTEN
2.卸载apt-proxy
使用“apt-get remove”卸载apt-proxy代理服务软件,用户可以选择完全卸载,也可以保留相关配置信息。以下命令实现apt-proxy的完全删除,并且在卸载后随即停止当前系统开放的代理服务。
sudo apt-get purge apt-proxy
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
下列软件包将被【卸载】:
apt-proxy*
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 26 个软件未被升级。
需要下载 0B 的软件包。
解压缩后将会空出 422kB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 ... 系统当前总共安装有 114163 个文件和目录。)
正在删除 apt-proxy ...
* Stopping apt-proxy [ OK ]
正在清除 apt-proxy 的配置文件 ...
配置apt-proxy服务器
配置要点说明
1
; 是注释的意思
2
backends = 后面是不能识别 回车 也就是说不能有\n
比如说
[ubuntu]
; Ubuntu archive
backends = http://archive.ubuntu.com/ubuntu
#都是空格网上的排版都是有问题的
3客户端
#/etc/apt/sources.list 的IP后面要加上 backend 段名(即 apt-proxy-v2.conf 中方括号内的所有项)
#比如说,我在 /etc-v2.confxy/apt-proxy-v2.conf 配置了[ubuntu]
[ubuntu]
; Ubuntu archive
backends = http://archive.ubuntu.com/ubuntu
#我就要在/etc/apt/sources.list上写
deb :9999/ubuntu #intrepid main restricted universe multiverse
#就是加粗的两个要相同
# intrepid main restricted universe multiverse
#后面这段的意思 是去到 的dists/intrepid 下去更新 main restricted universe multiverse
#-------------下面是我的配置-----------------------
[DEFAULT]
;; All times are in seconds, but you can add a suffix
;; for minutes(m), hours(h) or days(d)
;; Server IP to listen on
;address = 192.168.0.254
;; Server port to listen on
port = 9999
;; Control files (Packages/Sources/Contents) refresh rate
;;
;; Minimum age of a file before it is refreshed
min_refresh_delay = 1h
;; Minimum age of a file before attempting an update (NOT YET IMPLEMENTED)
;min_age = 23h
;; Uncomment to make apt-proxy continue downloading even if all
;; clients disconnect. This is probably not a good idea on a
;; dial up line.
;; complete_clientless_downloads = 1
;; Debugging settings.
;; for all debug information use this:
;; debug = all:9
debug = all:4 db:0
;; Debugging remote python console
;; Do not enable in an untrusted environment
;telnet_port = 9998
;telnet_user = apt-proxy
;telnet_password = secret
;; Network timeout when retrieving from backend servers
timeout = 15
;; Cache directory for apt-proxy
cache_dir = /var/cache/apt-proxy
;; Use passive FTP? (default=on)
;passive_ftp = on
;; Use HTTP proxy?
;http_proxy = [username:password@]host:port
;; Limit download rate from backend servers (http and rsync only), in bytes/sec
;bandwidth_limit = 100000
;;--------------------------------------------------------------
;; Cache housekeeping
;; Time to perform periodic housekeeping:
;; - delete files that have not been accessed in max_age
;; - scan cache directories and update internal tables
cleanup_freq = 1d
;; Maximum age of files before deletion from the cache (seconds)
max_age = 120d
;; Maximum number of versions of a .deb to keep per distribution
max_versions = 3
;; Add HTTP backends dynamicaly if not already defined? (default=on)
;dynamic_backends = on