Dopravné

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 2. září 2020; kontroly vyžadují 5 úprav .
Dopravné

Provoz systému Portage
Typ Systém správy balíků
Autor Zac Medico, Ned Ludd, Mike Frysinger, Mounir Lamouri
Zapsáno v Krajta
Operační systém Gentoo Linux a Gentoo/FreeBSD
První vydání 2006
Hardwarová platforma Kompatibilní s POSIX / Python
Nejnovější verze 3.0.30 [1] ( 12. prosince 2021 )
Stát V neustálém zlepšování
Licence GNU General Public License v2
webová stránka gentoo.org/proj/en/porta…
 Mediální soubory na Wikimedia Commons

Portage  je hlavní systém správy balíků pro Gentoo Linux . Analog systému portů FreeBSD . Jedná se o sadu utilit v Pythonu a Bash , navržených pro usnadnění a zefektivnění instalace softwaru ze zdrojových kódů nebo binárních balíčků s přihlédnutím ke všem závislostem.

Hlavním uživatelským rozhraním Portage je konzolový program emerge, který umožňuje instalovat nové balíčky s přihlédnutím k závislostem a s možností ovládat možnosti instalace - například s podporou určitých funkcí nebo bez podpory nepotřebných funkcí (možnosti sestavení jsou ovládány prostřednictvím tzv. USE příznaků), odstraňovat nepotřebné balíčky, aktualizovat nainstalované balíčky, synchronizovat se stromem portage (pomocí protokolu rsync ) atd. Program ebuildslouží jako nízkoúrovňové rozhraní k Portage a emerge je to vysokoúrovňový wrapper pro to.

Hlavním konfiguračním souborem Portage je /etc/portage/make.conf. Konfiguruje hlavní možnosti kompilátoru a další možnosti jejich použití (například pomocí ccache , distcc ), nastavení příznaků USE, HTTP proxy , FTP proxy , SYNC, ACCEPT_KEYWORDS a dalších nezbytných pro chod systému Portage.

Další konfigurační soubory systému jsou umístěny v /etc/portage/a umožňují jemnější konfiguraci různých aspektů systému portage.

Portage Tree

Strom portage se obvykle nachází v adresáři /usr/portage/a je uspořádaným systémem adresářů-kategorií balíčků (ve tvaru app-emacs, dev-php), z nichž každý obsahuje adresáře jednotlivých balíčků. Ve stromu se každý balíček skládá ze sady ebuilds , souboru Changelog balíčku , metadata.xmlsouboru metadat balíčku a případně několika dalších malých souborů potřebných k sestavení balíčku (jako jsou záplaty ).

Kromě toho strom portage ukládá všechny licence používané balíčky.

Adresář /usr/portage/distfiles/obvykle obsahuje soubory distribuce softwaru , které se stahují během instalace balíčku.

Překryvy

Překryvy jsou úložiště balíčků, která nejsou zahrnuta v hlavním stromu portage. To obvykle zahrnuje novější verze programů nebo ty programy, které ještě nejsou v oficiálním stromu, živé verze, nestandardní rozšíření a záplaty. Překryvy mohou být lokální – přítomné pouze na počítači uživatele. Jedním ze způsobů použití lokálního překrytí je instalace ebuild , která nejsou zahrnuta v žádném veřejném překrytí, nebo testování ebuild . Pro zjednodušení práce s překryvy se používá utilitka pro laiky .

živé balíčky

Obvykle se při instalaci určité verze programu stáhne archiv se zdrojovými kódy, který odpovídá instalované verzi. V případě živých balíčků jsou zdrojové kódy získávány z verzovacího systému daného programu. Živé balíčky vám tedy umožňují mít nejaktuálnější program. Takové balíčky jsou obvykle verze 9999.

V případě, že existuje více vývojových větví programu, může živý balíček používat i větev, která není hlavní. Například pro knihovnu Qt existují živé balíčky, které přebírají zdroje z větve do oficiální verze 4.6, 4.7 a nejpokročilejší větve. Takové balíčky mají verze 4.6.9999, 4.7.9999 a 4.9999.

Utility

revdep-rebuild

revdep-rebuild z balíku gentoolkit  - používá se ke kontrole integrity dynamického linkování . Při aktualizaci knihoven není neobvyklé, že program nebo jiná knihovna, která závisí na aktualizované, nadále odkazuje na předchozí verzi. Tím je narušena výkonnost programů. Obslužný program revdep-rebuild vám umožňuje automaticky najít takové "rozbité" programy a znovu je zkompilovat.

laik

Laik se používá pro zjednodušení práce s překryvy, umožňuje přidávat, odebírat a synchronizovat překryvy pomocí jediného příkazu.

equery, eix, q

Programy equery a q , stejně jako sada programů eix , se používají k urychlení a automatizaci běžných úloh, jako je prohledávání stromu portage, výpis nainstalovaných balíčků, které patří do kategorie a tak dále.

Příklad

Příklad toho, jak program emerge funguje:

# emerge -pv postfix These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] mail-mta/postfix-2.3.6 USE="hardened mysql pam ssl -cdb -dovecot-sasl -ipv6 -ldap -mailwrapper -mbox -nis -postgres -sasl (-selinux) -vda" 2,719 kB [blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.3.6) Total: 1 package (1 new, 1 block), Size of downloads: 2,719 kB

Kritika Portage

Pomalá rychlost systému přenosu , stejně jako nedostatek zohlednění zpětných závislostí nainstalovaných a aktualizovaných balíčků, vedly k vytvoření projektu Paludis [2]  - náhrada za Portage, napsané v C++ a mající vyšší rychlost práce a další funkce (které jsou však většinou přítomné v nestabilních verzích Portage 2.2.x). Existuje také projekt pkgcore [3] .

přední část

Viz také

Odkazy

  1. repo/gentoo.git . Získáno 6. května 2022. Archivováno z originálu dne 5. prosince 2021.
  2. Gentoo wiki Paludis Archivováno 2. srpna 2010.  (Angličtina)
  3. Gentoo wiki Pkgcore Archivováno 11. září 2009.  (Angličtina)