Kuinka muuntaa RPM:stä DEB:ksi ja DEB:stä RPM-paketiksi Alienin avulla


Kuten varmasti tiedätkin, Linuxiin on monia tapoja asentaa ohjelmistoja: käyttämällä jakelusi tarjoamaa paketinhallintajärjestelmää (aptitude, yum tai zypper, muutamia esimerkkejä mainitakseni), kääntämällä lähteestä (tosin jonkin verran harvinainen nykyään, se oli ainoa käytettävissä oleva menetelmä Linuxin alkuaikoina) tai käyttämällä matalan tason työkaluja, kuten dpkg tai rpm .deb<:lla ja .rpm erilliset esikäännetyt paketit.

Tässä artikkelissa esittelemme sinulle alien-työkalun, joka muuntaa eri Linux-pakettimuotojen välillä .rpm-muodolla .deb-muodossa (ja vice-muodossa). päinvastoin) on yleisin käyttö.

Tämä työkalu voi olla hyödyllinen, vaikka sen tekijä ei enää ylläpitäisi sitä ja ilmoittaa verkkosivuillaan, että alien pysyy todennäköisesti aina kokeellisessa tilassa, jos tarvitset tietyn tyyppistä pakettia, mutta löydät ohjelman vain toisessa pakettimuodossa.

Esimerkiksi alien pelasti päiväni kerran, kun etsin .deb-ohjainta mustesuihkutulostimelle enkä löytänyt yhtään - valmistaja toimitti vain .rpm-paketin. Asensin alienin, muunsin paketin ja ennen pitkää pystyin käyttämään tulostintani ilman ongelmia.

Meidän on kuitenkin selvennettävä, että tätä apuohjelmaa ei pitäisi käyttää tärkeiden järjestelmätiedostojen ja kirjastojen korvaamiseen, koska ne on määritetty eri jakeluissa. Käytä alienia vain viimeisenä keinona, jos tämän artikkelin alussa ehdotetut asennustavat eivät tule kysymykseen vaaditun ohjelman kohdalla.

Viimeisenä mutta ei vähäisimpänä, meidän on huomattava, että vaikka käytämme tässä artikkelissa CentOS:ää ja Debiania, alienin tiedetään toimivan myös Slackwaressa. ja jopa Solarisissa kahden ensimmäisen jakelun ja niiden perheiden lisäksi.

Vaihe 1: Alien ja riippuvuuksien asentaminen

Jotta voit asentaa alien-sovelluksen CentOS/RHEL 7 -käyttöjärjestelmään, sinun on otettava käyttöön EPEL ja Nux. Dextop (kyllä, se on Dextop – ei Desktop) -tietovarastot tässä järjestyksessä:

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

Tämän arkiston mahdollistavan paketin uusin versio on tällä hetkellä 0.5 (julkaistu 10. elokuuta 2015). Tarkista osoitteesta http://li.nux.ro/download/nux/dextop/el7/x86_64/, onko olemassa uudempaa versiota, ennen kuin jatkat:

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

tee sitten,

yum update && yum install alien

Fedorassa sinun tarvitsee suorittaa vain viimeinen komento.

Debianissa ja johdannaisissa tee yksinkertaisesti:

aptitude install alien

Vaihe 2: Muunnetaan .deb-paketista .rpm-paketiksi

Tätä testiä varten olemme valinneet dateutils-sovelluksen, joka tarjoaa joukon päivämäärä- ja aika-apuohjelmia suurten taloudellisten tietojen käsittelyä varten. Lataamme .deb-paketin CentOS 7 -laatikkoomme, muunnamme sen muotoon .rpm ja asennamme sen:

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

Tärkeää: (Huomaa, kuinka alien oletusarvoisesti lisää kohdepaketin version sivunumeroa. Jos haluat ohittaa tämän toiminnan, lisää – Keep-version -lippu).

Jos yritämme asentaa paketin heti, kohtaamme pienen ongelman:

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

Tämän ongelman ratkaisemiseksi otamme käyttöön epel-testausvaraston ja asennamme rpmrebuild-apuohjelman, jolla muokataan uudelleen rakennettavan paketin asetuksia:

yum --enablerepo=epel-testing install rpmrebuild

Sitten juokse,

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

Tämä avaa oletustekstieditorisi. Siirry osioon %files ja poista rivit, jotka viittaavat virheilmoituksessa mainittuihin hakemistoihin, tallenna tiedosto ja poistu:

Kun poistut tiedostosta, sinua pyydetään jatkamaan uudelleenmuodostusta. Jos valitset Y, tiedosto rakennetaan uudelleen määritettyyn hakemistoon (eri kuin nykyinen työhakemisto):

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

Nyt voit jatkaa paketin asentamista ja tarkistaa tavalliseen tapaan:

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

Lopuksi voit luetella yksittäiset työkalut, jotka sisältyivät dateutilsiin, ja vaihtoehtoisesti tarkistaa niiden vastaavat man-sivut:

ls -l /usr/bin | grep dateutils

Vaihe 3: Muunnetaan .rpm-paketista .deb-paketiksi

Tässä osiossa havainnollistetaan, kuinka .rpm muunnetaan muotoon .deb. Ladataan 32-bittisessä Debian Wheezy -laatikossa .rpm-paketti zsh-kuorelle CentOS 6 -käyttöjärjestelmästä. vahva> arkisto. Huomaa, että tämä komentotulkki ei ole oletuksena saatavilla Debianissa ja johdannaisissa.

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

Voit turvallisesti jättää huomioimatta puuttuvaa allekirjoitusta koskevat viestit:

Muutaman hetken kuluttua .deb-tiedoston olisi pitänyt luoda ja olla valmis asennettavaksi:

dpkg -i zsh_4.3.11-5_i386.deb

Asennuksen jälkeen voit varmistaa, että zsh on lisätty kelvollisten komentotulkkien luetteloon:

cat /etc/shells

Yhteenveto

Tässä artikkelissa olemme selittäneet, kuinka muuntaa .rpm:stä .deb:ksi ja päinvastoin pakettien asentamiseksi viimeisenä keinona, kun tällaisia ohjelmia ei ole saatavilla arkistoissa tai jaettavana lähdekoodina. Haluat lisätä tämän artikkelin kirjanmerkkeihin, koska me kaikki tarvitsemme ulkomaalaista joskus.

Voit vapaasti jakaa ajatuksesi tästä artikkelista alla olevan lomakkeen avulla.