Как да конвертирате 32-битови RPM пакети в DEB на 64-битова система
Един от нашите по-ранни статии вече обхваща основната употреба на 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-битови системи.