TIPP Portage trükkök
A Gentoo Linux Wiki wikiből
Néhány egyszerű parancs a portage rendszer kezeléséhez.
(Az itt használt parancsokat a sys-apps/portage es az app-portage/gentoolkit csomagok tartalmazzák.)
[szerkesztés] Csomag telepítése
emerge <csomagnév>
[szerkesztés] Csomag eltávolítása
emerge unmerge <csomagnév> vagy emerge -C <csomagnév>
[szerkesztés] Csomag keresése
esearch <név> vagy emerge search <név> vagy eix <név>
(esearch gyorsabb)
(eix még gyorsabb; csomag: app-portage/eix)
[szerkesztés] Csomag (telepítés előtti) függőségeinek ellenőrzése
emerge --pretend <csomagnév> vagy emerge -p <csomagnév>
[szerkesztés] Csomagra érvényes USE változók kiíratása
emerge --verbose <csomagnév> vagy emerge -v <csomagnév>
[szerkesztés] Csomag changelogja
emerge --changelog <csomagnév> vagy emerge -l <csomagnév>
[szerkesztés] Bináris csomag készítése a telepítés mellett
emerge --buildpkg <csomagnév> vagy emerge -b <csomagnév>
[szerkesztés] Telepített csomagok listája
qpkg -I
[szerkesztés] Csomag tartalmának megtekintése
qpkg <csomagnév> -l
etcat files <csomagnév>
[szerkesztés] Csomaginformációk
qpkg <csomagnév> -i
[szerkesztés] Adott file melyik csomaghoz tartozik
etcat belongs <file> vagy qpkg -l <file>
[szerkesztés] Adott csomagra támaszkodó (reverse dependency) csomagok
etcat depends <csomag>
[szerkesztés] Összes, az adott csomagra támaszkodó (reverse dependency) csomag újrafordítása
revdep-rebuild <csomagnév>
[szerkesztés] Portage-fa frissítése
emerge sync
[szerkesztés] Alaprendszer frissítése
emerge -U system
[szerkesztés] Rendszer frissítése
emerge -U world
[szerkesztés] Függőségek szemléletesebb megjelenítése world-frissítésnél (portage-2.0.50_pre10 verziótól)
emerge --pretend --tree --upgrade world
(Forrás: HUP Wiki)
[szerkesztés] Teljes rendszer újrafordítása
Erre olyankor lehet szükség, ha a USE vagy a CFLAGS megváltozik, esetleg új gcc-t telepítettünk, és szeretnénk az abban rejlő optimalizációs többletet kihasználni. A teljes rendszer újrafordítása:
emerge -e world
Ez viszont nem az igazi például egy új gcc esetén, mert a gcc előtt fordított csomagok továbbra is a régi gcc-vel fordulnak. Jobb az
emerge gcc; emerge -e system; emerge -e world
megoldás, bár kétségtelen, hogy így lesznek csomagok, amik kétszer (háromszor) fordulnak le. Ha pedig bosszant, hogy ha egy csomag nem fordul le, akkor megszakad az emerge. a következő scriptet tudod használni:
#!/bin/bash
resume() {
tail -n 30 /var/log/emerge.log | grep "===" | tail -n 1 >> build_log
emerge --resume --skipfirst
if [ $? = "1" ]; then
resume
fi
}
# Ha új gcc van, akkor kell
#emerge --oneshot gcc
# Ha először újra kell fordítani a glibc-t (pl. kernel headers váltás)
#emerge --oneshot glibc
emerge -e system
if [ $? = "1" ]; then
resume
fi
emerge -e world
if [ $? = "1" ]; then
resume
fi
emerge depclean
revdep-rebuild
A script a build_log nevű fájlba gyűjti a sikertelenül forduló csomagokat.
