Yadda ake Canza Daga RPM zuwa DEB da DEB zuwa Kunshin RPM Ta Amfani da Alien


Kamar yadda na tabbata kun riga kun sani, akwai hanyoyi da yawa don shigar da software a cikin Linux: ta yin amfani da tsarin sarrafa fakitin da aka samar ta hanyar rarraba ku (ƙwarewa, yum, ko zypper, don suna wasu misalai), ana tattarawa daga tushe (ko da yake da ɗan kaɗan. A kwanakin nan ba kasafai ba, ita ce hanya daya tilo da ake samu a farkon zamanin Linux), ko yin amfani da ƙaramin kayan aiki kamar dpkg ko rpm tare da .deb da .rpm tsaye, fakitin da aka riga aka haɗa, bi da bi.

A cikin wannan labarin za mu gabatar muku da baƙi, kayan aiki da ke canzawa tsakanin nau'ikan fakitin Linux daban-daban, tare da .rpm zuwa .deb (kuma akasin haka) shine mafi yawan amfani.

Wannan kayan aiki, ko da lokacin da marubucin ya daina kula da shi kuma ya bayyana a cikin gidan yanar gizonsa cewa baƙon zai kasance koyaushe yana kasancewa a matsayin gwaji, zai iya zuwa da amfani idan kuna buƙatar wani nau'in fakiti amma kawai kuna iya samun wannan shirin a cikin wani tsarin fakitin.

Misali, dan hanya ya ceci rana ta sau ɗaya lokacin da nake neman direban .deb don firintar tawada kuma ban sami ko ɗaya ba - masana'anta sun ba da fakitin .rpm kawai. Na shigar da baƙo, na canza kunshin, kuma ba da daɗewa ba na sami damar amfani da firinta ba tare da matsala ba.

Wannan ya ce, dole ne mu fayyace cewa bai kamata a yi amfani da wannan kayan aiki don maye gurbin mahimman fayilolin tsarin da ɗakunan karatu ba tun lokacin da aka kafa su daban a cikin rarrabawa. Yi amfani da baƙo a matsayin makoma ta ƙarshe idan hanyoyin shigarwa da aka ba da shawarar a farkon wannan labarin ba su cikin tambaya don shirin da ake buƙata.

A ƙarshe amma ba kalla ba, dole ne mu lura cewa ko da yake za mu yi amfani da CentOS da Debian a cikin wannan labarin, baƙon kuma an san shi yana aiki a Slackware har ma a cikin Solaris, ban da rarraba biyu na farko da iyalansu.

Mataki 1: Sanya Alien da Dogara

Don shigar da baƙo a cikin CentOS/RHEL 7, kuna buƙatar kunna EPEL da Nux Dextop (eh, Dextop - ba Desktop ba) ma'ajiyar, ta wannan tsari:

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

Sabon sigar fakitin da ke ba da damar wannan ma'ajiyar a halin yanzu 0.5 (an buga shi a ranar 10 ga Agusta, 2015). Ya kamata ku duba http://li.nux.ro/download/nux/dextop/el7/x86_64/ don ganin ko akwai sabon sigar kafin ci gaba:

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

sai kayi,

# yum update && yum install alien

A cikin Fedora, kawai kuna buƙatar gudanar da umarni na ƙarshe.

A cikin Debian da abubuwan haɓakawa, kawai yi:

# aptitude install alien

Mataki 2: Canza daga .deb zuwa .rpm Kunshin

Don wannan gwajin mun zaɓi dateutils, wanda ke ba da jerin abubuwan amfani na kwanan wata da lokaci don magance ɗimbin bayanan kuɗi. Za mu zazzage fakitin .deb zuwa akwatin CentOS 7, mu canza shi zuwa .rpm kuma mu sanya shi:

# 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

Muhimmi: (Don Allah a lura da yadda, ta tsohuwa, baƙon yana ƙara ƙaramar adadin fakitin manufa. Idan kuna son soke wannan hali, ƙara tutar –keep-version).

Idan muka yi ƙoƙarin shigar da kunshin nan da nan, za mu shiga cikin ɗan ƙaramin batu:

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

Don magance wannan batu, za mu ba da damar ma'ajin gwajin epel kuma mu shigar da kayan aikin rpmrebuild don gyara saitunan fakitin da za a sake ginawa:

# yum --enablerepo=epel-testing install rpmrebuild

Sai gudu,

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

Wanne zai buɗe tsoffin editan rubutun ku. Je zuwa sashin % fayiloli kuma share layin da ke nufin kundayen adireshi da aka ambata a cikin saƙon kuskure, sannan ajiye fayil ɗin kuma fita:

Lokacin da ka fita fayil ɗin za a sa ka ci gaba da sake ginawa. Idan ka zaɓi Y, za a sake gina fayil ɗin zuwa cikin ƙayyadadden kundin adireshi (bambanta da kundin adireshin aiki na yanzu):

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

Yanzu zaku iya ci gaba da shigar da kunshin kuma ku tabbatar kamar yadda kuka saba:

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

A ƙarshe, zaku iya jera kayan aikin guda ɗaya waɗanda aka haɗa tare da dateutils kuma a madadin ku duba shafukansu na mutum:

# ls -l /usr/bin | grep dateutils

Mataki 3: Canza daga .rpm zuwa .deb Package

A cikin wannan sashe za mu kwatanta yadda ake juyawa daga .rpm zuwa .deb. A cikin akwatin Debian Wheezy 32-bit, bari mu zazzage fakitin .rpm don harsashi na zsh daga ma'ajiyar CentOS 6 OS. Lura cewa wannan harsashi baya samuwa ta tsohuwa a cikin Debian da abubuwan da aka samo asali.

# 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

Kuna iya yin watsi da saƙon game da sa hannun da ya ɓace a amince:

Bayan ƴan lokaci kaɗan, yakamata a ƙirƙiri fayil ɗin .deb kuma a shirye don shigarwa:

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

Bayan shigarwa, zaku iya tabbatar da cewa an ƙara zsh cikin jerin ingantattun harsashi:

# cat /etc/shells

Takaitawa

A cikin wannan labarin mun bayyana yadda ake jujjuya daga .rpm zuwa .deb kuma akasin haka don shigar da fakiti a matsayin makoma ta ƙarshe lokacin da ba a samun irin waɗannan shirye-shiryen a cikin ma'ajin ajiya ko azaman lambar tushe mai rarrabawa. Kuna so kuyi alamar wannan labarin saboda dukanmu za mu buƙaci baƙo a lokaci ɗaya ko wani.

Jin kyauta don raba ra'ayoyinku game da wannan labarin ta amfani da fom ɗin da ke ƙasa.