14 ноября 2011 г.

Установка RPM пакетов в Linux Ubuntu.

Я давно заметил, что огромная часть пакетов программ новых версий, а особенно библиотек находятся либо в "исходниках", либо в .rpm пакете. А Linux Ubuntu, как Debian и им подобные дистрибутивы Linux используют для установки .deb пакеты. RPM же используется в таких дистрибутивах как Alt Linux, Mandriva, Fedora, Red Hat, Cent OS и др.

Но что делать, если необходимо установить пакеты программы запакованный в .rpm?

Можно конечно же установить менеджер пакетов .rpm командой:

sudo apt-get install rpm

И воспользуемся стандартной командой для установки/обновления пакетов формата .rpm (за пример возьмем музыкальный плеер Muine):

rpm -Uvh muine-0.6.3-1.1.fc2.rf.i386.rpm

В результате чего пакет не будет установлен и мы получим отчет о том, что необходимо установить программу Alien и воспользоваться ею:

rpm -Uvh muine-0.6.3-1.1.fc2.rf.i386.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
...
После чего идет ряд ошибок зависимостей пакетов...

А все это потому что, этот разный ряд дистрибутивов использует разные зависимости для пакетов программ. Поэтому нам необходимо установить пакет Alien командой:

sudo apt-get install alien

Alien является конвертером пакетов .rpm в .deb пакеты и обратно. И после установки Alien возможно будет их конвертировать.

Для конвертирования .rpm пакета в .deb пакет используем команду:

sudo alien --to-deb muine-0.6.3-1.1.fc2.rf.i386.rpm

либо можно воспользоваться другой командой:

alien -i muine-0.6.3-1.1.fc2.rf.i386.rpm

т.к. по умолчанию уже стоит --to-deb.

Для конвертирования .deb пакета в .rpm пакет воспользуемся командой:

sudo alien --to-rpm muine-0.6.3-1.1.fc2.rf.i386.deb

После чего можем спокойно устанавливать сконвертированный пакет .deb командой:

sudo dpkg -i muine_0.6.3-2.1_i386.deb

И теперь путем небольших манипуляций можем воспользоваться свежей версией плеера muine.

Хочу обратить внимание новичков в операционных системах Linux и в частности Linux Ubuntu на то, что все пакеты из данного мануала находятся в домашней папке пользователя, то есть /home/user (где user - имя пользователя).

Надеюсь, данный краткий мануал поможет не только решить проблему, но и понять от чего так.

9 комментариев:

  1. deb не устанавливается от sudo, просит права root. Как это исправить?

    ОтветитьУдалить
  2. Спасибо, коротко и ясно!=)

    ОтветитьУдалить
  3. ost@ARM-05:~$ sudo apt-get install rpm
    [sudo] пароль для ost:
    Чтение списков пакетов… Готово
    Построение дерева зависимостей
    Чтение информации о состоянии… Готово
    Пакет rpm недоступен, но упомянут в списке зависимостей другого пакета.
    Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

    E: Для пакета «rpm» не найден кандидат на установку
    ost@ARM-05:~$

    ОтветитьУдалить