Giunsa ang Pag-convert Gikan sa RPM hangtod sa DEB ug DEB hangtod sa RPM Package Gamit ang Alien


Ingon ako sigurado nga nahibal-an na nimo, adunay daghang mga paagi sa pag-install sa software sa Linux: gamit ang sistema sa pagdumala sa package nga gihatag sa imong pag-apod-apod (aptitude, yum, o zypper, aron hinganlan ang pipila nga mga pananglitan), pag-compile gikan sa gigikanan (bisan kung medyo Talagsa ra karong mga panahona, kini ra ang paagi nga magamit sa unang mga adlaw sa Linux), o paggamit sa usa ka ubos nga lebel nga himan sama sa dpkg o rpm nga adunay .deb ug .rpm nga standalone, precompiled nga mga pakete, matag usa.

Niining artikuloha ipaila-ila ka namo sa alien, usa ka himan nga nag-convert tali sa lain-laing mga format sa pakete sa Linux, nga ang .rpm ngadto sa .deb (ug vice versa) mao ang labing komon nga paggamit.

Kini nga himan, bisan kung ang tagsulat niini wala na nagmintinar niini ug nag-ingon sa iyang website nga ang langyaw kanunay nga lagmit magpabilin sa eksperimento nga kahimtang, mahimong magamit kung kinahanglan nimo ang usa ka piho nga klase sa pakete apan makit-an ra kana nga programa sa lain nga format sa pakete.

Pananglitan, ang alien nagluwas sa akong adlaw kausa sa dihang nangita ko og .deb driver para sa inkjet printer ug wala koy nakit-an - ang tiggama naghatag lang og .rpm nga pakete. Gi-install nako ang alien, gi-convert ang package, ug sa wala madugay akong nagamit ang akong printer nga walay mga isyu.

Ingon niana, kinahanglan natong iklaro nga kini nga utility kinahanglan dili gamiton sa pag-ilis sa importante nga mga file sa sistema ug mga librarya tungod kay kini gipahimutang nga lahi sa mga distribusyon. Gamita lamang ang langyaw isip usa ka katapusan nga paagi kung ang gisugyot nga mga pamaagi sa pag-instalar sa sinugdanan niini nga artikulo wala sa pangutana alang sa gikinahanglan nga programa.

Katapusan apan dili labing gamay, kinahanglan naton matikdan nga bisan kung gamiton naton ang CentOS ug Debian sa kini nga artikulo, ang langyaw nahibal-an usab nga nagtrabaho sa Slackware ug bisan sa Solaris, gawas sa una nga duha nga pag-apod-apod ug sa ilang mga pamilya.

Lakang 1: Pag-instalar sa Alien ug Dependencies

Aron ma-install ang langyaw sa CentOS/RHEL 7, kinahanglan nimo nga magamit ang EPEL ug ang Nux Dextop (oo, kini Dextop - dili Desktop) nga mga repository, sa kana nga pagkasunud:

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

Ang pinakabag-o nga bersyon sa package nga makahimo niini nga repository mao ang kasamtangan nga 0.5 (gimantala sa Agosto 10, 2015). Kinahanglan nimong susihon ang http://li.nux.ro/download/nux/dextop/el7/x86_64/ aron makita kung adunay bag-ong bersyon sa dili pa magpadayon:

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

unya buhata,

# yum update && yum install alien

Sa Fedora, kinahanglan ra nimo nga ipadagan ang katapusan nga mando.

Sa Debian ug derivatives, buhata lang:

# aptitude install alien

Lakang 2: Pag-convert gikan sa .deb ngadto sa .rpm Package

Alang sa kini nga pagsulay gipili namon ang mga dateutils, nga naghatag usa ka set sa petsa ug oras nga mga gamit sa pag-atubang sa daghang mga datos sa pinansyal. Among i-download ang .deb nga pakete sa among CentOS 7 nga kahon, i-convert kini sa .rpm ug i-install kini:

# 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

Importante: (Palihug timan-i kung giunsa, pinaagi sa default, ang alien nagdugang sa bersyon nga minor nga numero sa target nga pakete. Kung gusto nimo i-override kini nga kinaiya, idugang ang –keep-version nga bandila).

Kung sulayan namon nga i-install dayon ang package, adunay gamay nga isyu:

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

Aron masulbad kini nga isyu, mahimo namon ang epel-testing repository ug i-install ang rpmrebuild utility aron ma-edit ang mga setting sa package nga matukod pag-usab:

# yum --enablerepo=epel-testing install rpmrebuild

Unya dagan,

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

Nga magbukas sa imong default text editor. Adto sa %files nga seksyon ug tangtanga ang mga linya nga nagtumong sa mga direktoryo nga gihisgotan sa mensahe sa sayop, dayon i-save ang file ug paggawas:

Kung mogawas ka sa file maaghat ka nga magpadayon sa pagtukod pag-usab. Kung imong pilion ang Y, ang file matukod pag-usab sa gitakda nga direktoryo (lahi sa kasamtangan nga direktoryo sa pagtrabaho):

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

Karon mahimo nimong ipadayon ang pag-install sa package ug pag-verify sama sa naandan:

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

Sa katapusan, mahimo nimong ilista ang indibidwal nga mga himan nga gilakip sa dateutils ug alternatibong susihon ang ilang mga panid sa tawo:

# ls -l /usr/bin | grep dateutils

Lakang 3: Pag-convert gikan sa .rpm ngadto sa .deb Package

Niini nga seksyon atong i-ilustrar kon unsaon pag-convert gikan sa .rpm ngadto sa .deb. Sa usa ka 32-bit nga Debian Wheezy box, atong i-download ang .rpm package alang sa zsh shell gikan sa CentOS 6 OS repository. Timan-i nga kini nga kabhang dili magamit pinaagi sa default sa Debian ug derivatives.

# 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

Mahimo nimong luwas nga ibaliwala ang mga mensahe bahin sa nawala nga pirma:

Human sa pipila ka mga gutlo, ang .deb file kinahanglan nga namugna ug andam na sa pag-instalar:

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

Pagkahuman sa pag-instalar, mahimo nimong mapamatud-an nga ang zsh gidugang sa lista sa mga balido nga kabhang:

# cat /etc/shells

Summary

Niining artikuloha among gipatin-aw kon unsaon pag-convert gikan sa .rpm ngadto sa .deb ug vice versa sa pag-instalar sa mga pakete isip kataposang paagi kon ang maong mga programa dili magamit sa mga repositoryo o ingong maapod-apod nga source code. Gusto nimo nga i-bookmark kini nga artikulo tungod kay kitang tanan magkinahanglan ug langyaw sa usa ka higayon o sa lain.

Palihug ipaambit ang imong mga hunahuna bahin sa kini nga artikulo gamit ang porma sa ubos.