Portage (szoftver)

csomagkezelő szoftver From Wikipedia, the free encyclopedia

Portage (szoftver)
Remove ads

A Portage egy csomagkezelő rendszer, melyet eredetileg a Gentoo számára fejlesztettek ki, de ma már számos Gentoo alapú rendszer használja. A Gentoora gyakorta meta disztribúcióra hivatkoznak a Portage rendszer extrém flexibilitása miatt, ami operációs rendszer függetlenné teszi a Gentoot.[2][3][4]

Gyors adatok
Remove ads

Történelmi áttekintés

A Portage rendszert a Berkeley Software Distribution által kifejlesztett FreeBSD port rendszer inspirálta, melyet a rendszer karbantartásához és frissítéséhez fejlesztettek ki. Az általános Linux csomagkezelők általi megközelítéssel ellentétben a port nem használ bináris csomagokat, hanem egy forrásból mindent a helyi gépen fordít le.[5]

Daniel Robbins a Gentoo Linux megalkotója a kezdetekben egy 450 MHz-es órajelre tuningolt Celeron 300-ason futtatta a Linuxait, de vett egy újabb gépet, amin nem működött megfelelően a rendszer. Később realizálódott benne, hogy másoknak is ugyanilyen gondjai vannak, amit nem tud megoldani és - szégyenszemre, mint Linux fejlesztő - FreeBSD-re váltott, majd néhány hónap múlva a BSD-s tapasztalatokkal felvértezve újult erővel vágott bele a Gentoo fejlesztésébe.[5][6]

Noha a 2.2-es Linux kernel kiadása csalódás volt számára, a javított 2.4-es szériával úgy érezte új világ nyílt meg előtte, szóval a Gentoo Linux feléledt hamvaiból. E kudarcnak és a BSD-nek hála ekkor vágott bele a portage koncepcióba, ami a Gentoo disztribúciók nélkülözhetetlen alapkellékévé vált.[5]

Remove ads

Jellemzők

Thumb
Portage fa (részlet)

A Portage rendszer alapja a metafájlokból és ebuildekből álló Portage fa, mely konfigurációs, forrás letöltési, fordítási és telepítési információt tartalmaznak.

Ez az a megközelítés, amit a Gentoo esetében is használtak, amely nagyfokú rugalmasságot enged meg a telepítés során éppúgy, mint a szoftverek karbantartása területén. Erről a flexibilitásról a fordítási időben használható un. USE flagek gondoskodnak, melyek lehetővé teszik a függőségek kezelését, biztonságos telepítést (sandbox-on keresztül), a rendszer profilok használatát, vagy éppen a teleptett fájlok felülírását, vagy megőrzését. A Portage rendszert Python nyelven programozták.[7]

A Portage fát a teljesség igénye nélkül két fő részre bonthatjuk 1) profilokra, melyek az architektúra és felhasználási terület szerinti alapbeállításokat tartalmazza ill. 2) az ebuild könyvtárfára, mely egy kategória és azon belül egy csomagnév könyvtárra bontható.

Jelen pillanatban közel 20 000 csomag található a hivatalos Portage rendszerben, de léteznek nem hivatalos kiterjesztések is (Gentoo Portage Overlays), sőt a rendszer azt is megengedi, hogy saját magunk is létrehozzunk egyet a Layman repo menedzselő eszköz jóvoltából.[8]

ebuildek

Az ebuild egy bash szkript, melyet szoftverek fordításának és telepítésének automatizálására terveztek.

Az ebuildek szkript természetük miatt könnyen szerkeszthetőek és elképesztő rugalmasságot nyújtanak, amivel lehetővé válik bináris csomagok telepítése éppúgy, mint források tetszőleges paraméterekkel történő fordítása amellett, hogy a függőségek kezelése megoldott.

Egy példa az ebuild fájlra:

# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="6"
ETYPE="sources"
K_WANT_GENPATCHES="base extras experimental"
K_GENPATCHES_VER="40"

inherit kernel-2
detect_version
detect_arch

KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
HOMEPAGE="https://dev.gentoo.org/~mpagano/genpatches"
IUSE="experimental"

DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI}"

pkg_postinst() {
        kernel-2_pkg_postinst
        einfo "For more info on this patchset, and how to report problems, see:"
        einfo "${HOMEPAGE}"
}

pkg_postrm() {
        kernel-2_pkg_postrm
}

Portage parancsok

A portage egy komplett szinkronizációs fordító és telepítő csomagrendszer összessége, így a teljes kihasználásához több parancs ismerete szükséges.

  • emerge: általános telepítő és kereső program (a legtöbb esetben csak ennek a használata szükséges)
    • a rendszer frissítése és tisztítása után érdemes futtatni a @preserved-rebuild gyűjtemény újratelepítését, mely segít a rendszer konzisztenciájának megőrzésében
    • a kernel fordítása után a @module-rebuild, az X fordítása után az @x11-module-rebuild gyűjtemény telepítése célszerű
  • revdep-rebuild: a rebuild gyűjteményeken felül ellenőrzi és javítja a rendszer integritását
  • equery: részletes csomagelemző, kereső program (ritkán használt, komplett csomagrendszerek pl. kde maszkolásánál, vagy fájlok keresésénél hasznos)
  • elclean: a portage tisztító alkalmazása (hasznos, ha kevés helyünk van)
  • genlop: a portage log-fájljainak elemzésére szolgál (a telepítési időtartamok megbecslésére kiválóan alkalmas)

