Gentoo Logo

Pastaba : Šis dokumentas negalioja ir nebėra daugiau palaikomas.


[ << ] [ < ] [ Pagrindinis ] [ > ] [ >> ]


1. Rinkmenos ir katalogai

Turinys:

1.a. „Portage“ rinkmenos

Konfigūracijos nuorodos

Pagal nutylėjimą „Portage“ konfigūracija yra saugoma rinkmenoje /etc/make.globals. Pažiūrėję į ją pamatysite, kad visa „Portage“ konfigūracija yra nustatoma per kintamuosius. Kokie kintamieji valdo „Portage“ ir ką jie reiškia aprašyta žemiau.

Kadangi daugelis konfigūracijos nurodymų skiriasi skirtingoms architektūroms, „Portage“ taip pat turi konfigūracijos pagal nutylėjimą rinkmenas, kurios yra jūsų profilio dalis. Jūsų profilis yra nurodomas nuoroda /etc/make.profile; „Portage“ konfigūracija yra nustatyta jūsų profilio ir visų vyresnių profilių rinkmenose make.defaults. Mes paaiškinsime daugiau apie profilius ir katalogą /etc/make.profile vėliau.

Jeigu jūs planuojate pakeisti konfigūracinius kintamuosius, nekeiskite rinkmenų /etc/make.globals ar make.defaults. Vietoje to naudokite pirmumą prieš šias rinkmenas turinčią rinkmeną /etc/make.conf. Jūs taip pat rasite /usr/share/portage/config/make.conf.example. Kaip ir nurodo pavadinimas, tai yra pavyzdžių rinkmena - „Portage“ neskaito šios rinkmenos.

Jūs taip pat galite apibrėžti „Portage“ konfigūracinį kintamąjį kaip aplinkos kintamąjį, bet mes to nerekomenduojame.

Specifinė profilio informacija

Mes jau buvome užsiminę apie katalogą /etc/make.profile. Iš tikrųjų tai ne katalogas, o simbolinė nuoroda į profilį pagal nutylėjimą, esantį /usr/portage/profiles, tačau jūs galite susikurti savo profilius kur nors kitur ir nurodyti į juos. Profilis, į kurį nurodo ši simbolinė nuoroda, yra jūsų sistemos profilis.

Profilyje yra specifinė architektūros informacija skirta „Portage“, tokia kaip paketų, priklausančių sistemai, atitinkančiai jūsų profilį, sąrašas, neveikiančių ar užmaskuotų šiam profiliui paketų sąrašas ir t.t.

Specifinė naudotojo konfigūracija

Kai jūs norite pakeisti „Portage“ elgesį, susijusį su programinės įrangos diegimu, jums reikia redaguoti rinkmenas esančias /etc/portage. Jums labai rekomenduojama naudoti rinkmenas, esančias /etc/portage ir griežtai nepatariama keisti elgesį naudojant aplinkos kintamuosius!

Kataloge /etc/portage jūs galite sukurti šias rinkmenas:

  • package.mask, kurioje išvardinami paketai, kurių jūs nenorite leisti „Portage“ įdiegti
  • package.unmask, kurioje išvardinami paketai, kuriuos jūs norite idiegti, nors „Gentoo“ kūrėjai ir griežtai nepataria jums jų įsirašyti.
  • package.keywords, kurioje išvardinami paketai, kuriuos jūs norite įdiegti, nors jie ir nelaikomi tinkamais jūsų sistemai ar architektūrai (kol kas).
  • package.use, kurioje išvardinamos USE vėliavėlės, kurias jūs norite naudoti tam tikriems paketams, o ne visai sistemai.

Tai nebūtinai turi būti rinkmenos, gali būti ir katalogai, kuriuose būtų po rinkmeną kiekvienam paketui. Daugiau informacijos apie katalogą /etc/portage ir pilną sąrašą rinkmenų, kurias jūs galite jame sukurti, galite rasti „Portage“ žinyno puslapyje:

Kodo sąrašas 1.1: „Portage“ žinyno puslapio skaitymas

