Gentoo Cheat Sheet

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Gentoo Cheat Sheet and the translation is 100% complete.

Ez egy referenciacikk, amely hasznos parancsokat és tippeket tartalmaz a Gentoo rendszerek adminisztrálásához. Az új, és tapasztalt felhasználókat egyaránt arra biztatjuk, hogy a gyakorlatban számukra bevált, hasznos tippjeiket adják hozzá ehhez az cikkhez alul. Köszönjük!

Tekintse meg a gyakran ismételt kérdéseket és a Portage gyakran ismételt kérdéseit.

Csomagkezelés

Szinkronizálási módszerek

Important
Fontos, hogy elolvassa és kövesse az összes olyan hírdarabkát, amely az szoftvertároló szinkronizálása után megjelenik. Tekintse meg a frissítésekkel kapcsolatos részletes utasításokat.

Portage

Szinkronizálja az összes automatikus szinkronizálásra beállított szoftvertárolót, beleértve a Gentoo ebuild fő szoftvertárolót is:

root #emaint --auto sync

Vagy röviden:

root #emaint -a sync

Szinkronizálja a Gentoo ebuild szoftvertárolót a tükörszerverek segítségével. Legfeljebb egy nap idős pillanatkép lekérésével teszi mindezt:

root #emerge-webrsync

Az emerge --sync most futtatja az emaint sync modult a --auto kapcsolóval. Tekintse meg a portage szinkronizálási műveletét.

eix

Szinkronizálja a beállított szoftvertárolókat és a Gentoo ebuild szoftvertárolót az eix használatával:

root #eix-sync

Ez nem csak a tárolókat szinkronizálja, hanem frissíti az eix által a lekérdezések végrehajtásához használt gyorsítótárat is. Célszerűbb lehet a portage beállítása a gyorsítótár automatikus frissítésére.

Csomag listák

qlist

Felsorolja a telepített csomagokat a verziószámmal és a használt átfedés nevével:

root #qlist -IRv

A qlist programot az app-portage/portage-utils biztosítja.

eix

A world set -ben található csomagok listájának és elérhető verzióinak megtekintéséhez használhatja a eix parancsot:

root #eix --world | less

Azért, hogy a szín megmaradjon a kimenetben, kérjük használja a --color kapcsolót:

root #eix --color -c --world | less -R

Portage

Csomagkészletekre hivatkozva a kiválasztott csomagkészletek listája a következő parancs kiadásával történik:

user $emerge --pretend --quiet --emptytree --nodeps @selected

Kilistázza az összes (*) vagy meghatározott nevű, több slot-ot használó csomagot:

user $equery list --duplicates '*'

Csomagtelepítés

A következő példákban a www-client/firefox programcsomag kerül felhasználásra, de a felhasználóknak le kell cserélniük azt a valóságban tényleg telepíteni kívánt csomagra.

Az azonnali csomagtelepítés megkezdése nélkül, egyszerűen csak felsorolja, hogy mely csomagok lesznek telepítése később:

user $emerge --pretend --verbose www-client/firefox

Vagy röviden:

user $emerge -pv www-client/firefox

Kilistázza a telepítendő csomagokat. Telepítés előtt megerősítést kér:

root #emerge --ask --verbose www-client/firefox

Vagy röviden:

root #emerge -av www-client/firefox

Bizonyos verzió telepítése

A csomag egy adott verzióját telepíti. Használja a "\=" jelölést (fordított perjel és egyenlőségjel) olyan parancsértelmezőkhöz, amelyek különleges jelentést tulajdonítanak a "=" karakternek. Például:

root #emerge --ask =www-client/firefox-96.0.1
Warning
Ez átmenetileg működni fog, amíg a rendszer frissül. A frissítés során a Portage megpróbálja a csomag legújabb stabil verzióját telepíteni, függetlenül attól, hogy melyik verzió van jelenleg telepítve; hogy a csomag eredetileg egy megelőző = operátoron keresztül jött-e létre vagy sem.

