Установка пакетов deb в Red Hat подобных системах


Форматы пакетов RPM и deb друг с другом несовместимы — и в одной системе эти два пакетных менеджера не уживаются. Как правило, необходимость устанавливать пакеты неродной системы встречается редко. Но если она возникла, можно использовать средство для конвертации пакетов alien. Конечно, это не панацея — с его помощью можно конвертировать отнюдь не все пакеты, да и использовать его нужно с осторожностью. Скачаем его исходники, распакуем и установим:

# wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.88.tar.gz
# tar xzvf alien_8.88.tar.gz && cd alien
# make && make install

Опишу некоторые опции командной строки, относящиеся к конвертации в RPM.

  • -r — собственно конвертация в RPM;
  • -i — устанавливает получившийся в результате конвертации пакет и удаляет файл пакета из системы;
  • -g — создает необходимый каталог с файлами, но не создает сам пакет;
  • -c — конвертирует скрипты. Использовать эту опцию нужно с осторожностью, поскольку скрипты для Ubuntu не подойдут к RHEL.

В качестве примера сконвертируем пакет zsh и установим его:

# wget http://goo.gl/Fykuzu
# alien -r ./zsh_4.3.17-1_i386.deb
# rpm -ivh --nodeps ./zsh-4.3.17-2.i386.rpm

Мы устанавливаем данный пакет принудительно — alien в данном случае довольно странно сконвертировал зависимости. Если говорить конкретнее, то для установки пакета зачем-то понадобился файл /bin/zsh, в то время как его же мы и устанавливаем. Также стоит обратить внимание, что имена файлов пакета тоже преобразуются и последняя цифра версии преобразованного пакета инкрементируется на единичку.

В моем случае пакет установился нормально и zsh запустился без проблем. Но нелишним будет еще раз предупредить, что этот метод нужно использовать с осторожностью.

Компиляция и установка alien

 

Конвертация пакета deb в RPM