$ man portage

„Portage“ rinkmenų ir katalogų vietų pakeitimas

Anksčiau paminėtos konfigūracinės rinkmenos negali būti saugomos kur nors kitur - „Portage“ visada ieškos šių konfigūracinių rinkmenų būtent tose vietose. Tačiau įvairiems tikslams „Portage“ naudoja daug kitų vietų: kompiliavimo katalogą, pirminio kodo saugyklą, „Portage“ medžio vietą...

Visiems šiems tikslams pagal nutylėjimą yra skirtos gerai žinomos vietos, bet jos gali būti pakeistos pagal jūsų skonį naudojant rinkmeną /etc/make.conf. Likusi šio skyriaus dalis aiškina, kokias specialios paskirties vietas „Portage“ naudoja ir kaip jas pakeisti savo rinkmenų išdėstymo sistemoje.

Tačiau šis dokumentas nėra žinynas. Jeigu jums reikia 100% aprašymo, jums derėtų pasiskaityti „Portage“ ir make.conf žinynų puslapius:

Kodo sąrašas 1.2: „Portage“ ir make.conf žinynų puslapių skaitymas

$ man portage
$ man make.conf

1.b. Rinkmenų saugojimas

„Portage“ medis

„Portage“ medžio vieta pagal nutylėjimą yra /usr/portage. Tai apibrėžiama kintamuoju PORTDIR. Kai jūs išsaugojate „Portage“ medį kitur (pakeisdami šį kintamąjį), nepamirškite atitinkamai pakeisti ir /etc/make.profile simbolinės nuorodos.

Jeigu jūs pakeisite kintamąjį PORTDIR, jums taip pat vertėtų pakeisti šiuos kintamuosius, nes jie nepastebi PORTDIR pasikeitimo. Taip yra dėl „Portage“ kintamųjų valdymo būdo: PKGDIR, DISTDIR, RPMDIR.

Dvejetainiai paketai

Nors „Portage“ pagal nutylėjimą nenaudoja dvejetainių paketų, jiems ji turi platų palaikymą. Kai jūs pareikalausite „Portage“ dirbti su dvejetainiais paketais, ji ieškos jų kataloge /usr/portage/packages. Šią vietą nurodo kintamasis PKGDIR.

Pirminiai tekstai

Programos pirminiai tekstai pagal nutylėjimą yra įrašomi į katalogą /usr/portage/distfiles. Šią vietą nurodo kintamasis DISTDIR.

„Portage“ duomenų bazė

„Portage“ išsisaugo informaciją apie jūsų sistemos būklę (kokie paketai yra idiegti, kokiam paketui priklauso kokios rinkmenos, ...) kataloge /var/db/pkg. Neredaguokite šių rinkmenų rankiniu būdu! Tai gali sugadinti „Portage“ žinias apie jūsų sistemą.

„Portage“ podėlis

„Portage“ podėlis (su modifikavimo laikais, virtualais, priklausomybių medžio informacija, ...) yra kataloge /var/cache/edb. Ši vieta tikrai yra podėlis: jūs galite ją išvalyti, jeigu nevykdote jokios su „Portage“ susijusios programos.

1.c. Programinės įrangos kompiliavimas

Laikinosios „Portage“ rinkmenos

Laikinosios „Portage“ rinkmenos pagal nutylėjimą yra įrašomos į katalogą /var/tmp. Tai nurodo kintamasis PORTAGE_TMPDIR.

Jeigu jūs pakeisite kintamajį PORTAGE_TMPDIR, jums taip pat vertėtų pakeisti šiuos kintamuosius, nes jie nepastebi PORTAGE_TMPDIR pasikeitimo. Taip yra dėl „Portage“ kintamųjų valdymo būdo: BUILD_PREFIX.

Kompiliavimo katalogas

„Portage“ sukuria specialius kompiliavimo katalogus kiekvienam paketui ji įrašo kataloge /var/tmp/portage. Šią vietą nurodo kintamasis BUILD_PREFIX.

