В одной из наших предыдущих статей уже рассматривались основы использования форматов от alien
до конвертировать из .deb в rpm . Хотя Alien — отличный инструмент, который предлагает пользователям дистрибутива RPM доступ к гораздо более обширным пакетам DEB, его использование не ограничивается преобразованием deb в RPM.
Сам инструмент способен на гораздо большее. Помимо более продвинутых функций на базовом уровне, Alien может конвертировать любой из следующих форматов упаковки:
- DEB – широко известный формат пакетов Debian, который используют все производные Debian, а значит и всё семейство Ubuntu. Возможно, наиболее широко используемая система пакетов в Linux.
- RPM — собственный подход DedHat к упаковке, используемый RHL, Fedora, CentOS, Mageia, OpenSUSE и многими другими.
- SLP — формат упаковки Stampede Linux. Это интересное дополнение, поскольку Стампид Linux был активен только в период с 1997 по 2002 год, так и не получив широкой популярности и не став «базовым дистрибутивом», как другие, несмотря на то, что на самом деле он был перспективный подход к развитию назад. в 1997 году
- LSB – попытайтесь создать RPM-пакет, полностью совместимый с младший бит , хотя, как указано на странице руководства Alien, «никаких гарантий не дается, что сгенерированные пакеты lsb будут полностью совместимы с LSB, и это скорее вряд ли они это сделают, если вы не создадите их в среде lsbdev».
- TGZ – архивы tar или tar.gz. Конвертация из этих архивов будет работать только в том случае, если они содержат двоичные файлы. (Другими словами, он не будет работать с архивами исходного кода.)
От 32-битной до 64-битной версии
При работе в 64-битной системе вы можете столкнуться с 32-битными пакетами RPM, которые захотите преобразовать в DEB (или наоборот). В таких случаях Alien, скорее всего, выдаст ошибку.
Попытка преобразовать 32-битный файл RPM в 64-битной системе Debian приведет к ошибке «.rpm предназначен для архитектуры i386; пакет не может быть собран в этой системе».
Решение – небольшой обходной путь. В качестве посредника вы можете использовать способность Alien конвертировать в простые архивы TGZ.
Для этого используйте переключатель -t
(или --to-tgz
). Используйте
sudo alien -ct somepackage.rpm
или
sudo alien -c --to-tgz somepackage.rpm
затем конвертируйте из tgz в DEB. Для этого не требуется никакого дополнительного переключения, поскольку преобразование в DEB является стандартным.
sudo alien -c somepackage.tgz
Заключение
Alien имеет возможность плавного преобразования между различными форматами упаковки. Хотя преобразование 32-битных пакетов в 64-битных системах может показаться невозможным, при небольшом обходном пути это просто становится двухэтапным процессом. Немного более неудобный, но все же простой и простой трюк, который позволит вам конвертировать 32-битные пакеты RPM в DEB даже в 64-битных системах.