Uniвсячина

понемножку о Linux и программировании

Сам себе бэкпортер

Частенько на серверах с установленным Debian Sarge нужно поставить какую нибудь софтину версией посвежее чем в stable репозитарии. Ставить бинарные пакеты из testing или unstable на продакшн – не наш метод. Хорошо, если есть сторонние репозитарии с готовыми пакетами. А если нет, то приходиться засучить рукава и на время превратиться в бэкпортера. Сейчас я покажу как можно легко и непринужденно поставить на сервер, скажем Ruby 1.8.5. Поехали!

Сначала поставим некоторые скрипты для компиляции пакетов из исходников:

apt-get install devscripts

Потом пропишем в /etc/apt/sources.list репозитарий unstable исходников (и только исходников):

deb-src http://ftp.debian.org/debian/ unstable main

Обновляем список пакетов:

apt-get update

Качаем самые свежие исходники Ruby:

apt-get source ruby

Ставим все что необходимо для сборки пакета:

apt-get build-dep ruby

Заходим в папку с исходниками и компилируем:

debuild -us -uc
cd ..

Дальше я делал таким образом: ставил виртуальные метапакеты ruby, irb, rdoc, ri

apt-get install ruby irb rdoc ri

А потом апгрейдил скомпилированными пакетами:

dpkg -i *.deb
ruby -v
> ruby 1.8.5 (2006-08-25) [i386-linux]

Готово!

По подобной схеме можно сделать бэкпорт практически для любой новой версии пакета.

Comments