Veikiančios rinkmenų išdėstymo sistemos vieta

Pagal nutylėjimą „Portage“ įdiegia visas rinkmenas į esamą rinkmenų išdėstymo sistemą (/), bet jūs galite tai pakeisti aplinkos kintamuoju ROOT. Tai yra naudinga kai jūs norite sukurti naujus sistemos atvaizdus.

1.d. Žurnalizavimo savybės

Paketų žurnalizavimas

„Portage“ gali kurti žurnalizavimo rinkmenas kiekvienam paketui, bet tik kai kintamasis PORT_LOGDIR nurodo vietą, į kurią leidžiama rašyti „Portage“ (portage naudotojui). Pagal nutylėjimą šis kintamasis yra neapibrėžtas. Jeigu nenustatysite PORT_LOGDIR, negausite jokių kompiliavimo žurnalų, tačiau galite gauti kelis žurnalus iš naujojo elog. Jei esate apibrėžę PORT_LOGDIR ir naudojate elog, gausite kompiliavimo žurnalus ir bet kuriuos žurnalus, išsaugotus elog, kaip paaiškinta žemiau.

„Portage“ siūlo lankstų žurnalizavimo valdymą naudojant elog.

  • PORTAGE_ELOG_CLASSES: Čia jūs nustatote, kokios rūšies žinutės turėtų būti žurnalizuojamos. Galite naudoti tarpais atskirtų info, warn, error, log ir qa derinį.
    • info: Žurnalizuoja „einfo“ pranešimus, atspausdintus ebuild rinkmenos
    • warn: Žurnalizuoja „ewarn“ pranešimus, atspausdintus ebuild rinkmenos
    • error: Žurnalizuoja „eerror“ pranešimus, atspausdintus ebuild rinkmenos
    • log: Žurnalizuoja „elog“ pranešimus, esančius kai kuriose ebuild rinkmenose
    • qa: Žurnalizuoja „QA Notice“ pranešimus, atspausdintus ebuild rinkmenos
  • PORTAGE_ELOG_SYSTEM: Atrenkamas(-i) modulis(-iai) žurnalizavimo pranešimų apdorojimui. Jei paliktas tuščias, žurnalizavimas yra išjungtas. Galite naudoti bet kokį tarpais atskirtų save, custom, syslog, mail save_summary ir mail_summary derinį. Jūs privalote atrinkti bent vieną modulį, kad galėtumėte naudoti elog.
    • save: Išsaugo po vieną žurnalą paketui $PORT_LOGDIR/elog arba /var/log/portage/elog, jei $PORT_LOGDIR neapibrėžtas.
    • custom: Perduoda visus pranešimus kintamuoju $PORTAGE_ELOG_COMMAND naudotojo apibrėžtai komandai; tai aptarsime vėliau.
    • syslog: Siunčia visus pranešimus įdiegtam sistemos žurnalizavimo įrankiui.
    • mail: Perduoda visus pranešimus kintamuoju $PORTAGE_ELOG_MAILURI naudotojo apibrėžtam pašto serveriui; tai aptarsime vėliau. elog pašto funkcijoms reikalingas >=portage-2.1.1 paketas.
    • save_summary: Panašus į save, bet sulieja visus pranešimus rinkmenoje $PORT_LOGDIR/elog/summary.log arba /var/log/portage/elog/summary.log, jei $PORT_LOGDIR neapibrėžtas.
    • mail_summary: Panašus į mail, bet visus pranešimus išsiunčia vienu laišku, kai baigiasi diegimas.
  • PORTAGE_ELOG_COMMAND: Naudojama tik kai aktyvintas custom modulis. Čia nurodoma komanda žurnalizavimo pranešimų apdorojimui. Atkreipkite dėmesį, kad jūs galite panaudoti du kintamuosius: ${PACKAGE} yra paketo pavadinimas ir versija, o ${LOGFILE} yra absoliutusis kelias iki žurnalizavimo rinkmenos. Štai vienas galimas naudojimas:
    • PORTAGE_ELOG_COMMAND="/path/to/logger -p '\${PACKAGE}' -f '\${LOGFILE}'"
  • PORTAGE_ELOG_MAILURI: Čia yra nuostatos mail moduliui, tokios kaip adresas, naudotojas, slaptažodis, pašto serveris ir prievado numeris. Numatytoji nuostata yra "root@localhost localhost".
  • Štai pavyzdys smtp serveriui, kuris reikalauja naudotojo vardo ir slaptažodžio prisijungiant prie tam tikro prievado (numatytasis yra 25 prievadas):
    • PORTAGE_ELOG_MAILURI="naudotojas@kažkokia.sritis naudotojo_vardas:slaptažodis@smtp.kažkokia.sritis:995"
  • PORTAGE_ELOG_MAILFROM: Leidžia nustatyti laukelyje „kas“ („from“) rodomą adresą žurnalų laiškuose; jei nenustatytas, numatytoji reikšmė yra „portage“.
  • PORTAGE_ELOG_MAILSUBJECT: Leidžia sukurti temos (subject) eilutę žurnalų laiškams. Atkreipkite dėmesį, kad jūs galite panaudoti du kintamuosius: ${PACKAGE} parodys paketo pavadinimą ir versiją, o ${HOST} yra kompiuterio, kuriame yra paleista „Portage“, pilnas sudėtinis srities vardas (fully qualified domain name).
  • Štai vienas galimas naudojimas:
    • PORTAGE_ELOG_MAILSUBJECT="paketas \${PACKAGE} įdiegtas \${HOST} su keliais pranešimais"

