GNU/Linux >> Znalost Linux >  >> Linux

Jak převést z RPM na DEB a DEB na RPM balíček pomocí Alien

Jak už jistě víte, existuje mnoho způsobů, jak nainstalovat software v Linuxu:pomocí systému správy balíčků, který poskytuje vaše distribuce (aptitude, yum nebo zypper, abychom jmenovali několik příkladů), kompilace ze zdroje (i když poněkud vzácné v dnešní době, byla to jediná dostupná metoda v raných dobách Linuxu) nebo využívající nízkoúrovňový nástroj, jako je dpkg nebo ot./min s .deb a .rpm samostatné, předkompilované balíčky.

V tomto článku vám představíme mimozemšťany , nástroj, který převádí mezi různými formáty linuxových balíčků pomocí .rpm na .deb (a naopak) je nejběžnější použití.

Tento nástroj, i když jej jeho autor již neudržuje a na svém webu uvádí, že mimozemšťan vždy pravděpodobně zůstane v experimentálním stavu, se může hodit, pokud potřebujete určitý typ balíčku, ale můžete tento program najít pouze v jiném formátu balíčku.

Například mimozemšťan jednou mi zachránil den, když jsem hledal .deb ovladač pro inkjet tiskárnu a nemohl žádnou najít – výrobce poskytl pouze .rpm balík. Nainstaloval jsem alien, převedl balíček a zanedlouho jsem mohl bez problémů používat tiskárnu.

To znamená, že musíme objasnit, že tento nástroj by neměl být používán k nahrazení důležitých systémových souborů a knihoven, protože jsou v různých distribucích nastaveny odlišně. Alien používejte pouze jako poslední možnost, pokud doporučené způsoby instalace na začátku tohoto článku pro požadovaný program nepřicházejí v úvahu.

V neposlední řadě musíme poznamenat, že i když budeme používat CentOS a Debian v tomto článku je také známo, že mimozemšťan pracuje v Slackware a dokonce i v Solaris , kromě prvních dvou distribucí a jejich příslušných rodin.

Krok 1:Instalace Alien a závislostí

Chcete-li nainstalovat alien v CentOS /RHEL 7 , budete muset povolit EPEL a Nux Dextop (ano, je to Dextop – ne Desktop) úložiště, v tomto pořadí:

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

Nejnovější verze balíčku, který umožňuje toto úložiště, je aktuálně 0.5 (zveřejněno 10. srpna 2015 ). Než budete pokračovat dále, měli byste se podívat na http://li.nux.ro/download/nux/dextop/el7/x86_64/, zda není k dispozici novější verze:

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

pak udělejte,

# yum update && yum install alien

Ve Fedoře , budete muset spustit pouze poslední příkaz.

V Debianu a jeho derivátech jednoduše udělejte:

# aptitude install alien

Krok 2:Převod z balíčku .deb na balíček .rpm

Pro tento test jsme zvolili dateutils , který poskytuje sadu dat a čas nástroje pro práci s velkým množstvím finančních dat. Stáhneme soubor .deb balíček do našeho CentOS 7 box, převeďte jej na .rpm a nainstalujte jej:

# 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

Důležité :(Všimněte si prosím, jak ve výchozím nastavení alien zvyšuje vedlejší číslo verze cílového balíčku. Pokud chcete toto chování přepsat, přidejte –keep-version vlajka).

Pokud se pokusíme balíček nainstalovat hned, narazíme na malý problém:

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

Abychom tento problém vyřešili, povolíme úložiště epel-testing a nainstalujte rpmrebuild nástroj pro úpravu nastavení balíčku, který má být přestavěn:

# yum --enablerepo=epel-testing install rpmrebuild

Pak spusťte,

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

Což otevře váš výchozí textový editor. Přejděte na %files a odstraňte řádky, které odkazují na adresáře uvedené v chybové zprávě, poté soubor uložte a ukončete:

Když opustíte souboru, budete vyzváni k pokračování v přestavbě. Pokud zvolíte Y , soubor bude přestavěn do zadaného adresáře (jiného než aktuální pracovní adresář):

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

Nyní můžete pokračovat v instalaci balíčku a ověření jako obvykle:

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

Nakonec můžete uvést jednotlivé nástroje, které byly součástí dateutils a případně zkontrolujte jejich příslušné manuálové stránky:

# ls -l /usr/bin | grep dateutils

Krok 3:Převod z balíčku .rpm na balíček .deb

V této části si ukážeme, jak převést z .rpm na .deb . Ve 32bitovém Debian Wheezy stáhněte si soubor .rpm balíček pro zsh shell z CentOS 6 OS úložiště. Všimněte si, že tento shell není standardně dostupný v Debianu a jeho derivátech.

# 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

Zprávy o chybějícím podpisu můžete bez obav ignorovat:

Po chvíli se zobrazí soubor .deb soubor by měl být vygenerován a připraven k instalaci:

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

Po instalaci můžete ověřit, že zsh je přidán do seznamu platných shellů:

# cat /etc/shells

Shrnutí

V tomto článku jsme vysvětlili, jak převést z .rpm na .deb a naopak instalovat balíčky jako poslední možnost, když takové programy nejsou dostupné v úložištích nebo jako distribuovatelný zdrojový kód. Tento článek si budete chtít uložit do záložek, protože každý z nás jednou bude potřebovat mimozemšťana.

Neváhejte se podělit o své názory na tento článek pomocí formuláře níže.


Linux
  1. Jak zobrazit seznam souborů nainstalovaných z RPM nebo DEB balíčku v Linuxu

  2. Jak vypisovat, nahrávat a stahovat soubory ze serveru SFTP pomocí golang

  3. Debian:Jak nainstalovat nebo odebrat balíčky DEB pomocí dpkg

  1. Jak zobrazit další informace o balíčku pomocí yum a yumdb – RedHat Linux

  2. Jak nainstalovat MongoDB ze zdroje (a pomocí YUM) na Linuxu

  3. Jak zkontrolovat integritu balíčku rpm v Linuxu

  1. Jak sestavit balíčky ze zdroje pomocí CheckInstall

  2. Jak vytvořit balíček RPM pro Linux

  3. Jak vytvořit balíček .deb z Github?