GNU/Linux >> Znalost Linux >  >> Linux

Jak převést balíčky Linuxu s Alienem

Vývojáři a správci balíčků nemusí vždy vytvářet balíčky pro všechny distribuce Linuxu. Některé balíčky mohou být dostupné pouze pro konkrétní platformu Linux. V takových případech můžete použít nástroje pro převod balíčků, jako je Alien snadno převádět balíčky Linuxu do různých formátů. V této příručce uvidíme, co je Alien, jak nainstalovat Alien v různých operačních systémech Linux a jak převést linuxový balíček z jednoho formátu do druhého pomocí Alien package converter.

Co je mimozemšťan?

Alien je konvertor balíčků příkazového řádku, který převádí mezi různými formáty balíčků pro Linux, jako je Red Hat rpm, Debian deb, Stampede slp, Slackware tgz a Solaris pkg atd.

Alien aktuálně podporuje následující formáty balíčků:

  • Linux Standard Base (LSB),
  • V souladu s LSB .rpm balíčky,
  • .deb ,
  • Stampede (.slp ),
  • Solaris (.pkg )
  • Slackware (.tgz , .txz , .tbz , .tlz ).

Mimozemské programy přicházejí na pomoc, když konkrétní balíček nebo konkrétní verze balíčku není k dispozici pro vaši distribuci Linuxu. Takový balíček můžete snadno převést na preferovaný formát balíčku pomocí Alien a nainstalovat jej do vašeho systému.

Alien není jen převaděč balíčků, umí také automaticky instalovat vygenerované balíčky po konverzi balíčků. Může mít dokonce možnost převést skripty, které se mají spouštět při instalaci balíčku. Při použití této možnosti musíte být opatrní. Před použitím této možnosti byste měli skripty pečlivě prozkoumat a zkontrolovat, co tyto skripty dělají.

Pozor: Alien by se neměl používat ke konverzi důležitých systémových balíčků, jako je init , libc , které jsou nezbytné pro fungování vašeho systému Linux. Systémové balíčky, které jsou speciálně navrženy pro konkrétní distribuci Linuxu, nelze používat zaměnitelně a mohou poškodit váš systém, pokud se je pokusíte násilně nainstalovat.

Nainstalujte Alien v Linuxu

Převaděč balíčků Alien je dostupný ve výchozích úložištích populárních distribucí Linuxu.

Chcete-li nainstalovat Alien v Alpine Linux, spusťte:

$ sudo apk add alien

Nainstalujte Alien v Debianu, Ubuntu LTS, Linux Mint, Pop!_OS:

$ sudo apt install alien

Nainstalujte Alien ve Fedoře:

$ sudo dnf install alien

Nainstalujte Alien v CentOS 8, RHEL 8, AlmaLinux 8, Rocky Linux 8:

$ sudo dnf install epel-release
$ sudo dnf install alien

Převeďte balíčky Linuxu pomocí Alien

Obecná syntaxe pro převod linuxových balíčků pomocí Alien z jednoho formátu do druhého je:

alien [--to-deb] [--to-rpm] [--to-tgz] [--to-slp] [options] file [...]

Převádění balíčků pomocí Alien je velmi snadné!

Chcete-li převést .rpm zabalit do .deb balík, jednoduše spusťte alien jako root nebo sudo uživatel:

$ sudo alien --to-deb /path/to/file.rpm

Podobně pro převod .deb soubor do .rpm , spustit:

$ sudo alien --to-rpm /path/to/file.deb

Zde je seznam podporovaných příznaků pro převod linuxových balíčků do různých formátů.

  • -d , --to-deb - Vytvářejte balíčky debianu. Toto je výchozí.
  • -r , --to-rpm - Vytvářejte balíčky rpm.
  • -l , --to-lsb - Vytvořte balíček LSB.
  • -t , --to-tgz - Vytvořte balíčky tgz.
  • --to-slp - Vytvořte slp balíčky.
  • -p , --to-pkg - Vytvářejte balíčky pkg Solaris.

Podívejme se na několik příkladů. Pro účely této příručky budu používat hello world .rpm balík. Vezměte prosím na vědomí, že hello balíček je zabalen pro téměř všechny distribuce Linuxu. Nemusíte to tedy převádět. Používám to jen pro demonstraci.

Převeďte balíčky RPM na balíčky DEB pomocí Alien

Nyní převedeme balíček hello rpm na .deb formát pomocí Alien jako níže:

$ sudo alien --to-deb hello-2.10-5.fc34.x86_64.rpm

Nebo zakrátko

$ sudo alien -d hello-2.10-5.fc34.x86_64.rpm

Tím se převede daný .rpm zabalit do .deb balíček a uložte vygenerovaný balíček do aktuálního adresáře.