Svarbu: Jeigu jūs su „Portage“ 2.0.* naudojote enotice, turite visiškai pašalinti enotice, kadangi ji nėra suderinama su elog.


[ << ] [ < ] [ Pagrindinis ] [ > ] [ >> ]


Spausdinti

Žiūrėti visą

Atnaujinta 2009 sausio 20

Šio dokumento originalas paskutinį kartą buvo atnaujintas 2013 vasario 9

Santrauka: Jeigu norite detaliai žinoti „Portage“, jūs turite žinoti, kur ji saugo savo rinkmenas ir duomenis.

Sven Vermeulen
Autorius

Grant Goodyear
Autorius

Roy Marples
Autorius

Daniel Robbins
Autorius

Chris Houser
Autorius

Jerry Alexandratos
Autorius

Seemant Kulleen
„Gentoo“ x86 Plėtotojas

Tavis Ormandy
„Gentoo“ Alpha Plėtotojas

Jason Huebel
„Gentoo“ AMD64 Plėtotojas

Guy Martin
„Gentoo“ HPPA Plėtotojas

Pieter Van den Abeele
„Gentoo“ PPC Plėtotojas

Joe Kallar
„Gentoo“ SPARC Plėtotojas

John P. Davis
Redaktorius

Pierre-Henri Jondot
Redaktorius

Eric Stockbridge
Redaktorius

Rajiv Manglani
Redaktorius

Jungmin Seo
Redaktorius

Stoyan Zhekov
Redaktorius

Jared Hudson
Redaktorius

Colin Morey
Redaktorius

Jorge Paulo
Redaktorius

Carl Anderson
Redaktorius

Jon Portnoy
Redaktorius

Zack Gilburd
Redaktorius

Jack Morgan
Redaktorius

Benny Chuang
Redaktorius

Erwin
Redaktorius

Joshua Kinard
Redaktorius

Tobias Scherbaum
Redaktorius

Xavier Neys
Redaktorius

Joshua Saddler
Redaktorius

Gerald J. Normandin Jr.
Apžvalgininkas

Donnie Berkholz
Apžvalgininkas

Ken Nowack
Apžvalgininkas

Lars Weiler
Pagalbininkas

Ernestas Liubarskij
Vertėjas

Elvinas Piliponis
Vertėjas

Mantas Povilaitis
Vertėjas

Donatas Puidokas
Vertėjas

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.