- AptProxy
- Installation
- Configuring apt-proxy Server
- Default settings
- Backends
- Initializing apt-proxy
- Importing apt Cache
- Updating clients to use your proxy server
- Troubleshooting
- Problems with acquiring packages
- Connection Refused
- Links
- Использование прокси
- Глобальные настройки
- Firefox
- Chromium-browser
- APT
- Bash
- wget
- apt-add-repository
AptProxy
apt-proxy is a program that caches the packages you download from the Internet, to your hard disk. Because apt-proxy behaves as if it were a HTTP server with a full copy of the repositories you select, you can access the packages from other computers on your network. If a package is not in the cache, apt-proxy automatically downloads and caches it. This can significantly decrease download bandwidth and installation time when you have to install the same packages repeatedly (i.e. an upgrade of multiple machines).
Installation
apt-proxy is available from the Universe archive. To install it, run this command from a terminal:
sudo apt-get install apt-proxy
Configuring apt-proxy Server
Default settings
You should change the default port to 9998 instead of 9999 while bug 154494 isn`t fixed in order to apt-proxy to work.
The first section of the apt-proxy configuration file, located at /etc/apt-proxy/apt-proxy-v2.conf, contains the default settings for the apt-proxy and its cache.
The first step is to check the address parameter to the IP of your apt-proxy server in the internal network. If it is commented out, apt-proxy will listen on all the IP addresses of your server. The port parameter specifies the port apt-proxy listens on for requests and defaults to 9999, which is generally a good value to use.
If you wish to change the directory that apt-proxy stores its cached packages, change the cache_dir parameter. The cache directory defaults to /var/cache/apt-proxy.
If you are using a web proxy server (such as Squid), you can configure apt-proxy to be aware of it with http_proxy = proxy_server:port. If you are behind a firewall you may experience problems with active FTP connections when trying to connect to a FTP backend. passive_ftp = on should solve this problem.
The other values control the time a package remains in the cache, how old a package must be at least before apt-proxy checks for newer versions or how often the cache is checked for old packages. They can safely be left on their default values.
Backends
apt-proxy has to know where to find remote repositories, which it refers to as backends. This is done via backend sections in /etc/apt-proxy/apt-proxy-v2.conf. A backend entry for Ubuntu may look like this:
[ubuntu] ;; Ubuntu archive backends = http://archive.ubuntu.com/ubuntu http://de.archive.ubuntu.com/ubuntu
As you can see, it is possible to specify more than one server, separated by blank space. If the first server is down, apt-proxy tries to get the data from the second server and so on. Note: If the first server is up, but does not have a required file, apt-proxy will not fall back to a second server. You can also override values set in the [default-section. For instance, if you know that a special server takes very long to answer a request, you can increase the timeout value:
[ubuntu-slow] timeout = 60 ;wait 1 Minute backends = prot://some.very.slow.server.net/ubuntu-slow
A complete example apt-proxy-v2.conf may look like this:
[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
Note that you don’t specify versions of distributions in this file; by enabling Ubuntu, you gain the ability to proxy for all versions (Hoary, Breezy, Dapper etc). What is downloaded depends on what is configured in the sources.list file on each client.
Initializing apt-proxy
After changing the apt-proxy configuration file, restart apt-proxy and update the list by running the following:
$ sudo /etc/init.d/apt-proxy restart
Your apt-proxy is ready for use.
Importing apt Cache
Note: In the current version of apt-proxy in the repositories (1.9.33ubuntu1), this might not work correctly. This is a known bug. Regardless, attempting this should not negatively impact your system.
Packages already downloaded with apt-get, are cached in /var/cache/apt/archives. These packages can be imported into the apt-proxy cache with apt-proxy-import from the current package list. aptitude update should be run prior to apt-proxy-import to get a fresh list as follows:
$ sudo aptitude update $ sudo apt-proxy-import -r /var/cache/apt/archives
Updating clients to use your proxy server
apt clients need the /etc/apt/sources.list file to be reconfigured to point to the new apt-proxy server instead of the outside world. Configuration of the sources.list file looks similar to the config for normal apt repositories with the exception that the backend section has to be appended to the path:
deb http://apt-proxy:port/backend dist component
Replace mentions of specific repository URL with references to your server and the backend for it; such as:
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
A sources.list corresponding to the apt-proxy-v2.conf above may look like this:
# 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
Troubleshooting
Problems with acquiring packages
In Dapper Drake, other Ubuntu computers connecting to the proxy may have problems receiving the file headers of the repository list. If this happens to you, on the computers connecting to the proxy, edit /etc/apt/apt.conf, with:
or your choice of text editor. It will likely be
and save, exit, and try updating the repositories file list again with
or any other method that updates the repositories (such as Check in Update Manager or Reload in Synaptic). It should load correctly now.
Connection Refused
On some setups, the proxy is not available to external machines. The proxy works very well on localhost, but fails to cooperate with external machines.
Links
AptProxy (последним исправлял пользователь D9784B24 2011-04-08 14:52:04)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Использование прокси
В этой статье содержится описание настроек прокси-соединений для различных программ.
Глобальные настройки
Для того, чтобы настроить прокси в Ubuntu откройте Системные параметры, перейдите в пункт Сеть. Выберите пункт Сетевая прокси-служба. Смените метод на Вручную и введите ваши настройки прокси. Минус такой настройки в том, что в случае, если у Вас прокси с авторизацией по логину и паролю, то указать эти данные невозможно, и прокси не будет работать.
Настроить прокси на системном уровне можно и через конфигурационные файлы (True UNIX-way). Для этого нужно открыть на редактирования с правами root файл /etc/environment (например sudo nano /etc/environment). В конец файла добавим строки:
https_proxy="https://user:pass@proxy:port/" http_proxy="http://user:pass@proxy:port/" ftp_proxy="ftp://user:pass@proxy:port/" socks_proxy="socks://user:pass@proxy:port/"
Если прокси без авторизации, то строки должны быть вида:
Для применения настроек придется пере-загрузиться, изменения в файле /etc/environment вступили в силу при запуске процесса init — родителя всех процессов в системе и именно от него все дочерние процессы унаследуют настройки прокси в переменных окружения.
Как правила глобальной насторойки прокси достаточно для того что бы все остальные приложения работали через прокси без необходимости настраивать прокси внутри приложения. Однако некоторые приложения не умеют работать с глобальными настройками или им нужны особенные настройки.
Firefox
Firefox умеет использовать как глобальные настройки, так и свои собственные. Для того чтобы назначить ему прокси, откройте его окно настроек, перейдите на вкладку Дополнительно, далее на вкладку Сеть и нажмите на кнопку Настроить напротив надписи Настройка параметров соединения Firefox с Интернетом. Важное отличие от других программ — он умеет использовать NTLM аутентификацию (используется на Microsoft Internet Security and Acceleration Server).
Chromium-browser
Также может использовать глобальные настройки и имеет свои. Для того чтобы назначить ему прокси персонально, откройте файл /etc/chromium-browser/default и допишите следующие строки:
CHROMIUM_FLAGS="-proxy-server=адрес:порт"
APT
В новых версиях умеет работать с глобальными настройками, но в более старых мог работать только с персональными настройками. Сообщенные настройки: в файле /etc/apt/apt.conf нужно указать:
Acquire::http::proxy "http://логин:пароль@ip_прокси:порт_прокси/"; Acquire::https::proxy "http://логин:пароль@ip_прокси:порт_прокси/"; Acquire::ftp::proxy "http://логин:пароль@ip_прокси:порт_прокси/"; Acquire::socks::proxy "http://логин:пароль@ip_прокси:порт_прокси/"; Acquire. Proxy "true";
Если сервер без авторизации, то логин:пароль@ нужно убрать.
Bash
Само собой настройка через /etc/environment (описано выше в разделе глобальных настроек) будет работать для всех программ запущенных из терминала. Если вы хотите указать настройки персонально для запускаемой программы, то перед ее запуском нужно выполнить:
export http_proxy='http://логин:пароль@ip_прокси:порт_прокси/' export ftp_proxy='http://логин:пароль@ip_прокси:порт_прокси/'
wget
Дописываем в файл /etc/wgetrc :
proxy-user = username proxy-password = password http_proxy = http://xxx.xxx.xxx.xxx:8080/ ftp_proxy = http://xxx.xxx.xxx.xxx:8080/ use_proxy = on
Если прокси без авторизации, то proxy-user и proxy-password нужно убрать
apt-add-repository
Многие компании и университеты блокируют все неизвестные порты наружу. Обычно блокируется и порт 11371, используемый утилитой apt-add-repository для добавления репозиториев. Есть простое решение, как получать ключи репозиториев через 80-ый порт, который используется для доступа к web-страницам и чаще всего не блокируется.
Редактируем файл /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py (нужны привилегии root, вместо /usr/lib/python2.6 может быть версия 2.7). Ищем фразу keyserver.ubuntu.com , заменяем
В версии 16.04 достаточно иметь настроенной переменную окружения
https_proxy="https://user:pass@proxy:port/"
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.