Не хочу использовать сторонние репозитарии (а если они не работают и у меня нет копии необходимых файлов при использовании apt-cacher), лучше я разберу как собрать из исходников пакет squid (Version: 3.5.19, 3.5.20 у меня не собирается) предпоследней стабильной версии.
Ниже список команд которые приводят к решению поставленной задачи не отвлекаясь на разъяснение что и для и почему, уже столько раз все говорилось, что плодить одно и то же на своем ресурсе я не намерен. Характеристики будущего же сервера под SQUID каждый системный администратор выбирает из своего опыта и своих задач.
Ладно поехали все действия применимы на Ubuntu 14.04.5 Server amd64
ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists/
ekzorchik@srv-host:~$ sudo apt-get update && apt-get upgrade -y
ekzorchik@srv-host:~$ uname -a && lsb_release -a
Linux srv-host 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
ekzorchik@srv-host:~$ sudo apt-get -y install devscripts build-essential fakeroot debhelper dh-autoreconf cdbs
ekzorchik@srv-host:~$ sudo apt-get -y build-dep libecap
ekzorchik@srv-host:~$ sudo apt-get -y build-dep squid3
ekzorchik@srv-host:~$ sudo apt-get -y --purge remove libecap2-dev libecap2
ekzorchik@srv-host:~$ sudo apt-get -y install nettle-dev libgnutls28-dev libssl-dev libdbi-perl
ekzorchik@srv-host:~$ mkdir -p build/libecap
ekzorchik@srv-host:~$ pushd build/libecap/
~/build/libecap ~
ekzorchik@srv-host:~/build/libecap$ wget http://http.debian.net/debian/pool/main/libe/libecap/libecap_1.0.1-3.dsc
ekzorchik@srv-host:~/build/libecap$ wget http://http.debian.net/debian/pool/main/libe/libecap/libecap_1.0.1.orig.tar.gz
ekzorchik@srv-host:~/build/libecap$ wget http://http.debian.net/debian/pool/main/libe/libecap/libecap_1.0.1-3.debian.tar.xz
ekzorchik@srv-host:~/build/libecap$ sudo dpkg-source -x libecap_1.0.1-3.dsc
Убираем из строки номер 4 зависимость: g++ (>= 4:5.2) и остается:
ekzorchik@srv-host:~/build/libecap$ sudo nano +4 libecap-1.0.1/debian/control
Build-Depends: debhelper (>= 8.0.0), autotools-dev, cdbs, dh-autoreconf
ekzorchik@srv-host:~/build/libecap$ cd libecap-1.0.1/
ekzorchik@srv-host:~/build/libecap/libecap-1.0.1$ sudo dpkg-buildpackage -rfakeroot -b
ekzorchik@srv-host:~/build/libecap/libecap-1.0.1$ popd
~
ekzorchik@srv-host:~$ pushd build/libecap/
~/build/libecap ~
ekzorchik@srv-host:~/build/libecap$ sudo dpkg -i libecap3_1.0.1-3_amd64.deb
ekzorchik@srv-host:~/build/libecap$ sudo dpkg --install libecap3-dev_1.0.1-3_amd64.deb
ekzorchik@srv-host:~/build/libecap$ popd
~
ekzorchik@srv-host:~$ mkdir -p build/squid3
ekzorchik@srv-host:~$ pushd build/squid3/
~/build/squid3 ~
ekzorchik@srv-host:~/build/squid3$
ekzorchik@srv-host:~/build/squid3$ wget http://http.debian.net/debian/pool/main/s/squid3/squid3_3.5.19-1.dsc
ekzorchik@srv-host:~/build/squid3$ wget http://http.debian.net/debian/pool/main/s/squid3/squid3_3.5.19.orig.tar.gz
ekzorchik@srv-host:~/build/squid3$ wget http://http.debian.net/debian/pool/main/s/squid3/squid3_3.5.19-1.debian.tar.xz
ekzorchik@srv-host:~/build/squid3$ sudo dpkg-source -x squid3_3.5.19-1.dsc
Удаляем 48 строчку (–with-default-user=proxy), а взамен нее добавляю следующее:
ekzorchik@srv-host:~/build/squid3$ sudo nano +48 squid3-3.5.19/debian/rules
--with-default-user=proxy \
--with-openssl \
--enable-ssl \
--enable-ssl-crtd
По окончании редактирования не забываем сохранить внесенные изменения.
ekzorchik@srv-host:~/build/squid3/squid3-3.5.19$ sudo dpkg-buildpackage -rfakeroot -b
процесс долгий можно пойти поспать
ekzorchik@srv-host:~/build/squid3/squid3-3.5.19$ popd
~
ekzorchik@srv-host:~$ pushd build/squid3/
~/build/squid3 ~
ekzorchik@srv-host:~/build/squid3$ sudo apt-get install squid-langpack -y
ekzorchik@srv-host:~/build/squid3$ sudo dpkg -i squid-common_3.5.19-1_all.deb
ekzorchik@srv-host:~/build/squid3$ sudo dpkg -i squid_3.5.19-1_amd64.deb
ekzorchik@srv-host:~/build/squid3$ sudo dpkg -i squidclient_3.5.19-1_amd64.deb
ekzorchik@srv-host:~/build/squid3$ popd
~
А теперь проверяю, что в текущей системе действительно установлено касательно squid:
ekzorchik@srv-host:~$ apt list --installed | grep squid
WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.
squid/now 3.5.19-1 amd64 [installed,local]
squid-common/now 3.5.19-1 all [installed,local]
squid-langpack/trusty,now 20121005-1 all [installed]
squidclient/now 3.5.19-1 amd64 [installed,local]
Вот и отлично, но как по мне, если есть возможность использовать подключаемые репозитарии, то отказываться от этого глупо, а собирать как все же как в этой заметке я считаю слишком трудоемко и порой можно встать на двухсторонние грабли, тут ошибка, исправил, опять ошибка и т. д. А так по заметке все, прощаюсь, до новых встреч, с уважением автор блога — ekzorchik.