Един от нашите по-ранни статии вече обхваща основната употреба на alien за конвертиране от .deb в rpm формати. Докато Alien е чудесен инструмент, който предлага на потребителите на RPM дистрибуция достъп до много по-обширните DEB пакети, използването му не се ограничава само до преобразуване от типа "deb-to-rpm".

Самият инструмент е способен на много повече от това. Освен по-модерната си функционалност на основно ниво, чужденецът може да конвертира всеки от следните формати на опаковка:

  • DEB - добре известният пакет от пакети на Debian, който използват всички деривати на Debian, следователно цялото семейство на Ubuntu. Вероятно най-широко използваната опаковъчна система на Linux
  • RPM - собственият подход на DedHat към опаковките, използван от RHL, Fedora, CentOS, Mageia, OpenSUSE и много други
  • SLP - форматът за пакетиране на Stampede за Linux. Това е интересно допълнение, тъй като Stampede Linux е активен едва през 1997 и 2002 г., като никога не е придобивал популярност като основен дистрибутор или е станал "базов дистрибутор" като другите, въпреки наистина развиващия се подход на развитие през 1997 г.
  • LSB - Опит за създаване на съвместим с LSB RPM пакет, въпреки че, както се казва в страницата на извънземния човек, "Не се правят гаранции, че генерираните lsb пакети ще бъдат изцяло съвместими с LSB, и е малко вероятно те да се намират, ако не ги изградите в lsbdev заобикаляща среда."
  • TGZ - tar или tar.gz архиви. Конвертирането от тези архиви ще работи само ако съдържа бинарни файлове. (Това няма да работи върху архивите на изходния код, с други думи.)

От 32 до 64 бита

Когато работите върху 64-битова система, може да срещнете 32-битови RPM пакети, които искате да конвертирате в DEB (или обратно). В такива случаи чужденецът най-вероятно ще хвърли грешка.

Опитът да се преобразува 32-битовият RPM файл на 64-битова Debian система ще доведе до грешка ".rpm" за архитектурата i386; пакетът не може да бъде изграден на тази система. "

Решението е малко заобиколно решение. Можете да използвате способността на чужденеца да се превърне в просто TGZ архиви, като посредник.

За това бихте използвали превключвателя -t (или --to-tgz ). употреба

 sudo alien -to somepackage.rpm 

или

 sudo alien -c - към-tgz ​​somepackage.rpm 

след това преобразувате от tgz в DEB. Това не изисква допълнителен превключвател, тъй като конвертирането в DEB е стандартното поведение.

 sudo alien -c somepackage.tgz 

заключение

Alien има способността за гладко преобразуване между различните формати на опаковката. Въпреки че 32-битовите преобразувания на пакети на 64-битови системи изглеждат невъзможни, с малко заобиколно решение, то просто става процес в две стъпки. Малко по-неудобно, но все още лесно и просто, този прост трик ще ви позволи да конвертирате 32-битови RPM пакети в DEB дори на 64-битови системи.