Hvernig á að breyta úr RPM í DEB og DEB í RPM pakka með því að nota Alien


Eins og ég er viss um að þú veist nú þegar, þá eru margar leiðir til að setja upp hugbúnað í Linux: með því að nota pakkastjórnunarkerfið sem dreifingin þín býður upp á (aptitude, yum, eða zypper, svo nokkur dæmi séu nefnd), samantekt frá uppruna (þó nokkuð sjaldgæft þessa dagana, það var eina aðferðin sem var tiltæk á fyrstu dögum Linux), eða með því að nota tól á lágu stigi eins og dpkg eða rpm með .deb og .rpm sjálfstæðum, forsamsettum pakka, í sömu röð.

Í þessari grein munum við kynna þér Alien, tól sem breytir á milli mismunandi Linux pakkasniða, þar sem .rpm í .deb (og öfugt) er algengasta notkunin.

Þetta tól, jafnvel þegar höfundur þess er ekki lengur að viðhalda því og segir á vefsíðu sinni að geimvera muni alltaf líklega vera áfram í tilraunastöðu, getur komið sér vel ef þú þarft ákveðna tegund af pakka en getur aðeins fundið það forrit í öðru pakkasniði.

Til dæmis bjargaði geimvera deginum mínum einu sinni þegar ég var að leita að .deb rekla fyrir bleksprautuprentara og fann engan - framleiðandinn útvegaði aðeins .rpm pakka. Ég setti upp geimveru, breytti pakkanum og áður en langt um leið gat ég notað prentarann minn án vandræða.

Sem sagt, við verðum að skýra að þetta tól ætti ekki að nota til að skipta um mikilvægar kerfisskrár og bókasöfn þar sem þau eru sett upp á mismunandi hátt í dreifingum. Notaðu aðeins geimveru sem síðasta úrræði ef uppsetningaraðferðirnar sem lagðar eru til í upphafi þessarar greinar koma ekki til greina fyrir tilskilið forrit.

Síðast en ekki síst verðum við að hafa í huga að þrátt fyrir að við munum nota CentOS og Debian í þessari grein, er vitað að geimverur virka einnig í Slackware og jafnvel í Solaris, fyrir utan fyrstu tvær dreifingarnar og fjölskyldur þeirra.

Skref 1: Uppsetning Alien and Dependencies

Til að setja upp geimveru í CentOS/RHEL 7 þarftu að virkja EPEL og Nux Dextop (já, það er Dextop - ekki Desktop) geymslurnar, í þeirri röð:

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

Nýjasta útgáfan af pakkanum sem gerir þessa geymslu kleift er eins og er 0.5 (birt 10. ágúst 2015). Þú ættir að athuga http://li.nux.ro/download/nux/dextop/el7/x86_64/ til að sjá hvort það sé til nýrri útgáfa áður en lengra er haldið:

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

gerðu þá,

# yum update && yum install alien

Í Fedora þarftu aðeins að keyra síðustu skipunina.

Í Debian og afleiðum skaltu einfaldlega gera:

# aptitude install alien

Skref 2: Umbreytir úr .deb í .rpm pakka

Fyrir þetta próf höfum við valið dateutils, sem býður upp á safn dagsetningar- og tímatóla til að takast á við mikið magn af fjárhagslegum gögnum. Við munum hlaða niður .deb pakkanum í CentOS 7 kassann okkar, breyta honum í .rpm og setja hann upp:

# 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

Mikilvægt: (Vinsamlegast athugaðu hvernig, sjálfgefið, geimvera eykur minni útgáfunúmerið af markpakkanum. Ef þú vilt hnekkja þessari hegðun skaltu bæta við –keep-version fánanum).

Ef við reynum að setja upp pakkann strax munum við lenda í smá vandamáli:

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

Til að leysa þetta mál munum við virkja epel-prófunargeymsluna og setja upp rpmrebuild tólið til að breyta stillingum pakkans sem á að endurbyggja:

# yum --enablerepo=epel-testing install rpmrebuild

Þá hlaupa,

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

Sem mun opna sjálfgefna textaritilinn þinn. Farðu í %files hlutann og eyddu línunum sem vísa í möppurnar sem nefndar eru í villuboðunum, vistaðu síðan skrána og farðu út:

Þegar þú hættir skránni verðurðu beðinn um að halda áfram með endurbygginguna. Ef þú velur Y verður skráin endurbyggð í tilgreinda möppu (öðruvísi en núverandi vinnuskrá):

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

Nú geturðu haldið áfram að setja upp pakkann og staðfesta eins og venjulega:

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

Að lokum geturðu skráð einstök verkfæri sem fylgdu dateutils og að öðrum kosti skoðað viðkomandi mansíður þeirra:

# ls -l /usr/bin | grep dateutils

Skref 3: Umbreytir úr .rpm í .deb pakka

Í þessum hluta munum við sýna hvernig á að breyta úr .rpm í .deb. Í 32-bita Debian Wheezy kassa skulum við hlaða niður .rpm pakkanum fyrir zsh skelina úr CentOS 6 OS geymslunni. Athugaðu að þessi skel er ekki tiltæk sjálfgefið í Debian og afleiðum.

# 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

Þú getur örugglega hunsað skilaboðin um týnda undirskrift:

Eftir nokkra stund ætti .deb skráin að hafa verið búin til og vera tilbúin til uppsetningar:

# dpkg -i zsh_4.3.11-5_i386.deb

Eftir uppsetninguna geturðu staðfest að zsh sé bætt við listann yfir gildar skeljar:

# cat /etc/shells

Samantekt

Í þessari grein höfum við útskýrt hvernig á að breyta úr .rpm í .deb og öfugt til að setja upp pakka sem síðasta úrræði þegar slík forrit eru ekki tiltæk í geymslunum eða sem dreifanleg frumkóði. Þú vilt setja bókamerki á þessa grein vegna þess að við öll þurfum á geimveru að halda á einum eða öðrum tíma.

Ekki hika við að deila hugsunum þínum um þessa grein með því að nota eyðublaðið hér að neðan.