Собрать и установить программу из исходников, разумеется, можно и в Ubuntu, как и в любом дистрибутиве. Сделать это хотя бы однажды — полезно для общего развития. Но на волне расцвета стандартизации и повышенного внимания к удобству пользования системой, обычным решением является установка программного обеспечения из специально собранных инсталляционных бинарных пакетов. Ubuntu как наследник Debian позаимствовала у родителя и системы управления пакетами (apt — advanced packaging tool) и формат пакетов (.deb).
Наиболее, насколько мне известно, популярный формат инсталляционных пакетов на сегодня — RPM (Red Hat Package Manager). Кроме создателя используют его сегодня почти все популярные дистрибутивы: Fedora Core, SUSE, Mandriva и отечественные ASP и ALT LInux. В следствии такой популярности логично предположить, что большинство пакетов разработчиков уж как минимум о создании rpm-пакета своего приложения заботят. И то верно: сам встречался с ситуацией, когда rpm есть, а deb-пакет — отсутствует.
К счастью, есть средства для конвертирования пакетов из одного формата в другой (и даже обратно). Встречайте пакет для борьбы с «чужими» пакетами: alien
.
Устанавливаем:
sudo aptitude install alien
Ну, и всё: дальше можно пользоваться. Запуск команды с единственным параметром в виде имени rpm-пакета создаст в текущей директории его deb-клон. Примерно так:
alien package-1.4-1.rpm
После этого проверьте, что появилось в директории (командой ls
например). Появиться там должен пакет package-1.4-2.deb
. Что за дела, почему пакет изменил версию? Не беспокойтесь, это проделки alien
— номер версии увеличивается утилитой дабы отразить новосозданность пакета.
Установить пакет можно будет сразу же командой:
dpkg -i package-1.4-2.deb
Не сложно отучить alien
увеличивать версию, для этого имеется ключ -k
(--keep-version
). Команда alien -k package-1.4-1.rpm
создаст, как и полагается, пакет package-1.4-1.deb
.
Чтобы пакет был не только создан, но и сразу установлен в систему, есть также удобный ключик -i
(--install
), сразу запускающий установку (при этом вам не обязательно заботится об итерации версии):
alien -i package-1.4-1.rpm
Если вдруг понадобиться из deb-пакета сделать rpm, то и тут поможет alien
с ключом -r
:
alien -r package-1.4-1.deb
Как вы понимаете, alien
удобная вещь, но не панацея. Пакеты имеющие множество параметров,привязанных к конкретному дистрибутиву (например, пути инсталляции и пр.) рискуют, будучи сконвертироанными, корректно не установиться или не заработать в вашей Ubuntu (да чего там в Ubuntu, даже rpm-пакет созданный для одного дистрибутива не всегда работает на другом — хотя это ситуация нечастая), так что когда имеется родной deb-пакет из репозитория — лучше использовать его. В остальных случая: дерзайте.
»