Gentoo frissítése
emerge — configuration — ebuild repository — dispatch-conf
world file — USE flags — ebuilds — profiles
upgrades — using testing packages — binary packages
tools — gentoolkit — eselect
Portage FAQ — cheat sheet — FAQ
all articles
A Gentoo rendszernek megvan a saját megközelítése a frissítésekhez. Ez a dokumentum elmagyarázza, hogy hogyan kell frissíteni a Gentoo rendszert, és hogyan kell eljárni egy jól karbantartott rendszer érdekében.
Fontos, hogy a Gentoo naprakész legyen. Amellett, hogy a legújabb biztonsági javítások meglétére szükség van, a Gentoo rendszereknek nem szabad túlságosan szinkronizálatlanoknak lenniük az aktuális verzióval, mert akkor néha bonyolulttá válik a frissítésük.
Frissítse a Gentoo Linux rendszert naponta és hetente, hogy a Gentoo Linux rendszer zökkenőmentesen működjön a legújabb biztonsági frissítésekkel. Néhány hétnél tovább várva a frissítés kissé bonyolultabbá teheti a dolgokat a frissítési kísérlet során. Azonban kérjük Önt, hogy ne szinkronizáljon naponta többször. Így a szerverek megterheltségét jobban el tudjuk kerülni.
A tíz vagy annál több éves rendszereket érintő utasítások itt nem maradnak meg. A korábbi verziók elolvasásáért kérjük, hogy tekintse meg az oldalelőzményeket.
A Gentoo architektúráról és frissítéseiről
A Gentoo eltér a legtöbb Linux disztribúciótól a frissítések terén. A legtöbb disztribúció rendszeres, néhány hónaponként vagy évente megjelenő kiadással rendelkezik, amelyek bizonyos disztribúciók esetében előre látható események.
Ezzel szemben a Gentoo egy gördülő kiadású (angolul rolling release) disztribúció. Nem kell megvárni a kiadás megjelenését annak érdekében, hogy Ön megkaphassa a programcsomagok legújabb verzióját. Ugyanis a szoftver azonnal telepíthetővé válik, mihelyt a fejlesztése belelépett a stabil szakaszába. A Gentoo-t a kezdetektől fogva a gyors, fokozatos frissítések koncepciója köré tervezték, és a Gentoo szoftverek gyakran frissülnek, a legtöbb naponta, új, és frissített csomagokkal. A Gentoo sajátosságairól további információk találhatók a gyakori kérdésekben, a kiadások és a Gentooról, valamint arról, hogy mitől különbözik a Gentoo.
A szoftver telepítése után a rendszeres frissítések minden csomagot az elérhető legújabb verzión tartanak.
Ritka esetekben az alaprendszeren, bizonyos csomagokon végrehajtott változtatások, profilmódosítások, vagy a Portage bizonyos frissítései manuális beavatkozást igényelhetnek a frissítés alatt vagy után. Egy hírt teszünk közzé az ilyen kritikus esetekben és/vagy a Gentoo szoftvertároló leszinkronizálása után jelezzük azt közzé. Mindig olvassa el és kövesse a híreket és a Portage üzeneteit.
A profilok központi szerepet töltenek be a Gentoo rendszerben, mert meg tudják határozni a rendszer alapvető funkcióit, és új profilok válnak elérhetővé, ha alapvető változások következnek be a Gentoo működésében. Egy profilt a telepítéskor választanak ki, a rendszer rendeltetésének megfelelően, és általában csak szükség esetén, vagy a frissítés miatt módosítanak.
Csomagok frissítése
A kézikönyv részletes információkat tartalmaz a Gentoo szoftvertároló frissítéséről és a rendszer frissítéséről. Részletesebb információkért tekintse meg a man emerge súgót. Tekintse meg a szoftvertároló szinkronizálását, hogy teljes információt kapjon arról, hogy hogyan használhatja az emaint parancsot a szoftvertárolók szinkronizálására.
Fontos, hogy elolvassa és kövesse az összes olyan hírt, amely a szoftvertároló szinkronizálása után megjelenhet.
Az összes telepített csomag frissítéséhez a legfrissebb elérhető verzióra, először frissítse a Gentoo szoftvertárolót az emaint segítségével:
root #
emaint --auto sync
Vagy röviden:
root #
emaint -a sync
Ez olyan üzeneteket jeleníthet meg, amelyeket el kell olvasni és követni kell őket. Különösen a korábban említett hírelemeket kell figyelembe venni. Ha a konfigurációs fájlok frissítése függőben van egy korábbi frissítésből, akkor emlékeztethet a konfigurációs fájlok frissítésére.
Futtassa az emerge parancsot a függőségekkel együtt történő teljes rendszerfrissítés érdekében:
root #
emerge --ask --verbose --update --deep --newuse @world
Vagy a rövid opciókkal:
root #
emerge -avuDN @world
A --changed-use
használható a --newuse
helyett, de csak akkor, ha nem építünk bináris csomagokat. A --changed-use
nem indítja el az újratelepítést, ha letiltott USE jelölőzászlókat adnak hozzá vagy távolítanak el egy csomagból. Tekintse meg a Bináris-csomagok útmutatót.
A --with-bdeps=y
kapcsoló használható a bináris kódra történő fordítási időben lévő függőségek frissítésére is.
Ügyeljen a Portage által a frissítés végén közölt információkra. Ezeknek az információknak egy része elérhető lehet a Portage naplóban.
Ha a Portage függőségi problémákat jelez, akkor néha segíthet a --backtrack=30
(vagy még nagyobb szám) használata. Alapértelmezés szerint a Portage viszonylag alacsony határt szab arra vonatkozóan, hogy mennyi ideig próbálja feloldani a függőségeket (teljesítmény okokból), és esetenként ez a kis idő nem szokott elég lenni.
Minden konfigurációs fájl változást kezelni kell. Ez a dispatch-conf segítségével kezelhető:
root #
dispatch-conf
Takarítás frissítés után
A frissítés után a Portage az emerge --depclean futtatását javasolja. Legyen nagyon óvatos az emerge --depclean parancs futtatásakor, ugyanis az eltávolíthatja a fontos csomagokat (például a kernelforráskódokat vagy a virtuális csomagok opcionális függőségeit, ha egy alternatívát egyesítenek).
Az elárvult csomagok eltávolítása című témakörben arról tájékozódhat, hogy hogyan használhatja az emerge --depclean parancsot a potenciálisan nem használt csomagok biztonságos eltávolításához. Tekintse meg a Portage GYIK-et.
Profilfrissítések utasításai
A profil módosítása előtt olvassa el a vonatkozó dokumentációt.
Nagyon erősen javasoljuk, hogy olvassa el a systemd dokumentációját még mielőtt magára a systemd profilra átváltana.
Győződjön meg arról, hogy a fő Gentoo szoftvertároló (a Portage fa) szinkronizálva van, még mielőtt bármilyen profilmódosítást végrehajtana.
Amikor elérhetővé válik egy új profil, akkor a Portage egy hír-darabkával tájékoztatja a felhasználót. (A weboldalon a legfrissebb hír-darabkák szerepelnek).
Ha egy rendszer túl régi, akkor nem biztos, hogy a rendszer frissítése a jó megoldás. Sőt! Egyszerűbb lehet a nulláról kezdeni a dolgok és újra egyszerűbb lehet azt felépíteni.
Általában nem kötelező az új profilra átváltani, amikor az új megjelenik. A rendszerek továbbra is használhatják a régi profiljukkal, nem fognak a működésükben leállni, ha megmaradnak a régi profilnál. A Gentoo azonban erősen javasolja a profil frissítését, ha elavulttá válik, mivel ez azt jelenti, hogy a Gentoo fejlesztők már nem tervezik a támogatást.
A profilfrissítések manuálisan hajtódnak végre. A frissítés módja profilonként jelentősen eltérhet. Attól függ, hogy milyen mélységűek az új profilban bevezetett módosítások. A legegyszerűbb esetben a felhasználóknak csak az eselect eszközt kell használniuk az /etc/portage/make.profile symlink megváltoztatásához. A legrosszabb esetben az egész rendszert a semmiből kell újrafordítaniuk, jelentős újrakonfigurálással (bár a változtatások általában nem túlságosan kemények, és jól el vannak magyarázva. A legfontosabb, hogy emlékezzen az utasítások megfelelő követésére).
A vonatkozó hírben található, hogy pontosan mi szükséges az új profilra való átálláshoz.
Általános utasításokat
Ez egy általános vázlat a profil frissítéséhez. Amint azt korábban említettük, minden egyes új profilhoz konkrét utasításokat adunk hírek darabkában. A profilfrissítés gyakran kézi beavatkozást igényel, nemcsak a profilverzió váltásán.
L legtöbb architektúrához vannak asztali alprofilok. Alaposan vizsgálja meg ezeket a profilokat, mert jobban megfelelhetnek a követelményeknek, mint a rendkívül minimális alapértelmezett profilok.
A fejlesztői alprofil kifejezetten a Gentoo Linux rendszert fejlesztő feladatokhoz való. Nem vívatott segíteni az általános fejlesztői környezetek felállítását.
Profil váltása az eselect parancs segítségével
Győződjön meg arról, hogy a szülő részben lévő figyelmeztetéseket elolvasta.
Az automatikus eszközzel való profilváltáshoz telepíteni kell az app-admin/eselect alkalmazást. Az eselect segédprogram megkönnyíti a profilok megtekintését. Továbbá, megkönnyíti az Önnek megfelelő profil kiválasztását anélkül, hogy kézzel symlink-eket kellene létrehozni vagy eltávolítani:
root #
eselect profile list
root #
eselect profile set <number>
Profil váltása manuálisan
Győződjön meg arról, hogy a szülő részben lévő figyelmeztetéseket elolvasta.
A profilok kézi módosítása továbbra is támogatott:
root #
rm /etc/portage/make.profile
root #
cd /etc/portage
root #
ln -s ../../var/db/repos/gentoo/profiles/<selected profile> make.profile
Frissítés a 17.1 verziószámú profilra
Tekintse meg a megfelelő hírdarabkát. Ezen a ponton már minden telepítésnek a 17.1-es profilt kell használnia, és a migráció nehézkes lehet.
Frissítés a 17.0 verziószámú profilra
Tekintse meg a megfelelő hírdarabkát. Ezen a ponton minden telepítésnek a 17.1-es profilt kell használnia, és a migráció nehézkes lehet.
Régi rendszerek frissítése
Néha a rendszerek túl régiek ahhoz, hogy könnyen frissíthetőek legyenek. Lehet, hogy frissíthet manuálisan egy nagyon régi rendszert, de lehet, hogy jobb a nulláról kezdeni az egész munkát, és a rendszer konfigurációs fájljait át kell másolni a régi rendszerből az új rendszerre.
Itt csak egy felületesen leírt, útmutató található egy régi rendszer frissítéséhez. Egy másik módszer here olvasható.
Tartalmi összefoglaló
Az ötlet ezzel a frissítési megközelítéssel az, hogy létrehozunk egy köztes felépítésű chroot-ot, amelyben a legfrissebb stage3 tömörített fájlt kicsomagoljuk. Ezt követően a chroot-ban (a kitömörített stage3 -ban) megtalálható eszközökkel frissítjük a csomagokat a live rendszeren.
Az alábbi parancsok hiányosak lehetnek, ezért azok munkautasítások helyett inkább csak iránymutatásként szolgálnak. Ha Önnek nem egyértelmű ez a fajta megközelítés, akkor gyorsabb lehet biztonsági másolatot készíteni a fontos fájlokról, majd újratelepíteni az egész Gentoo rendszert.
A köztes build chroot előkészítése
Először hozzuk létre a közbenső build chroot helyét, mondjuk /mnt/build, és bontsunk ki egy friss stage3 archívumot.
root #
mkdir -p /mnt/build
root #
tar -xf /path/to/stage3-somearch-somedate.tar.bz2 -C /mnt/build
root #
mount --rbind /dev /mnt/build/dev
root #
mount --rbind /proc /mnt/build/proc
root #
mount --rbind /sys /mnt/build/sys
Ezután létrehozunk egy csatolási pontot ebben a chroot környezetben, amelyre az live (régi) környezetet bind-mountoljuk.
root #
mkdir -p /mnt/build/mnt/host
root #
mount --rbind / /mnt/build/mnt/host
Így most már az live (régi) rendszer is elérhető a /mnt/build/mnt/host útvonalon belül. Ez lehetővé teszi számunkra, hogy elérjük a live (régi) rendszert, és frissítsük a csomagokat még akkor is, ha az köztes a build chroot-on belül chroot-oljuk.
Hálózat, chroot, és frissítés
Az új telepítésnek hozzá kell férnie a hálózathoz, ezért másolja át a hálózattal kapcsolatos információkat:
root #
cp -L /etc/resolv.conf /mnt/build/etc/
Most chroot-oljon be a köztes összeállítási helyre, és kezdje el frissíteni a létfontosságú csomagokat a live rendszeren, amíg a live rendszert nem lehet frissíteni az élő rendszeren belülről (nem pedig a köztes build chroot segítségével):
root #
chroot /mnt/build
root #
source /etc/profile
root #
export PS1="(chroot) ${PS1}"
(chroot) root #
emerge --sync
Jó ötlet lehet ellenőrizni, hogy a profil és a Portage konfiguráció kompatibilis-e a (régi) live rendszer és a chroot között.
Most kezdje el beépíteni a csomagokat a (régi) live rendszerbe. Ha a Portage régi vagy hiányzik, akkor érdemes ezzel kezdeni:
(chroot) root #
emerge --root=/mnt/host --config-root=/mnt/host --verbose --oneshot sys-apps/portage
Tartsa nyitva ezt a chroot-olt munkamenetet, és próbálja meg frissíteni a (régi) live rendszert. Hiba esetén használja ezt a chroot-olt munkamenetet a csomagok frissítésére a köztes chroot összeállításban elérhető összeállítási eszközökkel (amelyek közé tartozik a legfrissebb sys-libs/glibc, sys-devel/gcc stb.). Az eszközök szükség szerint hozzáadhatók a build chroot-hoz.
Ne feledje el hozzáadni a
--root=/mnt/host --config-root=/mnt/host
parancsot a chroot-on belül végrehajtott összes emerge parancshoz! Máskülönben maga a chroot fog frissülni, nem pedig a (régi) live rendszer.Egyes telepítéseknél szükség lehet a konfigurációs fájlok frissítésére az új szoftver telepítéséhez. Hajtsa végre a változtatásokat a chroot környezetben.
Annak érdekében, hogy a rendszer teljesen naprakész legyen, mielőtt kilép a gyökér könyvtárból, építse be a @world
készletet (az összes csomagot) a (régi) live rendszerbe:
(chroot) root #
emerge --root=/mnt/host --config-root=/mnt/host --update --newuse --deep --ask @world
Amint elkészült, a rendszernek naprakésznek kell lennie!
További olvasnivaló a témában
- Régi Gentoo telepítések frissítése
- Újratelepítés nélkül frissíthetem-e a Gentoo rendszert az egyik kiadásról a másikra?
- A frissítésekkel kapcsolatos Cheat Sheet
- Kézikönyv a frissítésekről
- Installation — an overview of the principles and practices of installing Gentoo on a running system. - Attekintés a Gentoo futó rendszerre való telepítésének elveiről és gyakorlatáról.
Külső források
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Gregorio Guidi, Chris Gianelloni, Joshua Saddler
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.