Portage | |
---|---|
| |
Tyyppi | Paketinhallintajärjestelmä |
Tekijä | Zac Medico, Ned Ludd, Mike Frysinger, Mounir Lamouri |
Sisään kirjoitettu | Python |
Käyttöjärjestelmä | Gentoo Linux ja Gentoo/FreeBSD |
Ensimmäinen painos | 2006 |
Laitteistoalusta | POSIX-yhteensopiva / Python |
uusin versio | 3.0.30 [1] ( 12. joulukuuta 2021 ) |
Osavaltio | Jatkuvassa parantumisessa |
Lisenssi | GNU yleinen julkinen lisenssi v2 |
Verkkosivusto | gentoo.org/proj/en/porta… |
Mediatiedostot Wikimedia Commonsissa |
Portage on Gentoo Linuxin tärkein paketinhallintajärjestelmä . FreeBSD - porttijärjestelmän analogi . Se on joukko Python- ja Bash -apuohjelmia , jotka on suunniteltu helpottamaan ja virtaviivaistamaan ohjelmistojen asennusta lähdekoodeista tai binääripaketeista ottaen huomioon kaikki riippuvuudet.
Portagen pääkäyttöliittymä on konsoliohjelma, emergejonka avulla voit asentaa uusia paketteja, ottaen huomioon riippuvuudet ja mahdollisuuden hallita asennusvaihtoehtoja - esimerkiksi tuella tiettyjä toimintoja tai ilman tukea tarpeettomille toiminnoille (koontiasetukset ohjataan ns. USE-lippujen kautta), poista tarpeettomat paketit, päivitä asennetut paketit, synkronoi portage-puun kanssa ( rsync -protokollan avulla ) jne. Ohjelma ebuildtoimii matalan tason käyttöliittymänä Portagen kanssa ja emerge on korkean tason kääre sitä varten.
Portagen pääasetustiedosto on /etc/portage/make.conf. Se määrittää tärkeimmät kääntäjän asetukset ja lisäasetukset niiden käyttöä varten (esimerkiksi ccache , distcc ), USE-lippujen asettaminen, HTTP - välityspalvelin , FTP -välityspalvelin , SYNC, ACCEPT_KEYWORDS ja muut Portage-järjestelmän toiminnan kannalta tarpeelliset.
Muut järjestelmän asetustiedostot sijaitsevat /etc/portage/ja mahdollistavat portage-järjestelmän eri osien tarkemman konfiguroinnin.
Portage-puu sijaitsee yleensä hakemistossa /usr/portage/ja on järjestetty pakettien hakemistoluokkien järjestelmä (muotoa app-emacs, dev-php), joista jokainen sisältää yksittäisten pakettien hakemistot. Puussa jokainen paketti koostuu joukosta ebuildeja , paketin muutoslokitiedostosta , paketin metatietotiedostostametadata.xml ja mahdollisesti muutamista muista paketin rakentamiseen tarvittavista pienistä tiedostoista (kuten korjaustiedostot ).
Lisäksi portage-puu sisältää kaikki pakettien käyttämät lisenssit .
Hakemisto /usr/portage/distfiles/sisältää yleensä ohjelmistojakelutiedostoja , jotka ladataan paketin asennuksen aikana.
Peittokuvat ovat pakettikauppoja, jotka eivät sisälly pääportage-puuhun. Tämä sisältää yleensä uudemmat versiot ohjelmista tai ohjelmista, jotka eivät vielä ole virallisessa puussa, live-versiot, standardista poikkeavat laajennukset ja korjaukset. Peittokuvat voivat olla paikallisia - vain käyttäjän tietokoneessa. Yksi tapa käyttää paikallista peittokuvaa on asentaa ebuildeja , jotka eivät sisälly mihinkään julkiseen peittokuvaan, tai testata ebuildeja . Maallikon apuohjelmaa käytetään peittokuvien kanssa työskentelyn yksinkertaistamiseen .
Yleensä tiettyä ohjelman versiota asennettaessa ladataan asennettavaa versiota vastaava arkisto lähdekoodeilla. Live-pakettien tapauksessa lähdekoodit saadaan kyseisen ohjelman versionhallintajärjestelmästä. Siten live-pakettien avulla sinulla on uusin ohjelma. Tällaiset paketit ovat yleensä versiota 9999.
Jos ohjelmalla on useita kehityshaaroja, live-paketti voi käyttää myös muuta kuin päähaaraa. Esimerkiksi Qt - kirjastolle on olemassa live-paketteja, jotka vievät lähteet haarasta virallisiin versioihin 4.6, 4.7 ja "edistyneimpään" haaraan. Tällaisten pakettien versiot ovat 4.6.9999, 4.7.9999 ja 4.9999.
revdep-rebuild gentoolkit - paketista - käytetään dynaamisen linkityksen eheyden tarkistamiseen . Kirjastoja päivitettäessä ei ole harvinaista, että päivitetystä kirjastosta riippuva ohjelma tai muu kirjasto jatkaa viittaamista edelliseen versioon. Siten ohjelmien suorituskyky häiriintyy. Revdep-rebuild -apuohjelman avulla voit automaattisesti löytää tällaiset "rikkinäiset" ohjelmat ja kääntää ne uudelleen.
laymania käytetään peittokuvien yksinkertaistamiseen, jolloin voit lisätä, poistaa ja synkronoida peittokuvia yhdellä komennolla.
Equery- ja q - ohjelmia sekä eix -ohjelmasarjaa käytetään nopeuttamaan ja automatisoimaan yleisiä tehtäviä, kuten hakuja portage-puusta, luokkaan kuuluvien asennettujen pakettien luettelointi ja niin edelleen.
Esimerkki siitä, kuinka emerge-ohjelma toimii:
# 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 kBHidas siirtojärjestelmän nopeus sekä asennettujen ja päivitettyjen pakettien käänteisten riippuvuuksien huomioimatta jättäminen johtivat Paludis- projektin [2] luomiseen - Portagen korvikkeeseen, joka on kirjoitettu C ++ -kielellä ja jolla on suurempi työnopeus ja lisäominaisuuksia (jotka ovat kuitenkin enimmäkseen Portage 2.2.x:n epävakaissa versioissa). On myös pkgcore [3] -projekti .