Jak na balíčky DEB v RPM systému (a obráceně)

Ačkoli naprostá většina softwaru pro linuxový systém je zpravidla dostupná v repozitářích přímo v balíčcích, může se stát, že narazíme na software různých společností (třeba i komerčního rázu), který sice bude distribuovaný jako balíček, ale jen pro určitou skupinu distribucí, čímž mám namysli distribuce používající balíčkovací systém RPM nebo DEB. Jak pak postupovat při nesouladu obou typů?

Sám používám samozřejmě openSUSE, které používá RPM balíčkovací systém. Stalo se mi teď ale, že jsem chtěl vyzkoušet jeden účetní software pro Linux, ale je od výrobce dostupný pouze jako balíček DEB, tedy pro distribuce Debian, Ubuntu, Danix a další. Musím tedy z balíčku DEB vyrobit balíček RPM. Jak na to?

Nainstalujte si balíček deb (nástroje pro práci s debiánskými balíčky) a balíček alien (skript na konverzi balíčků).

Spusťte konzoli, přihlašte se jako root pomocí příkazu su (konverzi musíme spouštět jako root aby měl výsledný balíček příslušná práva pro následnou instalaci), zadejte heslo roota, spusťte Midnight Commander příkazem mc, nalistujte v něm složku s debiánským balíčkem, který budete chtít převést, ukončete Midnight Commander pomocí klávesy F10 a spusťte následující příkaz:

alien --to-rpm jméno-balíčku.deb

Dle velikosti původního balíčku a výkonu vašeho počítače bude konverze chvilku trvat. Po úspěšné konverzi se v původním adresáři nově objeví balíček se stejným názvem jako měl balíček původní, s tím, že bude mít příponu RPM.

Samozřejmě v případě potřeby můžete uskutečnit převod i obráceně a z balíčku RPM udělat balíček DEB. Jako v předchozím případě spustíte nyní mírně modifikovaný příkaz:

alien --to-deb jméno-balíčku.rpm

To je základní příkaz, ale kvůli obsahu skriptů v původním balíčku *.deb je někdy dobré zařadit i parametr --scripts (na tuto skutečnost budete i upozorněni), ale měli bychom vědět, co ony skripty dělají a zda jsou vůbec určeny pro naši distribuci. Příkaz pak bude vypadat takto:

alien --scripts --to-rpm jméno-balíčku.deb

Pro zkušenější uživatele doporučuji prostudovat manuálové stránky Alienu. Například si je můžete v konzoli spustit příkazem:

man alien

A to je vše.

Autor: Aidamos

Komentáře

Aidamos odpověděl -

Poznámka: název balíčku samozřejmě nemusíte celý datlovat, stačí napsat první dvě tři písmenka z jeho názvu a stisknout klávesu Tab (tabulátor), který název celého balíčku sám doplní.

Aidamos odpověděl -

Vždyť to v tom článku píšu! Jsou potřeba dva následující balíčky z repozitářů: deb a alien. Nic víc.

vladano odpověděl -

Předpokládám, že jde o WinStrom 10 :). Jak funguje??

--
Let's talk about s.x - Suse linuX ;o)

JirkaZ odpověděl -

uvítali informaci, zda RPM balíček bude funkční v SUSE ;-) Ale na homepage píšete, že ano, takže snad to tak bude...

Update: aha, teď tam vidím, že je přímo verze pro SUSE (*noarch*.rpm)...

Jinak je škoda, že nemáte software i pro daňovou evidenci (dříve jednoduché účetnictví), samozřejmě též pro Linux.

fers odpověděl -

Dobrý den,

daňovou evidenci připravujeme.

S pozdravem

Petr Ferschmann

JirkaZ odpověděl -

nemístně zde, ale třeba to bude zajímat i někoho dalšího:

bude ona DE i s fakturací, skladovým hospodářstvím, evidencí majetku, knihou jízd atd. a s možností vypnout všechny funkce týkající se DPH (pro neplátce DPH) a tím zjednodušit všechny formuláře? Takovým typickým uživatelem je třeba servisní pracovník na volné noze... Bude navíc třeba i s importem/exportem existujících dat přes něco průhledného, např. *.csv?

Příkladem budiž třeba tento program (nějak funguje ve Wine, ale zatím se na to 100% nemůžu spolehnout a tak musím v podstatě jen kvůli tomu držet Windows)...

JirkaZ odpověděl -

na mysli tohle, tak to mi nějak uniklo (a nejsem Američan ;-) )...

No a pan Ferschmann chybu na té stránce nemá - kde? Myslíte to, že na SUSEportálu prosí o otestování v jiných distribucích a SUSE už přitom testoval? To snad nevadí, navíc zkoušel pouze zatím nedotaženou verzi 11...

Ilfirin odpověděl -

jsem namysli přesně tohle.

Tamten odkaz jsem dal pouze, že jste měl obavy, že váš dotaz je nemístný. Tak tam bude vícemístný ;-)

PS.: Mrkněte do mailu

Ilfirin odpověděl -

Taky jsem na tu houmpejdž koukal. Dost mě překvapilo noarch. Tak jsem koukl pod kapotu a je to Java program. V tohmle člověk před Javou musí smeknout. No a vzhledem k tomu, že je to Java binárka, tak převod balíčků opravdu není problém (stačí rozhodit soubory a dát ikonku). Tedy přímo SUSE balíček by ani potřeba nebyl.