TIPP Portage áthelyezése
A Gentoo Linux Wiki wikiből
Tartalomjegyzék |
[szerkesztés] Portage áthelyezése
Gyakran előfordulhat az a szituáció, hogy a rendszerünk telepítésekor meglehetősen szőrösszívűen állítgattuk be a partíciók méretét és kezd a root ( / ) partíciónk mérete lecsökkenni, egyre gyakrabban kapunk "No space left on device" hibaüzetnet fordítás közben, és még folytathatnám. Ez a hogyan arról szól, hogyan helyezhetjük át az egész Portage-t és a hozzá tartozó funkciók könyvtárait mindenestül másik partícióra, átláthatóbb könyvtárszerkezettel, ezáltal elérhetjük, hogy...
- felszabadítjuk a Portage által használt helyet a root partíción, amely akár 2.5-3.0GB is lehet! (distfiles és packages nélkül kb 170-200MB)
- nagyobb tmp terület, bár ezt külön is állíthatjuk
- külön merevlemezre pakolva az emerge folyamatok felgyorsulhatnak
- könyebb adminisztrálhatóság az átláthatóbb könyvtárszerkezetetnek köszönhetően
[szerkesztés] Célok
Egy főkönyvtárba, azon belül pedig külön könyvtárakba rakjuk a portage-t, az emerge folyamatok naplófájljait, a distfiles-t, a packages-t, az overlay-eket és a ccache-t.
[szerkesztés] Új hely felkészítése
Első feladatunk, hogy előkészítsük az új helyet ahova az egész kerülni fog. Célszerű bár nem muszály ezt a területet egy külön merevlemezen kijelölni. A példában használt partíciónk a /mnt/gentoo_portage csatolási pontba lesz becsatolva. Hozzuk létre a kívánt könyvtárszerkezetet.
| Parancs: Könyvtárak létrehozása |
|
#könyvtárstruktúra létrehozása mkdir -p /mnt/gentoo_portage/ccache /mnt/gentoo/distfiles \ /mnt/gentoo/packages /mnt/gentoo/portage /mnt/gentoo/overlay /mnt/gentoo/log
|
Hozzuk létre a szimbolikus linkeket a distfiles és a packages számára:
| Parancs: Szimlinkek létrehozása |
|
cd /mnt/gentoo_portage ln -s portage/distfiles distfiles ln -s portage/packages packages
|
Ha elkészültünk akkor a következő struktúrát kell, hogy kapjuk.
könyvtár struktúra
mnt/gentoo_portage/ -- ccache -- distfiles -> portage/distfiles/ -- log -- overlay -- packages -> portage/packages/ -- portage -- tmp
TIPP: A fenti kimenetet például a következő paranccsal kaphatjuk.
| Parancs: Könyvtárstruktúra listázása a tree paranccsal |
|
tree -dF -L 1 mnt/gentoo_portage
|
[szerkesztés] Költöztetés
Mostanra megvan a kívánt könyvtárstruktúra, már csak bekell népesíteni.
| Figyelmeztetés: Fontos, hogy a következő műveletek végzése közben egyetlen portage műveletet se hajtsunk végre. Ne fusson se emerge, se semmi! |
[szerkesztés] Környezeti változók beállítása
Ehhez a make.conf fájlt kell szerkesztenünk az alábbiaknak megfelelően.
| File: /etc/make.conf |
PORTDIR="/mnt/gentoo_portage/portage"
PKGDIR="${PORTDIR}/packages"
PORTDIR_OVERLAY="/mnt/gentoo_portage/overlay"
DISTDIR="${PORTDIR}/distfiles"
PORTAGE_TMPDIR="/mnt/gentoo_portage/tmp"
CCACHE_DIR="/mnt/gentoo_portage/ccache"
PORTAGE_ELOG_CLASSES="warn error log"
PORTAGE_ELOG_SYSTEM="save"
PORT_LOGDIR="/mnt/gentoo_portage/log"
|
A fenti konfignál én megtartottam azt, hogy a PKDIR és a DISTDIR megmaradjon a portage könyvtáron belül, de a példából mostanra már látható, hogy ezeket akár külön is lehet rakni. Ez esetben természetesen a fent említett szimlinkek létrehozása nem szükséges. Továbbá fontos megjegyezni, hogy ez a konfig feltételezi, hogy a FEATURES változóban benne van a ccache és telepítve is van.
[szerkesztés] Fájlok áthelyezése
Jöhet az utolsó előtti lépés. :) Másoljuk át a fájlokat az új helyükre. Javaslom, hogy ne áthelyezéssel próbálkozzunk elsőre, hanem másolással és utána az eredeti törlésével.
| Parancs: Fájlok átmásolása |
|
cp -vR /usr/portage /mnt/gentoo/portage cp -vR /usr/local/portage /mnt/gentoo/overlay cp -vR /var/log/portage /mnt/gentoo/log
|
Amennyiben van ccache-ünk is úgy értelemszerűen azokat is másoljuk át az új helyre. A /var/tmp/portage tartalmát akár törölhetjük is ha van, felesleges az átmásolásával törődni. Ha mindennel megvagyunk akkor még ellenőrizzük, hogy a vaktában létrehozott szimbolikus linkek is a megfelelő helyre mutatnak.
[szerkesztés] Profil frissítése
Mostmár majdnem készek vagyunk. Egy fontos dolgot hagytunk még ki, ez pedig a profil frissítése. Én a példámban a 32bites, mezei x86 profilt használom, de értelemszerűen mindenki alkalmazza az általa használt profilra.
| Parancs: Profil beállítása |
|
cd /etc rm make.profile ln -s /mnt/gentoo_portage/portage/profiles/default-linux/x86/2007.0/ make.profile
|
[szerkesztés] Utolsó simítások
Apró megjegyzés. Ha futtatunk screen-t, akkor előbb lépjünk ki belőle és úgy futtassuk az env-update-t!
| Parancs: Környezet frissítése |
|
env-update && source /etc/profile
|
Készen vagyunk! :)
