Kaip konvertuoti iš RPM į DEB ir DEB į RPM paketą naudojant Alien
Esu tikras, kad jau žinote, kad yra daugybė būdų įdiegti programinę įrangą Linux sistemoje: naudojant paketų valdymo sistemą, kurią teikia jūsų platinimas (aptitude, yum arba zypper, kad būtų keli pavyzdžiai), kompiliavimas iš šaltinio (nors šiek tiek retais šiais laikais, tai buvo vienintelis metodas, galimas ankstyvosiomis Linux dienomis) arba naudojant žemo lygio įrankį, pvz., dpkg arba rpm su .deb<. ir .rpm atskiri, iš anksto sukompiliuoti paketai.
Šiame straipsnyje supažindinsime su alien – įrankiu, kuris konvertuoja tarp skirtingų Linux paketų formatų su .rpm į .deb (ir vice). atvirkščiai) yra dažniausiai naudojamas.
Šis įrankis, net kai jo autorius jo nebeprižiūri ir savo svetainėje teigia, kad ateivis tikriausiai visada liks eksperimento būsenoje, gali praversti, jei jums reikia tam tikro tipo paketo, bet tą programą galite rasti tik kito paketo formatu.
Pavyzdžiui, ateivietis kartą išgelbėjo mano dieną, kai ieškojau .deb tvarkyklės rašaliniam spausdintuvui ir neradau – gamintojas pateikė tik .rpm paketą. Įdiegiau alien, konvertavau paketą ir netrukus galėjau be problemų naudoti savo spausdintuvą.
Be to, turime paaiškinti, kad ši priemonė neturėtų būti naudojama svarbiems sistemos failams ir bibliotekoms pakeisti, nes paskirstymuose jie nustatomi skirtingai. Naudokite „Alien“ tik kaip paskutinę priemonę, jei šio straipsnio pradžioje siūlomi diegimo metodai nėra tinkami reikiamai programai.
Paskutinis, bet ne mažiau svarbus dalykas, turime pažymėti, kad nors šiame straipsnyje naudosime CentOS ir Debian, žinoma, kad ateivis taip pat veikia Slackware. ir net Solaris, be pirmųjų dviejų platinimų ir atitinkamų jų šeimų.
1 veiksmas: Alien ir priklausomybių diegimas
Norėdami įdiegti alien sistemoje CentOS/RHEL 7, turėsite įgalinti EPEL ir Nux Dextop (taip, tai Dextop, o ne Desktop) saugyklos tokia tvarka:
yum install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
Naujausia paketo, kuris įgalina šią saugyklą, versija šiuo metu yra 0,5 (paskelbta 2015 m. rugpjūčio 10 d.). Prieš tęsdami, turėtumėte patikrinti http://li.nux.ro/download/nux/dextop/el7/x86_64/, kad sužinotumėte, ar nėra naujesnės versijos:
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
tada daryk,
yum update && yum install alien
Programoje Fedora jums reikės paleisti tik paskutinę komandą.
„Debian“ ir išvestinėse programose tiesiog atlikite:
aptitude install alien
2 veiksmas: konvertavimas iš .deb į .rpm paketą
Šiam testui pasirinkome dateutils, kuris pateikia datos ir laiko paslaugų rinkinį, skirtą dideliam finansinių duomenų kiekiui tvarkyti. Atsisiųsime .deb paketą į CentOS 7 laukelį, konvertuosime jį į .rpm ir įdiegsime:
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
Svarbu: (Atkreipkite dėmesį, kaip pagal numatytuosius nustatymus alien padidina tikslinio paketo versijos mažąjį numerį. Jei norite nepaisyti šio elgesio, pridėkite – Keep-version vėliava).
Jei bandysime iš karto įdiegti paketą, susidursime su nedidele problema:
rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm
Norėdami išspręsti šią problemą, įgalinsime epel testavimo saugyklą ir įdiegsime rpmrebuild paslaugų programą, kad galėtumėte redaguoti perkuriamo paketo nustatymus:
yum --enablerepo=epel-testing install rpmrebuild
Tada bėk,
rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm
Kuris atidarys numatytąjį teksto rengyklę. Eikite į %files
skyrių ir ištrinkite eilutes, kurios nurodo klaidos pranešime nurodytus katalogus, tada išsaugokite failą ir išeikite:
Kai išeisite iš failo, būsite paraginti tęsti atkūrimą. Jei pasirinksite Y, failas bus perstatytas į nurodytą katalogą (skirtingą nei dabartinis darbo katalogas):
rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm
Dabar galite tęsti paketo diegimą ir tikrinti kaip įprasta:
rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
rpm -qa | grep dateutils
Galiausiai galite išvardyti atskirus įrankius, kurie buvo įtraukti į dateutils, arba patikrinti atitinkamus jų vadovo puslapius:
ls -l /usr/bin | grep dateutils
3 veiksmas: konvertuokite iš .rpm į .deb paketą
Šiame skyriuje parodysime, kaip konvertuoti iš .rpm į .deb. 32 bitų Debian Wheezy dėžutėje atsisiųskite .rpm paketą zsh apvalkalui iš CentOS 6 OS saugykla. Atminkite, kad šis apvalkalas pagal numatytuosius nustatymus nepasiekiamas Debian ir išvestinėse versijose.
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
Galite saugiai nepaisyti pranešimų apie trūkstamą parašą:
Po kelių akimirkų .deb failas turėjo būti sugeneruotas ir paruoštas diegti:
dpkg -i zsh_4.3.11-5_i386.deb
Įdiegę galite patikrinti, ar zsh įtrauktas į galiojančių apvalkalų sąrašą:
cat /etc/shells
Santrauka
Šiame straipsnyje paaiškinome, kaip konvertuoti iš .rpm į .deb ir atvirkščiai, kad būtų galima įdiegti paketus kaip paskutinę priemonę, kai tokių programų nėra saugyklose arba kaip platinamo šaltinio kodo. Norėsite pažymėti šį straipsnį, nes mums visiems vienu ar kitu metu prireiks užsieniečių.
Nesivaržykite pasidalinti savo mintimis apie šį straipsnį naudodami toliau pateiktą formą.