Annak megakadályozására, hogy a Portage automatikusan frissítsen egy csomagot, adjon hozzá egy sort az /etc/portage/package.mask/package.mask fájlhoz (ha nem létezik, hozza létre a fájlt). Ezt követően adja meg a nagyobb, mint operátor (>) előtagot, ha a csomag régebbi, mint a legutóbbi stabil, vagy kisebb, mint az operátor (<) előtagot, ha újabb:

FILE /etc/portage/package.mask
<www-client/firefox-96.0.1

Tekintse meg a /etc/portage/package.mask oldalt a csomagelrejtés további részleteiért.

Telepítés anélkül, hogy hozzáadná azt a world fájlhoz

Csomag telepítése anélkül, hogy hozzáadná azt a world fájlhoz:

root #emerge --ask --oneshot www-client/firefox

Vagy röviden:

root #emerge -a1 www-client/firefox

Csomageltávolítás

See also
A teljes információért tekintse meg a csomageltávolítások előkészületi-re vonatkozó dokumentációt.

--deselect

Használja az emerge --deselect (vagy röviden -W kapcsolót) a megadott csomag eltávolításához a @world halmazból. (Gyakorlatilag ezzel jelzi, hogy a csomag már nem szükséges):

root #emerge --deselect www-client/firefox

Most futtassa az emerge --depclean (vagy röviden a -c opciót). A --pretend (-p) opció emerge megjeleníti, hogy milyen műveleteket kell végrehajtani. Ezt át kell Önnek tekintenie, hogy megbizonyosodjon arról, hogy nem kerülne eltávolításra a még szükséges csomag:

user $emerge --pretend --depclean

Ha az emerge --depclean parancsot egy jó ideje Ön nem futtatta, akkor a parancs most sok programcsomagot megpróbálhat eltávolítani. Itt óvatosság javasolt. Miután megbizonyosodott arról, hogy az emerge --depclean csak a szükségtelen csomagokat távolítja el, futtassa:

root #emerge --ask --depclean

A --ask opcióra nem igazán van szükség a --pretend segítségével végzett ellenőrzés után, de az előző példában szerepel, hogy elkerülje a "másolás-beillesztés" hibáját.

Tip
Ne keverje össze a kisbetűs -c kapcsolót, amely a --depclean rövidítése (és biztonságos), a NAGYBETŰS -C kapcsolóval, amely a rendszer károsodását okozhatja, és csak akkor szabad használni, ha feltétlenül szükséges (Tekintse meg a következő szakaszban található figyelmeztetést).

--depclean

Egy olyan csomag közvetlen eltávolítása, amelytől más csomagok nem függenek:

root #emerge --ask --verbose --depclean www-client/firefox
Calculating dependencies... done!
>>> Calculating removal order...
 
>>> These are the packages that would be unmerged:
 
 www-client/firefox
    selected: 68.5.0 
   protected: none 
     omitted: none 
 
All selected packages: =www-client/firefox-68.5.0
 
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.
 
Would you like to unmerge these packages? [Yes/No]

Biztonsági intézkedésként a depclean nem távolít el egyetlen csomagot sem, hacsak az összes szükséges függőség meg nem lett oldották. Ennek következtében néha szükséges először futtatni:

root #emerge --ask --verbose --update --newuse --deep @world

Használja a --changed-use (-U) parancsot a --newuse (-N) helyett, hogy elkerülje az újraépítést, amikor az egyetlen változás a tárolóhoz hozzáadott vagy onnan kidobott USE jelölőzászlók. Használja a --quiet (-q) kapcsolót a tömörebb végrehajtás érdekében:

root #emerge --ask --quiet --update --changed-use --deep @world
Warning
Van egy --unmerge (-C) opció, de ez nem ajánlott, és ha nem használjuk óvatosan, akkor megtörheti a rendszert. Ezt csak akkor szabad használni, amikor valóban szükséges, és csak miután Ön megfelelően tájékozódott arról, hogy mit csinál ez a parancs. Ez a parancs tönkreteheti az Ön egész Gentoo rendszerét, vagy más szoftvert sérthet, ha egyedi csomagokon használja azt. A csomagok eltávolításának helyes módja a Gentoo rendszerben gyakorlatilag mindig a --depclean opcióval történik, ahogy azt fentebb már leírtuk. Ez a parancs azonban néha hasznos lehet egy kemény blokk ideiglenes eltávolításához.

