Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.45 Mб
Скачать

2. Получение и компиляция Squid

2.1 Какие файлы мне загрузить ?

Вам необходимо скачать файл архива исходных текстов с именем вида squid-x.y.z-src.tar.gz (к примеру, squid-1.1.6-src.tar.gz) с домашней страницы Squid или с FTP-сайта Squid. Доступны также изменения (diffs) для обновления до новой версии. Накладываются при помощи программы patch (доступна с сайта GNU FTP).

2.2 Как мне откомпилировать Squid?

Для версий Squid-1.0 и Squid-1.1 вы можете просто сделать make из корневой директории, куда распакованы файлы исходников. К примеру:

% tar xzf squid-1.1.21-src.tar.gz

% cd squid-1.1.21

% make

Для Squid-2 вам необходимо запустить скрипт configure прежде чем запускать make:

% tar xzf squid-2.0.RELEASE-src.tar.gz

% cd squid-2.0.RELEASE

% ./configure

% make

2.3 Какой компилятор мне необходим?

Чтобы откомпилировать Squid, вам будет необходим компилятор ANSI C. Большинство современных систем Unix поставляются с уже установленными компиляторами, которые работают отлично. Старые компиляторы SunOS не поддерживают ANSI C и компилятор Sun для Solaris - должен быть заказан отдельно.

Если у вас есть сомнения относительно C-компилятора вашей системы, можете воспользоваться компилятором GNU C, он доступен на сайте GNU FTP. В добавок к gcc, вам возможно понадобится установить пакет binutils.

2.4 Что еще мне необходимо для компиляции Squid?

Вам понадобится также установить Perl на вашу систему.

2.5 А есть откомпилированные бинарники?

Разработчики не имеют возможности собирать и выкладывать откомпилированные бинарники. Вместо этого мы вкладываем усилия в разработку максимально портабельного кода. Некоторые люди выкладывают бинарные пакеты для общего использования. См. нашу Страницу поддерживаемых платформ.

На сайте SGI Freeware есть откомпилированные пакеты для SGI IRIX.

Бинарники Squid для FreeBSD на Alpha и Intel.

Бинарники Squid для NetBSD на различных платформах

2.6 Как мне наложить патч ?

Вам необходима программа patch. Лучше сделать копию директории с исходными текстами перед тем, как накладывать патч. К примеру, если вы обновляете версию squid-1.1.10 до 1.1.11, вам необходимо выполнить такие команды:

cd squid-1.1.10

mkdir ../squid-1.1.11

find . -depth -print | cpio -pdv ../squid-1.1.11

cd ../squid-1.1.11

patch < /tmp/diff-1.1.10-1.1.11

После того, как патч наложен, вы должны пересобрать Squid с самого начала, т.е.:

make realclean

./configure

make

make install

Заметьте, что в более поздних дистрибутивах (Squid 2), 'realclean' было заменено на 'distclean'.

Если patch запрашивает у вас имя файла, попробуйте добавить ключ ``-p0'':

patch -p0 < filename

Если ваша программа patch отказывается работать, вы должны загрузить более свежую версию с сайта GNU FTP, к примеру.

2.7 Опции configure.

Конфигурационный скрипт имеет большое кол-во опций. Наиболее полезная - это --prefix, предназначенная для установки Squid в различные директории. По умолчанию пакет ставится в директорию /usr/local/squid/. Чтобы изменить значение по умолчанию, вам необходимо сделать:

% cd squid-x.y.z

% ./configure --prefix=/some/other/directory/squid

Наберите

% ./configure --help

чтобы просмотреть список доступных опций. Вам понадобится указать некторые из этих опций, чтобы включить/выключить использование определенных возможностей. Некоторые наиболее часто используемые опции:

--prefix=PREFIX устанавливать архитектурно-независимые файлы в PREFIX

[/usr/local/squid]

--enable-dlmalloc[=LIB] откомплировать и использовать пакет malloc от Doug Lea

--enable-gnuregex поддержка GNUregex

--enable-splaytree использовать SPLAY-дерево для хранения списков ACL

--enable-xmalloc-debug включить простейшую отладку для malloc

--enable-xmalloc-debug-trace

детальная трассировка использования памяти

--enable-xmalloc-statistics

показывать статистику malloc на странице статуса

--enable-carp включить поддержку CARP

--enable-async-io включить ASYNC операции I/O для диска, используя треды

--enable-icmp включить пингование ICMP

--enable-delay-pools включить delay pools для ограничения полосы пропускания

--enable-mem-gen-trace включить трассировку memory stuff

--enable-useragent-log включить журналирование заголовка User-Agent

--enable-kill-parent-hack

убрать парента при окончании работы

--enable-snmp включить мониторинг SNMP

--enable-time-hack брать значение времени только раз в секунду

--enable-cachemgr-hostname[=hostname]

использовать cachemgr.cgi по умолчанию для этого хоста

--enable-arp-acl включить использование списков ARP ACL (по MAC-адресам)

--enable-htpc включить поддержку протокола HTCP

--enable-forw-via-db включить поддержку базы Forw/Via

--enable-cache-digests использовать Cache Digests

см. http://squid.opennet.ru/FAQ/my/FAQ-16.html

--enable-err-language=lang

выбрать язык для страниц с сообщениями о ошибках (см. директорию errors)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]