Pozor: Pokud není zadán žádný příznak, Alien převede balíčky na .deb formát ve výchozím nastavení.

Vygenerovaný balíček můžete nainstalovat pomocí výchozího správce balíčků.

Můžeme také převést více balíčků najednou. Následující příkaz převede dané balíčky (hello &vim) na .deb formát.

$ sudo alien hello-2.10-7.x86_64.rpm vim-enhanced-8.2.2637-1.fc34.x86_64.rpm 

Převeďte DEB balíčky na RPM balíčky pomocí Alien

Podobně můžeme převést .deb zabalte do .rpm soubor balíčku jako níže:

$ sudo alien --to-rpm hello-2.10-5.fc34.x86_64.rpm

Nebo zakrátko

$ sudo alien -r hello-2.10-5.fc34.x86_64.rpm

Automatická instalace balíčků

Někdy možná budete chtít nainstalovat vygenerované balíčky automaticky.

Chcete-li převést balíček a nainstalovat jej automaticky pomocí Alien, použijte -i vlajka.

$ sudo alien -d -i hello-2.10-7.x86_64.rpm 

Tento příkaz převede daný balíček .rpm na formát balíčku .deb a poté jej nainstaluje a nakonec vygenerovaný balíček odstraní.

Ukázkový výstup:

	dpkg --no-force-overwrite -i hello_2.10-8_amd64.deb
Selecting previously unselected package hello.
(Reading database ... 52712 files and directories currently installed.)
Preparing to unpack hello_2.10-8_amd64.deb ...
Unpacking hello (2.10-8) ...
Setting up hello (2.10-8) ...
Processing triggers for man-db (2.9.4-2) ...

Převést na více formátů balíčků

Alien dokáže vytvořit více formátů souborů balíčku z jednoho souboru balíčku. Následující příklad ukazuje, jak vytvořit .deb a .tgz balíčky z .rpm soubor.

$ sudo alien --to-deb --to-tgz hello-2.10-7.x86_64.rpm

Zachovat čísla verzí

Ve výchozím nastavení Alien přidá jedničku k číslu vedlejší verze každého balíčku, který převádí. Pokud je například číslo verze 1.2-3, Alien přidá jedničku k vedlejší verzi a změní ji na 1.2-4.

Podívejte se na následující výstup příkazu.

$ sudo alien --to-deb hello-2.10-7.x86_64.rpm 
hello_2.10-8_amd64.deb generated

Verze zdrojového balíčku ve výše uvedeném příkazu je 2.10.7. Po konverzi balíčku Alien změnil vedlejší verzi ze 7 na 8 v cílovém souboru.

Pokud nechcete, aby Alien změnil číslo verze, použijte -k , --keep-version příznak zachovat původní číslo verze ve vygenerovaném balíčku.

$ sudo alien -k --to-deb hello-2.10-7.x86_64.rpm 
hello_2.10-7_amd64.deb generated

Jak vidíte výše, zdrojový soubor a cíl mají stejné číslo verze.

Získání nápovědy

Chcete-li zobrazit stručný popis Vetřelce a všech podporovaných obecných možností, přejděte k části Nápověda Vetřelce spuštěním následujícího příkazu:

$ alien --help

Podívejte se také na manuálovou stránku.

$ man alien

Závěr

Neposkytnu žádné ujištění o přesnosti konvertoru Alien. Testoval jsem pouze několik balíčků, jako je Vim, Hello world a Nano. Pokud jsem testoval, Alien mi v Debianu 11 funguje dobře.

Pravděpodobně to nebude fungovat pro některé balíčky, které závisí na velkém počtu závislostí. Výsledek se může lišit balíček od balíčku.

V takových případech je možná budete muset sestavit ze zdroje ručně nebo pomocí jiných spolehlivých aplikací, jako je CheckInstall nebo Fpm . Doporučuji vám podívat se do následujících zdrojů, kde se dozvíte, jak sestavit balíčky ze zdroje.

  • Jak sestavit balíčky Debianu ze zdroje
  • Jak sestavit balíčky ze zdroje pomocí CheckInstall
  • Jak snadno vytvářet balíčky Linuxu pro více platforem
  • Znovu vytvořte binární balíčky Debianu, které jsou již nainstalovány v systému
  • Jak převést balíčky DEB na balíčky Arch Linux

Doufám, že to pomůže.


Linux
  1. Jak sestavit rpm balíčky

  2. Jak odstranit osiřelé balíčky na CentOS Linux

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

  1. Správa balíků Linux pomocí apt

  2. Jak používat XBPS Package Manager na Void Linux

  3. Jak převést PDF do JPG pomocí příkazového řádku v Linuxu?

  1. Správa linuxových balíčků s dnf

  2. Jak používat pkgsrc na Linuxu

  3. Jak se dotazovat na informace o balíčcích pomocí správce balíčků rpm