Csomagok frissítése

Frissítse a world set összes csomagját, azok függőségeit (--deep), és azokat a csomagokat, amelyeknek van módosított USE jelölőzászlójuk (a szükségtelen újraépítések el lesznek kerülve, ha a USE változtatásoknak nincs semmilyen hatása):

root #emerge --ask --verbose --update --deep --changed-use @world

A --newuse használható a --changed-use helyett azért, hogy megbizonyosodjon arról, hogy az összes USE jelölőzászló a Gentoo szoftvertárolójában lévők aktuális állapotát tükrözi, bár ez több újraépítést igényel. A --with-bdeps=y a felépítési idő függőségek frissítésére is használható.

See also
Részletesebb információért tekintse meg a Gentoo frissítése cikket.

Csomag hibaelhárítás

Ellenőrzi és újra felépíti a hiányzó könyvtárakat (általában nem szükséges):

root #revdep-rebuild -v

Az equery parancs az app-portage/gentoolkit része. Telepítse a következő parancs kiadásával:

root #emerge -a gentoolkit

Megmondja, hogy melyik telepített csomag ad parancsot a equery használatával:

user $equery b `which vim`
Tip
A qfile gyorsabb alternatívát kínálhat az equery parancshoz képest, ha szükséges.

Megmondja, hogy melyik (nem) telepített csomag ad parancsot a e-file használatával:

user $e-file vim

Az e-file telepítése a következővel:

root #emerge -a app-portage/pfl

Az equery használatával megmondja, hogy mely csomagok függenek egy adott csomagtól (a cat/pkg például):

user $equery d www-client/firefox

Információt kaphat egy csomagról a eix használatával:

root #eix www-client/firefox
Warning
Ne törölje (unemerge) a sys-libs/glibc legenerálását. Szinte minden más csomagnak szüksége van rá. Ha véletlenül eltávolítják, akkor rendszerjavító live USB-re/rendszerjavító live lemezre lehet szükség. Lehetséges, hogy a glibc lekérése az PORTAGE_BINHOST="http://packages.gentooexperimental.org/packages/amd64-stable/" beállítása után lehetséges a /etc/portage/make.conf fájlban.

Újraépítések

Néha szükség van néhány csomag újraépítésére, hogy azok megfelelően működjenek. Íme néhány gyakori újra legenerálás:

Új kernel telepítése után:

root #emerge @module-rebuild

A Go új verziójára való frissítés után:

root #emerge @golang-rebuild

Új könyvtárak használatához:

root #emerge @preserved-rebuild

Portage fejlesztések

A konfigurációs módosítások kezelése egy emerge legenerálás befejezése után:

root #dispatch-conf

Telepítés vagy frissítés után

A perl alapot képező csomagok frissítése után:

root #perl-cleaner --all

Vagy ha az előző nem segített:

root #perl-cleaner --reallyall -- -av

haskell csomagokhoz:

root #haskell-updater

USE jelölőzászlók

Beszerzi az X USE jelölőzászló leírását és használatát az euse használatával:

user $euse -i X

További információkat szerezhet a euse parancsról, ha elolvassa a kézikönyv oldalát:

user $man euse

Megmutatja, hogy mely csomagokon van rajta a mysql USE jelölőzászló:

user $equery hasuse mysql

Megmutatja, hogy jelenleg mely csomagok jönnek létre a mysql USE jelölőzászlóval:

user $eix --installed-with-use mysql

Megmutatja, hogy milyen USE jelölőzászlók állnak rendelkezésre egy adott csomaghoz:

user $equery uses <package-name>

Gyorsan hozzáad egy szükséges USE jelölőzászlót a csomagtelepítéshez:

root #echo 'dev-util/cmake -qt5' >> /etc/portage/package.use

Fontos Portage fájlok

Naplófájlok kezelése

genlop

A genlop egy Portage naplófájl feldolgozó eszköz, amely az emerge csomag-összeállítási idejét (legenerálódási időt) is megbecsüli.

