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.