Portage

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 2.9.2020 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .
Portage

Portage-järjestelmän toiminta
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 Tree

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

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 .

live-paketit

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.

Apuohjelmat

revdep-rebuild

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.

maallikko

laymania käytetään peittokuvien yksinkertaistamiseen, jolloin voit lisätä, poistaa ja synkronoida peittokuvia yhdellä komennolla.

equery, eix, q

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

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 kB

Criticism of Portage

Hidas 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 .

etuosa

Katso myös

Linkit

  1. repo/gentoo.git . Haettu 6. toukokuuta 2022. Arkistoitu alkuperäisestä 5. joulukuuta 2021.
  2. Gentoo wiki Paludis Arkistoitu 2. elokuuta 2010.  (Englanti)
  3. Gentoo wiki Pkgcore Arkistoitu 11. syyskuuta 2009.  (Englanti)