A következő parancs kiadásával telepítse a app-portage/genlop csomagot:

root #emerge -a app-portage/genlop

További információkat gyűjthet a genlop-ről, ha elolvassa a kézikönyv oldalát:

root #man genlop

Az utolsó 10 programcsomag létrehozások (telepítések) megtekintése:

root #genlop -l | tail -n 10
root #genlop -t libreoffice

Megbecsüli, hogy a emerge -uND --with-bdeps=y @world parancs mennyi időt vesz majd igénybe:

root #emerge -pU @world | genlop --pretend

A legutolsó ebuild csomag-összeállítás megtekintése a rendszerfrissítések során:

root #watch genlop -unc

Átfedések

eselect szoftvertároló

A app-eselect/eselect-repository a következő kiadásával telepíthető:

root #emerge -a app-eselect/eselect-repository

Kilistázza az összes létező átfedést:

user $eselect repository list

Kilistázza az összes telepített átfedést:

user $eselect repository list -i
See also
További információkért tekintse meg a Eselect/Repository leírást.

Szolgáltatások

Belépés a rendszergazdai parancssorba (root shell -be) (ha az aktuális felhasználó szerepel a sudoers listában, tehát ha használhat parancsokat a rendszergazda jogosultságaival):

user $sudo -i

OpenRC

Az ssh szolgáltatás elindítása rendszerindításkor az alapértelmezett futási szinten:

root #rc-update add sshd default

Az sshd szolgáltatást elindítása most azonnal:

root #rc-service sshd start

Az sshd szolgáltatás ellenőrzése, hogy fut-e:

root #rc-service sshd status

Az sshd szolgáltatás újraindítása:

root #rc-service sshd restart

Az sshd szolgáltatás leállítása:

root #rc-service sshd stop

A szolgáltatások, azok állapotainak és a futási szintjeinek, listázása:

root #rc-status --all

Az engedélyezett szolgáltatások és a hozzájuk tartozó futási szintek megjelenítése (nem azt jeleníti meg, hogy futnak-e vagy sem):

root #rc-update show

systemd

Az SSH szolgáltatás futtatása rendszerindításkor:

root #systemctl enable sshd

Az sshd szolgáltatás futtatása most azonnal:

root #systemctl start sshd

Az sshd szolgáltatás futásának az ellenőrzése:

root #systemctl status sshd

Tippek

A metaadat gyorsítótár generálása

Az ebuild szoftvertárolók mérete a nagyon kicsitől a nagyon nagyig terjed. Ennek eredményeként lelassítják a szállítási műveletek többségét. Ez azért történik, mert az átfedések nem tartalmaznak metaadat-gyorsítótárakat. A gyorsítótár a keresések felgyorsítására és a függőségi fák felépítésére szolgál. Ügyes trükk az, hogy helyi metaadat-gyorsítótárat generálnak az átfedések szinkronizálása után.

root #emerge --regen

Ez a trükk az eix-szel együtt is működik. Az eix-update az emerge --regen által generált metaadat-gyorsítótárat használhatja a műveletek felgyorsítására. Ennek engedélyezéséhez adja hozzá a következő változót az /etc/eixrc/00-eixrc fájlban:

FILE /etc/eixrc/00-eixrc
OVERLAY_CACHE_METHOD="assign"

Csomagok keresése a Portage csomagkeresőben reguláris kifejezések segítségével

Csomagok keresése a Portage csomagkezelőben, a telepített verzióval együtt, reguláris kifejezésekkel:

root #emerge -s "%^python$"

vagy

root #emerge --search "%^python$"

qcheck

Használja a qcheck parancsot a telepített csomagok ellenőrzésére:

root #qcheck vim-core

A app-portage/portage-utils csomag tartalmazza a qcheck parancsot, és a következő parancs futtatásával telepíthető:

root #emerge -a app-portage/portage-utils

Tudjon meg többet a qcheck-ről a kézikönyv oldalának elolvasásával:

user $man qcheck

További olvasnivaló a témával kapcsolatban

Külső források