Weboldal keresés

Hogyan lehet RPM-ből DEB-be és DEB-ből RPM-csomagot konvertálni az Alien használatával


Amint azt már biztosan tudod, rengeteg módszer létezik a szoftver telepítésére Linux alatt: a disztribúciód által biztosított csomagkezelő rendszer (aptitude, yum vagy zypper, hogy néhány példát említsünk), forrásból fordítás (bár némileg ritka manapság, ez volt az egyetlen elérhető módszer a Linux korai időszakában), vagy olyan alacsony szintű eszközöket használtak, mint a dpkg vagy az rpm a .deb<-vel és .rpm önálló, előre lefordított csomagok, ill.

Ebben a cikkben bemutatjuk az alien-t, egy olyan eszközt, amely a különböző Linux-csomagformátumok között konvertál az .rpm-ből .deb-re (és vice-re). fordítva) ez a leggyakoribb használat.

Ez az eszköz akkor is jól jöhet, ha a szerzője már nem karbantartja, és honlapján azt állítja, hogy az Alien valószínűleg mindig kísérleti státuszban marad, de akkor is jól jöhet, ha egy bizonyos típusú csomagra van szüksége, de csak más csomagformátumban találja meg azt a programot.

Például az alien egyszer megmentette a napomat, amikor egy .deb illesztőprogramot kerestem egy tintasugaras nyomtatóhoz, de nem találtam – a a gyártó csak .rpm csomagot biztosított. Telepítettem az Alient, átalakítottam a csomagot, és nemsokára probléma nélkül tudtam használni a nyomtatómat.

Ennek ellenére tisztáznunk kell, hogy ez a segédprogram nem használható fontos rendszerfájlok és -könyvtárak cseréjére, mivel ezek a disztribúciók között eltérően vannak beállítva. Csak végső megoldásként használja az Alient, ha a cikk elején javasolt telepítési módszerek nem jöhetnek szóba a szükséges programnál.

Végül, de nem utolsósorban meg kell jegyeznünk, hogy bár ebben a cikkben a CentOS és Debian rendszert használjuk, az Alien köztudottan a Slackwareben is működik. és még aSolarisban is, az első két disztribúción és a hozzájuk tartozó családokon kívül.

1. lépés: Az Alien és a függőségek telepítése

Az alien telepítéséhez a CentOS/RHEL 7 rendszerben engedélyeznie kell az EPEL és a Nux Dextop (igen, ez Dextop – nem Desktop) tárolók, ebben a sorrendben:

yum install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

A tárolót engedélyező csomag legújabb verziója jelenleg 0.5 (közzétéve: 2015. augusztus 10.). Mielőtt továbblépne, ellenőrizze a http://li.nux.ro/download/nux/dextop/el7/x86_64/ webhelyet, hogy megtudja, van-e újabb verzió:

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

akkor csináld,

yum update && yum install alien

A Fedorában csak az utolsó parancsot kell futtatnia.

A Debian és a származékos verziókban egyszerűen tegye a következőket:

aptitude install alien

2. lépés: Konvertálás .deb formátumról .rpm csomagra

Ehhez a teszthez a dateutils alkalmazást választottuk, amely egy sor dátum és idő segédprogramot biztosít nagy mennyiségű pénzügyi adat kezeléséhez. Letöltjük a .deb csomagot a CentOS 7 dobozunkba, átalakítjuk .rpm-re, és telepítjük:

cat /etc/centos-release
wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

Fontos: (Kérjük, vegye figyelembe, hogy az Alien alapértelmezés szerint hogyan növeli meg a célcsomag verziószámát. Ha felül akarja írni ezt a viselkedést, adja hozzá a – Keep-version flag).

Ha azonnal megpróbáljuk telepíteni a csomagot, egy kis problémába ütközünk:

rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 

A probléma megoldásához engedélyezzük az epel-tesztelési tárat, és telepítjük az rpmrebuild segédprogramot az újraépítendő csomag beállításainak szerkesztéséhez:

yum --enablerepo=epel-testing install rpmrebuild

Aztán fuss,

rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

Ez megnyitja az alapértelmezett szövegszerkesztőt. Lépjen a %files szakaszba, és törölje azokat a sorokat, amelyek a hibaüzenetben említett könyvtárakra hivatkoznak, majd mentse a fájlt, és lépjen ki:

Amikor kilép a fájlból, a rendszer felkéri az újraépítés folytatására. Ha az Y lehetőséget választja, a fájl a megadott könyvtárba épül újra (az aktuális munkakönyvtártól eltérő):

rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

Most folytathatja a csomag telepítését és a szokásos módon ellenőrizheti:

rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
rpm -qa | grep dateutils

Végül felsorolhatja az egyes eszközöket, amelyeket a dateutils tartalmazott, vagy megnézheti a hozzájuk tartozó kézikönyvoldalakat:

ls -l /usr/bin | grep dateutils

3. lépés: Konvertálás .rpm-ről .deb csomagra

Ebben a részben bemutatjuk, hogyan konvertálhat .rpm-ről .deb-re. Egy 32 bites Debian Wheezy dobozban töltsük le az .rpm csomagot a zsh shellhez a CentOS 6 OS rendszerből. tárhely. Vegye figyelembe, hogy ez a shell alapértelmezés szerint nem érhető el a Debianban és a származékaiban.

cat /etc/shells
lsb_release -a | tail -n 4

wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

Nyugodtan figyelmen kívül hagyhatja a hiányzó aláírással kapcsolatos üzeneteket:

Néhány pillanat múlva a .deb fájlnak létre kellett volna jönnie, és készen kell állnia a telepítésre:

dpkg -i zsh_4.3.11-5_i386.deb

A telepítés után ellenőrizheti, hogy a zsh hozzáadva van-e az érvényes parancsértelmezők listájához:

cat /etc/shells

Összegzés

Ebben a cikkben elmagyaráztuk, hogyan konvertálhat .rpm-ről .deb-re és fordítva, hogy végső megoldásként telepítse a csomagokat, ha az ilyen programok nem állnak rendelkezésre a tárolókban vagy terjeszthető forráskódként. Érdemes ezt a cikket a könyvjelzők közé tenni, mert időnként mindannyiunknak szüksége lesz idegenre.

Nyugodtan ossza meg gondolatait erről a cikkről az alábbi űrlap segítségével.