Bii o ṣe le yipada Lati RPM si DEB ati DEB si Package RPM Lilo Alejò


Bi Mo ni idaniloju pe o ti mọ tẹlẹ, awọn ọna lọpọlọpọ wa lati fi sori ẹrọ sọfitiwia ni Lainos: lilo eto iṣakoso package ti a pese nipasẹ pinpin rẹ (oye, yum, tabi zypper, lati lorukọ awọn apẹẹrẹ diẹ), ikojọpọ lati orisun (botilẹjẹpe ni itumo o ṣọwọn ni awọn ọjọ wọnyi, o jẹ ọna kan ṣoṣo ti o wa lakoko awọn ọjọ ibẹrẹ ti Linux), tabi lilo irinṣẹ ipele kekere bi dpkg tabi rpm pẹlu .deb ati .rpm adashe, awọn idii ti a ṣajọ tẹlẹ, lẹsẹsẹ.

Ninu nkan yii a yoo ṣafihan ọ si ajeji, ọpa kan ti o yipada laarin awọn ọna kika package Linux oriṣiriṣi, pẹlu .rpm si .deb (ati idakeji) jẹ lilo to wọpọ julọ.

Ọpa yii, paapaa nigbati onkọwe rẹ ko ba ṣetọju rẹ mọ ati sọ ninu oju opo wẹẹbu rẹ pe alejò nigbagbogbo yoo wa ni ipo idanwo, le wa ni ọwọ ti o ba nilo iru package kan ṣugbọn o le rii eto yẹn nikan ni ọna kika package miiran.

Fun apẹẹrẹ, alejò ti fipamọ ọjọ mi ni ẹẹkan nigbati Mo n wa awakọ .deb fun itẹwe inkjet ati pe ko le rii eyikeyi - olupese nikan ni o pese package .rpm. Mo ti fi sori ajeji, yi iyipada pada, ati pe ni pipẹ Mo ni anfani lati lo itẹwe mi laisi awọn ọran.

Ti o sọ, a gbọdọ ṣalaye pe iwulo ohun elo yii ko yẹ ki o lo lati rọpo awọn faili eto pataki ati awọn ile ikawe nitori wọn ti ṣeto ni ọna oriṣiriṣi kọja awọn pinpin. Lo alejò nikan bi ibi-isinmi ti o kẹhin ti awọn ọna fifi sori ẹrọ aba ni ibẹrẹ nkan yii ko jade kuro ninu ibeere fun eto ti o nilo.

Ni ikẹhin ṣugbọn ko kere ju, a gbọdọ ṣe akiyesi pe botilẹjẹpe a yoo lo CentOS ati Debian ninu nkan yii, alejò tun mọ lati ṣiṣẹ ni Slackware ati paapaa ni Solaris, ni afikun awọn pinpin meji akọkọ ati awọn idile wọn.

Igbesẹ 1: Fifi Alejò ati Awọn igbẹkẹle sii

Lati fi alejò sori ẹrọ ni CentOS/RHEL 7, iwọ yoo nilo lati mu EPEL ati Dextop Nux naa ṣiṣẹ (bẹẹni, o jẹ Dextop - kii ṣe Ojú-iṣẹ) awọn ibi ipamọ, ni ọna naa:

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

Ẹya tuntun ti package ti o mu ki ibi ipamọ yii jẹ lọwọlọwọ 0.5 (ti a tẹ ni Oṣu Kẹjọ Ọjọ 10, Ọdun 2015). O yẹ ki o ṣayẹwo http://li.nux.ro/download/nux/dextop/el7/x86_64/ lati rii boya ẹya tuntun wa ṣaaju iṣaaju siwaju:

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

lẹhinna ṣe,

# yum update && yum install alien

Ni Fedora, iwọ yoo nilo nikan lati ṣiṣe aṣẹ to kẹhin.

Ni Debian ati awọn itọsẹ, ṣe ni irọrun:

# aptitude install alien

Igbesẹ 2: Yiyipada lati .deb si .rpm Package

Fun idanwo yii a ti yan ọjọ, eyi ti o pese ṣeto ti ọjọ ati awọn ohun elo akoko lati ṣe pẹlu oye nla ti data inawo. A yoo ṣe igbasilẹ package .deb si apoti CentOS 7 wa, yipada si .rpm ki o fi sii:

# 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

Pataki: (Jọwọ ṣakiyesi bawo, ni aiyipada, alejò ṣe alekun nọmba kekere ti ẹya ti package ibi-afẹde. Ti o ba fẹ fagile ihuwasi yii, ṣafikun asia-ẹya-ẹya).

Ti a ba gbiyanju lati fi package sii lẹsẹkẹsẹ, a yoo lọ sinu ọrọ diẹ:

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

Lati yanju ọrọ yii, a yoo jẹki ibi-itọju epel ati fi ohun elo rpmrebuild sori ẹrọ lati ṣatunkọ awọn eto ti package lati tun kọ:

# yum --enablerepo=epel-testing install rpmrebuild

Lẹhinna ṣiṣe,

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

Eyi ti yoo ṣii ṣiṣatunkọ ọrọ aiyipada rẹ. Lọ si apakan % awọn faili ki o paarẹ awọn ila ti o tọka si awọn ilana ti a mẹnuba ninu ifiranṣẹ aṣiṣe, lẹhinna ṣafipamọ faili naa ki o jade:

Nigbati o ba jade kuro ni faili o yoo ti ọ lati tẹsiwaju pẹlu atunkọ. Ti o ba yan Y, ao tun kọ faili naa sinu itọsọna ti a ṣalaye (yatọ si itọsọna iṣẹ lọwọlọwọ):

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

Bayi o le tẹsiwaju lati fi sori ẹrọ package ati ṣayẹwo bi o ṣe deede:

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

Lakotan, o le ṣe atokọ awọn irinṣẹ kọọkan ti o wa pẹlu awọn ọjọ ati yiyan ṣayẹwo awọn oju-iwe ti ọkunrin wọn:

# ls -l /usr/bin | grep dateutils

Igbesẹ 3: Yiyipada lati .rpm si .deb Package

Ni apakan yii a yoo ṣe apejuwe bi a ṣe le yipada lati .rpm si .deb. Ninu apoti Debian Wheezy 32-bit, jẹ ki a ṣe igbasilẹ package .rpm fun ikarahun zsh lati ibi ipamọ CentOS 6 OS. Akiyesi pe ikarahun yii ko si ni aiyipada ni Debian ati awọn itọsẹ.

# 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

O le foju paarẹ awọn ifiranṣẹ nipa ibuwọlu sonu:

Lẹhin awọn asiko diẹ, faili .deb yẹ ki o ti ipilẹṣẹ ati ṣetan lati fi sori ẹrọ:

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

Lẹhin fifi sori ẹrọ, o le rii daju pe zsh ti wa ni afikun si atokọ ti awọn ibon nlanla to wulo:

# cat /etc/shells

Akopọ

Ninu nkan yii a ti ṣalaye bi a ṣe le yipada lati .rpm si .deb ati ni idakeji lati fi awọn idii sii bi ibi isinmi ti o kẹhin nigbati iru awọn eto ko ba si ni awọn ibi ipamọ tabi bi koodu orisun pinpin kaakiri. Iwọ yoo fẹ lati bukumaaki nkan yii nitori gbogbo wa yoo nilo ajeji ni akoko kan tabi omiiran.

Ni ominira lati pin awọn ero rẹ nipa nkan yii nipa lilo fọọmu ti o wa ni isalẹ.