На прошлых выходных вышла новая версия дистрибутива Debian 8 (Jessie), нового там много, поэтому впереди довольно много обновлений систем предстоит. В связи с этим решил заранее собрать версию ssh сервера, которая у меня используется в разных местах – она умеет работать с пользователями из LDAP. В этой статье я коснусь только самого процесса сборки, сам процесс настройки системы под подобную авторизацию я как-нибудь опишу позже. А сейчас о том как быстро и безболезненно пропатчить openssh-server на Debian 8 с патчем LPK.
Сам патч разработан давно в рамках LPK progect – http://code.google.com/p/openssh-lpk/ , есть несколько форков и продолжений этого патча под разные версии openssh. Я воспользовался одним из этих форков для предыдущего патча на Debian 7, когда пришло время я взял его же. Скачать его можно по ссылке https://github.com/takkeybook/openssh-lpk. Небольшую сложность, которая заключается в том что он для openssh-6.6p1 не так сложно обойти. Итак, предполагается что у вас уже есть среда с Debian 8 где вы будете проводить сбору. Выкачиваем исходники:
cd /usr/src ; apt-get source openssh-server
Скачиваем патч:
git clone https://github.com/takkeybook/openssh-lpk.git
Переименуем его для удобства и положим к остальным патчам для пакета:
cp openssh-lpk-6.6p1-0.3.14.patch /usr/src/openssh-6.7p1/debian/patches/openssh-lpk-6.7p1-0.3.14.patch
Добавляем в /usr/src/openssh-6.7p1/debian/patches/series этот патч
В самом патче меняем все упоминания 6.6p1 на 6.7p1. После этого пушим изменения о новых патчах
cd /usr/src/openssh-6.7p1/ ; quilt push ; quilt refresh
Доставляем необходимые пакеты для сборки если они не были установлены до этого:
apt-get build-dep openssh-server
Прописываем изменения в changelog чтобы у вас получился новый пакет с изменениями. Для этого воспользуемся утилиткой dch.
dch -i
Пишем, что-нибудь про изменения которые были внесены чтобы не забыть, например
Add LPK patch for working with LDAP
Теперь можно собирать пакет:
dpkg-buildpackage -us -uc
После это можно понаблюдать за сборкой пакета и выпить чашечку кофе, а в результате получаем весь набор пакетов который прекрасно работает с LDAP и который можно смело применять, например положить в свой локальный репозиторий для измененных пакетов и обновлять оттуда где это требуется. Но об организации своего репозитория и добавления туда новых пакетов я раскажу в другой раз.
Очень полезная тема, долго искал как быстро и правильно это сделать. Спасибо за хорошую статью.