emerge

A Portage rendszer legfontosabb parancsa az emerge. Ezzel lehet a tükörszerverről szinkronizálni az aktuális Portage könyvtárat, telepíteni, csomagok között keresni és még sok minden mást. A legfontosabb parancsokat - ami nélkül a portage rendszer karban tartása elképzelhetetlen - a következő táblázat szemlélteti:

További információk szükséges jogosultság, parancs ...

revdep-rebuild

A függőségek ellenőrzésére és a rendszer integritásának javítására szolgáló parancs működését a következő táblázat mutatja:

További információk szükséges jogosultság, parancs ...

equery

A részletes keresésre és reguláris kifejezések általi telepítésre ad lehetőséget ez a parancs. A következő táblázat néhány ötletet tartalmaz kedvcsinálónak.

További információk szükséges jogosultság, parancs ...

eclean

A források, vagy a bináris csomagok törlését segíti elő.

További információk szükséges jogosultság, parancs ...

genlop

A log-fájlok tartalmának elemzésére, abból számított kalkulációk készítésére alkalmas.

További információk szükséges jogosultság, parancs ...

Képgaléria

Konfiguráció

Thumb
Példa a konfigurációs könyvtárstruktúrára

A Portage konfigurációs fájljai a /etc/portage könyvtárban találhatóak.[9] Az ebuild információk központilag (/etc/portage/make.conf fájlban), vagy csomagonként (/etc/portage/package.* fájlokban, vagy könyvtárakban) felülírhatóak.

USE flagek

A USE flagek lehetővé teszik a csomagfüggőségek kezelését. Mivel a függőségek kezelése fordítási időben történik, ezért a bináris rendszerekkel ellentétben lehetőség van nem kívánt függőségek elhagyására is, amivel sokkal testre szabottabb rendszer állítható elő.

A USE flagek használhatóak egyedi csomagokra parancssorban, /etc/portage/package.use fájlban, vagy központilag a /etc/portage/make.conf fájlban. A USE flag előjel nélküli használatával a függőség beépítésre kerül, amíg negatív előjellel eltávolításra, ezzel felülírva az ebuild fájl vonatkozó utasításait.

make.conf

A /etc/portage/make.conf fájlban állíthatóak be az alapvető optimalizációs paraméterek, architektúra kiválasztása valamint a globálisan alkalmazott USE flagek, maszkolások.

Példa a make.conf fájlra:

CHOST="x86_64-pc-linux-gnu"           # amd64 bites rendszer
CFLAGS="-march=sandybridge -O2 -pipe" # optimalizáció egy Sandy Bride-hez
CXXFLAGS="${CFLAGS}"

# a make 5 szálon fusson (ált. magok száma + 1)
MAKEOPTS="-j5"

# nyelvi beállítások
L10N="hu en de hu-HU en-GB en-US de-DE"
LANG="hu_HU.UTF-8"

# soha ne használjon gtkv2-t és mindig használjon qtv5-öt, ha lehet
USE="-gtk2 qt5"

# az ideiglenes fordítási könyvtár legyen a memóriában (ez nagy memóriát igényelhet)
PORTAGE_TMPDIR="/dev/shm/"

# néhány videókártya drájver
VIDEO_CARDS="intel i965 modesetting nvidia"

# a Google Chrome licence legyen automatikusan elfogadva
ACCEPT_LICENSE="google-chrome"

package.*

Ha a csomagokat egyesével akarjuk konfigurálni, akkor használjuk a /etc/portage/package.* fájlokat, vagy, ha túl sok bennük az információ, akkor még a jobb áttekinthetőség kedvéért /etc/portage/package.* könyvtárakat és abban elhelyezett bármilyen nevű fájlokat.

Ezen fájlok némelyikében használhatóak az architektúrák (x86, amd64 stb.) és mindegyikében a kategória és a csomagnevek ill. ezek pontos, vagy rész verziószámai.Ezen felül verzió megadása esetén a relációs jelekkel (=, <, >, >=, <=) meglehetősen rugalmasan használható a konfiguráció.

További információk fájl, vagy könyvtárnév, leírás ...

Bővebb információ a lehetőségekről a Portage rendszer konfigurációs könyvtáráról szóló weblapon.

Remove ads

Grafikus frontendek és kiegészítők

Thumb
Porthole v0.6.1 Gtk+ frontend működés közben

A Portage egy önmagában jól használható parancssori rendszer, de léteznek hozzá grafikus frontendek és egyéb kiegészítő alkalmazások.

  • Kuroo: KDELibs4/Qt4 alapú grafikus frontend
  • Porthole: Gtk+ alapú grafikus frontend
  • elogviewer: PyQt alapú elog megjelenítő
  • gentoo-syntax: szintaxis kiemelő vim plugin a Gentoo és a Portage rendszer fájljaihoz

További információk

Remove ads

Források

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads