Portage/hu

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Portage and the translation is 100% complete.
See also
A portage egy nagyon fejlett csomagkezelő, amely a legnagyobb tisztelettel kezeli a felhasználó kívánságait. Néha túl sok bizalom van vetve a felhasználóba, ezért lehet, hogy Ön inkább a Portage súgót keresi, nem ezt a cikket.

A Portage a Gentoo hivatalos csomagkezelője és terjesztési (disztribúciós) rendszere. A Gentoo-alapú operációs rendszerek szíveként funkcionál. Fejlett függőségi feloldást, szoftverek forrásból vagy bináris csomagokból történő rugalmas felépítését és telepítését a Portage végzi. Továbbá, a legtöbb egyéb alapvető disztribúciós funkciókat is mind ő hajtja végre.

A Portage szoftvert biztosít a Gentoo ebuild tárolóból, minden további ebuild tárolóból, vagy binhostból. A Portage számos parancsot tartalmaz a tár- és csomagkezeléshez, amelyek közül az elsődleges az emerge parancs.

Néhány gyakori kérdés a portage és az emerge paranccsal kapcsolatban már meg van válaszolva a GYIK -ben és a Portage GYIK -ben.

Tip
A napi szintű használat során az emerge, az emaint, és a dispatch-conf portage parancsok lesznek a leggyakrabban futtatva. A felsorolt parancsok bővebb leírásáért kérem, keresse meg a dokumentációban a parancsokra vonatkozó részeket.
See also
A teljes felhasználói dokumentációért lásd a portage man portage kézikönyvet. A Portage csomagok telepítésével és karbantartásával kapcsolatos információkért lásd az emerge cikket.

Ez a cikk a Portage-et a felhasználó szemszögéből mutatja be. Azok, akik szeretnének hozzájárulni a Portage fejlesztéséhez, látogassák meg a Portage projekt oldalát.

Telepítés

Minden Gentoo telepítő már alapból tartalmazza a Portage csomagkezelőt, így azt nem kell külön telepíteni!

Olvassa el a sérült vagy hiányzó Portage részt abban a ritka esetben, amikor sérült vagy hiányzik a Portage.

Portage frissítése

Ahhoz, hogy a Gentoo naprakész maradjon, a Portage-nek naprakésznek kell lennie. Általában a Gentoo szokásos, rendszeres frissítése automatikusan, probléma nélkül frissíti a Portage-et.

Alkalmanként a Portage frissítései tanácsossá tehetik a Portage frissítését a rendszer többi része előtt. A Portage szinkronizálása után egy erre kérő üzenet jelenhet meg:

  • Elérhető a portage újabb változata.
  • Erősen ajánlott a portage újabb változatára történő frissítése, még mielőtt bármilyen más csomagot frissítene.
  • A portage azonnali frissítéséhez futtassa az „emerge --oneshot sys-apps/portage” parancsot.

Emerge Portage a tanácsnak megfelelően (módosítja a parancsot, ha az üzenet eltér a példától). A --oneshot opció azért fontos, hogy elkerüljük a sys-apps/portage hozzáadását a world fájlhoz:

root #emerge --ask --oneshot sys-apps/portage

Ha probléma adódik a Portage frissítésével, a User:Sam/Portage_help/Upgrading_Portage segíthet.

Konfiguráció

Fájlok

A fő Portage konfiguráció a make.conf fájlban található, bár sok fájl használható a Portage beállítására, főleg az /etc/portage könyvtárban.

Lásd a man make.conf leírást az átfogó dokumentációért, nevezetesen az ebben a fájlban beállítható változók listájáért.

A /usr/share/portage/config/make.globals fájl számos alapértelmezett konfigurációs értéket tartalmaz, amelyeket a Portage szerez be. Ezek az értékek felülírhatók, ha ugyanazokat a változóneveket adjuk meg az /etc/portage/make.conf fájlban.

Környezeti változók

A portage nagymértékben konfigurálható környezeti változókon keresztül.

Futtassa a man make.conf parancsot az elérhető környezeti változókkal kapcsolatos információkért. Tekintse meg a Kézikönyv részt a környezeti változókkal való munkavégzésről a Gentoo-ban.

Az összes jelenleg beállított környezeti változó megtekintéséhez futtassa:

user $emerge --info --verbose
Tip
A környezeti változók csomagonként állíthatók be az /etc/portage/package.env bejegyzéseken keresztül.

Ebuild tárolók

A Gentoo ebuild tárolóján kívül, ahonnan a Portage alapértelmezés szerint lekéri a csomagokat, további ebuild tárolók is elérhetők, például:

  • repos.gentoo.org - A közösség által hozzájárult tároló. Néhány a Gentoo fejlesztők által biztosított tárolók listája.
  • GURU - Hivatalos ebuild tároló, amelyet a Gentoo felhasználók közösen tartanak karban. Néhány Gentoo fejlesztő kis támogatásával.
  • gpo.zugaina.org - Harmadik féltől származó ebuild tárolók listája.

Az ebuild tároló cikk egy szakaszt tartalmaz az ebuild tárolók Portage általi használatára való beállításáról.

Keresse meg a rendelkezésre álló ebuildeket a parancssorban az emerge emerge --search vagy eix paranccsal.

Warning
Míg a Gentoo ebuild tárolót Gentoo fejlesztők írják és vizsgálják át, valamint a GURU tárolónak is van némi fejlesztők általi felügyelete, addig más ebuild tárolók esetében ez nem mindig igaz. Lehetséges, hogy egyes ebuilds tárolók sérülékeny, súlyosan törött, vagy akár rosszindulatú szoftvereket is tartalmazhatnak elméletileg.

Binárisokat tároló számítógépek

A binárisokat tároló számítógépek az /etc/portage/binrepos.conf fájlban vannak beállítva. Lehetővé teszik a bináris csomagok gyors telepítését, mindaddig, amíg a telepített vagy frissített csomaghoz rendelkezésre áll egy csomag a kért USE flag jelölőzászlóknál.

Létezik egy hivatalos Gentoo binárisokat tartalmazó hoszt számítógép, amely számos bináris csomagot tartalmaz az amd64 és arm64 architektúrákhoz. További beállítási és használati utasításokért tekintse meg az útmutatót az előbbi linken.

Alternatív bináris hoszt számítógépek konfigurálásához, valamint a további információkért a bináris csomagok Portage-val való használatáról lásd a bináris csomagok útmutatóját.

A portage eszközeinek használata

A portage a rendszer adminisztrációjához és karbantartásához számos különféle eszközt és segédprogramot tartalmaz. A következő szakaszok ábécé sorrendben sorolják fel ezeket.

Tip
A főbb parancsok, amelyekre a felhasználóknak napi szinten lesz szükségük, a következők: emerge, emaint, és dispatch-conf.

archive-conf

Az archive-conf célja egy konfigurációs fájl mentése a dispatch-conf archívumkönyvtárban. A legtöbb felhasználónak soha nem kell futtatnia ezt a parancsot:

root #archive-conf
Usage: archive-conf /CONFIG/FILE [/CONFIG/FILE...]

dispatch-conf

A dispatch-conf segédprogram a konfigurációs fájlok frissítéseinek kezelésére szolgál. Lásd a dispatch-conf cikket.

ebuild

Az ebuild parancs része a portage -nek. A portage az ebuild parancs segítségével különféle ebuild funkciókat futtat.

Ezt a parancsot általában közvetlenül nem a felhasználó futtatja, és csak a fejlesztőknek szokott hasznos lenni. Ne próbálja meg csomagok telepítésére használni. Nézze meg inkább az emerge parancsot.

Az ebuild parancs és az ebuild fájlok közötti egyértelműségért nézze meg az ebuild leírásáról szóló cikket.

egencache

Az egencache nevű eszköz újraépíti a metaadat-információk gyorsítótárát az ebuild-tárak számára. További információkért tekintse meg az egencache cikket.

emaint

A rendszerállapot felméréséhez kapcsolódó csomagkezelést és karbantartást végez.

Tekintse meg a szoftvertároló szinkronizálása részt arról, hogy hogyan használhatja az emaint parancsot a tároló szinkronizálására. Részletes információkért lásd a man 1 emaint részt a man súgóban.

Note
Az emerge --sync parancs mostantól az emaint segítségével valósul meg.
user $emaint --help
usage: usage: emaint [options] COMMAND
 
The emaint program provides an interface to system health checks
and maintenance. See the emaint(1) man page for additional
information about the following commands:
 
Commands:
  all            Perform all supported commands
  binhost        Scan and generate metadata indexes for binary packages.
  cleanconfmem   Check and clean the config tracker list for uninstalled packages.
  cleanresume    Discard emerge --resume merge lists
  logs           Check and clean old logs in the PORTAGE_LOGDIR.
  merges         Scan for failed merges and fix them.
  movebin        Perform package move updates for binary packages
  moveinst       Perform package move updates for installed and binary packages.
  sync           Check repos.conf settings and sync repositories.
  world          Check and fix problems in the world file.
 
optional arguments:
  -h, --help            show this help message and exit
  -c, --check           Check for problems (a default option for most modules)
  -f, --fix             Attempt to fix problems (a default option for most modules)
  --version             show program's version number and exit
  -C, --clean           Cleans out logs more than 7 days old (cleanlogs only) module-options: -t, -p
  -t NUM, --time NUM    (cleanlogs only): -t, --time Delete logs older than NUM of days
  -p, --pretend         (cleanlogs only): -p, --pretend Output logs that would be deleted
  -P, --purge           Removes the list of previously failed merges. WARNING: Only use this option if you plan on manually fixing them or do not want them re-installed.
  -y, --yes             (merges submodule only): Do not prompt for emerge invocations
  -r REPO, --repo REPO  (sync module only): -r, --repo Sync the specified repo
  -A, --allrepos        (sync module only): -A, --allrepos Sync all repos that have a sync-url defined
  -a, --auto            (sync module only): -a, --auto Sync auto-sync enabled repos only
  --sync-submodule {glsa,news,profiles}
                        (sync module only): Restrict sync to the specified submodule(s)

emerge

Az emerge a portage parancssori felülete. A legtöbb felhasználó az emerge parancsot használva kommunikál a portage csomagkezelővel.

Az emerge paranccsal kapcsolatos további információkért kérem, nézze meg az ide tartozó wiki bejegyzést.

emerge-webrsync

Telepítsen önmagának az internetről egy Gentoo ebuild szoftvertároló pillanatképet. Részletekért nézze meg a kézikönyv ide eső részét.

root #emerge-webrsync -h
Usage: /usr/bin/emerge-webrsync [options]
 
Options:
  --revert=yyyymmdd   Revert to snapshot
  -k, --keep          Keep snapshots in DISTDIR (don't delete)
  -q, --quiet         Only output errors
  -v, --verbose       Enable verbose output
  -x, --debug         Enable debug output
  -h, --help          This help screen (duh!)

Az eix-sync parancs a színfalak mögött, belül az emerge-webrsync parancsot hívja meg, ha a /etc/portage/repos.conf fájl sync-type értéke webrsync.

emirrordist

Eszköz a csomag diszfájlok tükrözésére.

root #emirrordist -h
usage: emirrordist [options] <action>
 
emirrordist - a fetch tool for mirroring of package distfiles
 
optional arguments:
  -h, --help            show this help message and exit
 
Actions:
  --version             display portage version and exit
  --mirror              mirror distfiles for the selected repository
 
Common options:
  --dry-run             perform a trial run with no changes made (usually
                        combined with --verbose)
  --verbose, -v         display extra information on stderr (multiple
                        occurences increase verbosity)
  --ignore-default-opts
                        do not use the EMIRRORDIST_DEFAULT_OPTS environment
                        variable
  --distfiles DIR       distfiles directory to use (required)
  --jobs JOBS, -j JOBS  number of concurrent jobs to run
  --load-average LOAD, -l LOAD
                        load average limit for spawning of new concurrent jobs
  --tries TRIES         maximum number of tries per file, 0 means unlimited
                        (default is 10)
  --repo REPO           name of repo to operate on
  --config-root DIR     location of portage config files
  --repositories-configuration REPOSITORIES_CONFIGURATION
                        override configuration of repositories (in format of
                        repos.conf)
  --strict-manifests <y|n>
                        manually override "strict" FEATURES setting
  --failure-log FILE    log file for fetch failures, with tab-delimited
                        output, for reporting purposes
  --success-log FILE    log file for fetch successes, with tab-delimited
                        output, for reporting purposes
  --scheduled-deletion-log FILE
                        log file for scheduled deletions, with tab-delimited
                        output, for reporting purposes
  --delete              enable deletion of unused distfiles
  --deletion-db FILE    database file used to track lifetime of files
                        scheduled for delayed deletion
  --deletion-delay SECONDS
                        delay time for deletion, measured in seconds
  --temp-dir DIR        temporary directory for downloads
  --mirror-overrides FILE
                        file holding a list of mirror overrides
  --mirror-skip MIRROR_SKIP
                        comma delimited list of mirror targets to skip when
                        fetching
  --restrict-mirror-exemptions RESTRICT_MIRROR_EXEMPTIONS
                        comma delimited list of mirror targets for which to
                        ignore RESTRICT="mirror"
  --verify-existing-digest
                        use digest as a verification of whether existing
                        distfiles are valid
  --distfiles-local DIR
                        distfiles-local directory to use
  --distfiles-db FILE   database file used to track which ebuilds a distfile
                        belongs to
  --recycle-dir DIR     directory for extended retention of files that are
                        removed from distdir with the --delete option
  --recycle-db FILE     database file used to track lifetime of files in
                        recycle dir
  --recycle-deletion-delay SECONDS
                        delay time for deletion of unused files from recycle
                        dir, measured in seconds (defaults to the equivalent
                        of 60 days)
  --fetch-log-dir DIR   directory for individual fetch logs
  --whitelist-from FILE
                        specifies a file containing a list of files to
                        whitelist, one per line, # prefixed lines ignored

További részletekért tekintse meg a man emirrordist súgót.

env-update

Automatikusan frissíti a környezeti beállításokat.

root #env-update -h
Usage: env-update [--no-ldconfig]
 
See the env-update(1) man page for more info

Lásd még a man env-update súgót. Néhány további információért tekintse meg a bejelentkezés cikket arról, hogy hogyan van beállítva a környezet a Gentoo -ban.

fixpackages

Az összes szoftvercsomag számára csomagmozgatási frissítéseket hajt végre.

root #fixpackages -h
usage: fixpackages [-h]
 
The fixpackages program performs package move updates on configuration files,
installed packages, and binary packages.
 
optional arguments:
  -h, --help  show this help message and exit

További részletekért, kérem tekintse meg a man fixpackages súgót.

regenworld

Újragenerálja a world fájlt azáltal, hogy a portage naplófájlban ellenőrzi az összes múltban végrehajtott műveletet.

Ezen eszköz használata előtt készítsen biztonsági másolatot a már meglévő world fájlról (/var/lib/portage/world).

root #regenworld -h
This script regenerates the portage world file by checking the portage
logfile for all actions that you've done in the past. It ignores any
arguments except --help. It is recommended that you make a backup of
your existing world file (/var/lib/portage/world) before using this tool.

portageq

A részletekért kérem, nézze meg a portageq idetartozó részét.

quickpkg

Portage csomagokat hoz létre. További információkért tekintse meg a Bináris csomagok útmutatóját.

user $quickpkg --help
usage: quickpkg [options] <list of package atoms or package sets>
 
optional arguments:
  -h, --help            show this help message and exit
  --umask UMASK         umask used during package creation (default is 0077)
  --ignore-default-opts
                        do not use the QUICKPKG_DEFAULT_OPTS environment variable
  --include-config <y|n>
                        include all files protected by CONFIG_PROTECT (as a security precaution, default is 'n')
  --include-unmodified-config <y|n>
                        include files protected by CONFIG_PROTECT that have not been modified since installation (as a
                        security precaution, default is 'n')

Tekintse meg a man quickpkg súgót.

repoman

The information in this section has been deprecated. It may or may not be relevant for contemporary usage. Handle with care!

A repoman egy fejlesztőeszköz az ebuild tesztelésére. A 2.3.0-s verzió óta a Portage-től külön csomagolva, az app-portage/repoman formátumban. További információkért tekintse meg a repoman cikkét.

Mostanra elavult a dev-util/pkgcheck és a dev-util/pkgdev csomagok által biztosított eszközök javára.

glsa-check

A Gentoo Linux Security Announcements (Gentoo Linux Biztonsági Közlemények) vagy GLSA-k a közösségnek küldött értesítések a Gentoo Linuxhoz, vagy kifejezetten a ::gentoo ebuild tárolókban található csomagokhoz kapcsolódó biztonsági résekről.

A glsa-check egy eszköz a különféle GLSAs-k nyomon követésére. Használható GLSA-k megtekintéséhez, de ami még fontosabb annak tesztelésére, hogy a rendszer sebezhető-e az ismert GLSA-kkal szemben.

További információért tekintse meg a man glsa-check súgót és a glsa-check --help parancsot:

user $glsa-check --help
usage: glsa-check <option> [glsa-id | all | new | affected]
 
optional arguments:
  -h, --help        show this help message and exit
  -V, --version     Show information about glsa-check
  -q, --quiet       Be less verbose and do not send empty mail
  -v, --verbose     Print more messages
  -n, --nocolor     Removes color from output
  -e, --emergelike  Upgrade to latest version (not least-change)
  -c, --cve         Show CVE IDs in listing mode
  -r, --reverse     List GLSAs in reverse order
 
Modes:
  -l, --list        List a summary for the given GLSA(s) or set and whether they affect the system
  -d, --dump        Show all information about the GLSA(s) or set
  --print           Alias for --dump
  -t, --test        Test if this system is affected by the GLSA(s) or set and output the GLSA ID(s)
  -p, --pretend     Show the necessary steps to remediate the system
  -f, --fix         (experimental) Attempt to remediate the system based on the instructions given in the GLSA(s) or set. This will only upgrade (when an upgrade path exists) or remove packages
  -i, --inject      Inject the given GLSA(s) into the glsa_injected file
  -m, --mail        Send a mail with the given GLSAs to the administrator
 
glsa-list can contain an arbitrary number of GLSA ids, filenames containing GLSAs or the special identifiers 'all' and 'affected'

Tippek

Gyakori portage problémák és megoldások

A Gentoo sokkal több konfigurációs lehetőséget kínál, mint amennyit a legtöbb disztribúció megenged. Ez elsőre zavaró terminológiához vezet, mint például a blockers, a körkörös függőségek, a REQUIRED_USE, stb.

Az alább cikkek segítenek a felhasználónak megérteni, hogy miként jönnek létre, valamint leírják a megoldásaikat:

Portage/Súgó

Fő (Gentoo) ebuild kódtárolójának szinkronizálási ideje

Annak érdekében, hogy a Gentoo ebuild kódtárolójának legutóbbi frissítési (szinkronizálási) időpontját megtekinthesse, kérem futtassa a következő parancsot:

user $cat /var/db/repos/gentoo/metadata/timestamp.chk

Szoftvercsomagkészletek listázása

Megszeretné tudni, hogy pontosan mely csomagok vannak benne az egyes csomagkészletekben? Kérem látogasson el a Csomagkészletek leírásra.

Hibaelhárítás

Korrupt vagy hiányos portage

Annak ellenére, hogy nagyon ritkának kell lennie, mint minden adat esetén, továbbra is fennáll annak a lehetősége, hogy a portage korrupt vagy akár nem eltávolított állapotban is lehet, ami nagyon rossz lenne az egész rendszer működésének. Ha ez valaha is megtörténne, akkor vannak olyan módok, amelyekkel a portage helyreállítható. Viszont a portage nagyon központi dolog, ezért az újratelepítés egy meglehetősen érintett művelet, amely kézi beavatkozást igényel a csomagkezelő telepítéséhez anélkül, hogy a rendszeren működőképes csomagkezelő lenne.

Kérem tekintse meg a Fix my Gentoo című részt a bináris csomagokon keresztüli vészhelyzeti telepítés részleteiért. Valamint tekintse meg kérem a Sérült portage javítása leírást.

Az alapértelmezett Gentoo ebuild tároló helyének cseréje

A 2019-04-29[1]-án megjelent portage v2.3.66[2] verziótól kezdve megváltoztak a portdir, distdir, repo_name, repo_basedir könyvtárak alapértelmezett helyei.

További információért tekintse meg a bug #662982 hibával kapcsolatos leírást.

Régi hely

CODE Location before 2019-04-29
repo_basedir="/usr"
repo_name="portage"
distdir="/usr/portage/distfiles"
portdir="/usr/portage"
target_distdir="/usr/portage/distfiles"
target_pkgdir="/usr/portage/packages"

Új hely

CODE Location as of 2019-04-29 and later
repo_basedir="/var/db/repos"
repo_name="gentoo"
distdir="/var/cache/distfiles"
portdir="/var/db/repos/gentoo"
target_distdir="/var/cache/distfiles"
target_pkgdir="/var/cache/binpkgs"

További részletek

  • /etc/portage — the primary configuration directory for Portage, Gentoo's package manager.
  • /etc/portage/make.conf — fő konfigurációs fájl. A Portage környezet globális szintű testreszabására használják.
  • /etc/portage/color.map — a file containing variables that define color classes used by Portage.
  • prefix — enables the power of Gentoo and Portage on other distributions and/or operating systems (Microsoft Windows via Cygwin, Android via Termux, etc.).

Portage csomagkezelővel kapcsolatos

Portage a Gentoo AMD64 kézikönyvében

Portage eszközök

Alternatív csomagkezelők és grafikus felhasználói felületek (GUI)

  • Pkgcore — an alternative package manager for Gentoo that aims for high performance, extensibility, and a clean design.
  • app-portage/kuroo - Graphical Portage frontend based on KF5/Qt5.
  • App Swipe - Qt GUI for browsing local Portage repositories.

Az ebuild vagy csomaggal kapcsolatos leírások

  • Package sets — describes package sets in high detail and includes a list of all typically available sets on a Gentoo system.

Külső források

Portage man (súgó) oldalai

A man kézikönyvek (man súgók) a portage teljes műszaki dokumentációját tartalmazzák. Lokálisan, a helyben tárolt számítógépen, kérem írja be a Gentoo rendszer parancsértelmezőjébe a man <tárgy> parancsot, hogy olvasni tudja az említett kézikönyveket. Vegye figyelembe, hogy a kézikönyvek további Lásd még oldalakra is hivatkozhatnak.