Aktualizowanie Gentoo
1.
Gentoo i aktualizacje
Filozofia
W świecie Gentoo słowo aktualizacja ma nieco inne znaczenie od spotykanego w
pozostałych dystrybucjach Linuksa. Nie ma tutaj typowego procesu aktualizacji,
gdzie najpierw oczekuje się na nowe wydanie, ściąga z Internetu, nagrywa na
płytę, żeby ostatecznie uruchomić instalator i przeprowadzić aktualizację.
Taki proces jest dosyć uciążliwy dla zaawansowanych użytkowników, którzy lubią
"życie na ostrzu noża". Z pewnością podobnie myślą również
zaawansowani użytkownicy, korzystający z innych dystrybucji, zważywszy
popularność narzędzi takich, jak apt lub apt-rpm, które służą do dokonywania
częstych i szybkich aktualizacji. Jednak żadna z dystrybucji Linux nie jest
tak dopasowana do oczekiwań takich użytkowników, jak Gentoo Linux. Od początku
projektowana była ona z myślą o częstych i szybkich aktualizacjach systemu.
W idealnym przypadku po jednorazowej instalacji systemu nie ma potrzeby
przejmowania się nowymi jego wydaniami - wystarczy kierować się instrukcjami,
zawartymi we
Wprowadzeniu do Portage w Podręczniku
Gentoo, które wyjaśnią jak regularnie aktualizować system. Jednak czasami
zmiany w systemie są na tyle poważne, że wymagana jest ręczne dokonanie
niektórych czynności aktualizacyjnych.
Wydania i profile
Często nasuwa się pytanie: Po co publikować nowe wydania systemu, jeżeli można
pozwolić użytkownikom samemu go sobie regularnie aktualizować? Otóż jest kilka
powodów:
-
Z każdym nowym wydaniem publikowana jest nowa wersja płyty instalacyjnej
zawierająca wiele poprawek i nowych możliwości.
-
Nowe wydania przynoszą zaktualizowany zestaw pakietów GRP, aby użytkownicy
wybierający prostą drogę instalacji (stage 3 + pakiety binarne) również
mieli możliwość posiadania w miarę aktualnej wersji systemu.
-
Dodatkowo nowe wydanie systemu może od czasu do czasu zawierać nowe
funkcje, których realizacja nie jest możliwa w poprzednich wersjach.
Jeżeli wydanie oferuje nowe możliwości, które nie są kompatybilne z
wcześniejszymi wersjami lub zawiera nowy zestaw pakietów systemowych i
ustawień, które głęboko ingerują w zachowanie systemu, oznacza to, że wydanie
udostępnia nowy profil.
Profil to zestaw plików konfiguracyjnych, zapisanych w podkatalogu w
/usr/portage/profiles, który określa domyślne flagi USE,
domyślne mapowanie pakietów wirtualnych, architekturę systemu oraz które ebuildy
należą do zbioru pakietów systemowych,
Aktualnie używany profil rozpoznawany jest poprzez dowiązanie symboliczne
/etc/make.profile, które wskazuje na podkatalog w
/usr/portage/profiles, w którym z kolei znajdują się pliki
konfiguracyjne profilu. Przykładowo domyślny profil x86 2008.0 znajduje się w
katalogu /usr/portage/profiles/default-linux/x86/2008.0. Pliki
znajdujące się w katalogach nadrzędnych również należą do profilu (są
dziedziczone przez wszystkie podprofile). Stąd noszą one nazwę profili
kaskadowych.
Przestarzałe profile trzymane są wraz z tymi aktualnymi również w
/usr/portage/profiles z tym, że są one specjalnie oznaczone jako
przestarzałe - w katalogu profilu znajduje się plik pod nazwą
deprecated. Plik taki zawiera nazwę nowszego profilu, do którego
powinno się uaktualnić system. Portage wykorzystuje tę informację, aby
automatycznie poinformować użytkownika o konieczności aktualizacji.
Istnieje szereg powodów, dla których tworzony jest nowy profil, jak np.
opublikowanie nowych wersji pakietów systemowych (takich jak baselayout,
gcc lub glibc), które nie są kompatybilne z poprzednimi wersjami,
zmiana w zestawie domyślnych flag USE lub w mapowaniu pakietów wirtualnych,
albo też zmiana w konfiguracji, wpływająca znacząco na cały system.
2.
Podążanie za nowymi wydaniami systemu
Wydania bez nowego profilu
Jeżeli ogłaszane jest wydanie nowej wersji Gentoo, które nie zawiera nowego
profilu, to wiadomość tę można spokojnie zignorować, ponieważ nie są konieczne
żadne zmiany w konfiguracji profilu.
Wystarczy dokonać aktualizacji wszystkich zainstalowanych pakietów zgodnie ze
wskazówkami zawartymi w Podręczniku
Gentoo, aby w systemie zainstalowane zostały dokładnie te pakiety, które
obecne są w nowym wydaniu systemu.
Wydania zawierające nowy profil
Jeżeli nowe wydanie systemu zawiera nowy profil (np. wydanie 2008.0 dla x86),
istnieje możliwość zmiany profilu na nowy.
Oczywiście nikt nikogo nie zmusza do przejścia na nowy profil - można dalej
korzystać z dotychczasowego profilu i tylko uaktualniać pakiety zgodnie z
opisem w Podręczniku
Gentoo.
Jednak zdarza się, że profil po pewnym czasie staje się przestarzały, co
oznacza, że twórcy systemu nie planują go już więcej wspierać. W takim
przypadku zalecane jest przejście na nowszy profil.
W przypadku przejścia na nowy profil konieczne jest ręczne przeprowadzenie
aktualizacji. Ilość czynności do wykonania zależy zwykle od tego, jak poważne
zmiany w konfiguracji systemu niesie ze sobą nowy profil.
W najprostszym przypadku wystarczy zmienić dowiązanie symboliczne
/etc/make.profile, w najgorszym konieczne może się okazać
przekompilowanie całego systemu trzymając kciuki aby potem znowu wstał.
Szczegóły dotyczące przejścia na nowy profil są zwykle zawarte w informacjach
dodatkowych do wydania (release notes). Pomocne wskazówki można znaleźć także na końcu
tego przewodnika.
Wspierane profile
Można wyświetlić listę profili dla naszej architektury oficjalnie wspieranej
przez deweloperów Gentoo po wykonaniu emerge eselect i uruchomieniu
poniższej komendy:
Listing 2.1: Viewing supported profiles |
# eselect profile list
|
3.
Przechodzenie na nowy profil
Podstawowe instrukcje
Ważne:
Należy upewnić się, że Portage jest aktualne przed wprowadzaniem wszelkich zmian
w profilu.
|
Najpierw wykonajmy emerge eselect. Narzędzie eselect pozwala
obejrzeć oraz wybrać profile w prosty sposób, bez konieczności tworzenia lub
usuwania symlinków ręcznie.
Listing 3.1: Wybór profilu przy użyciu eselect |
# eselect profile list
# eselect profile set <numer>
|
Ręczna metoda zmiany profilu jest wciąż dostępna. Wystarczy wykonać poniższe
polecenia.
Listing 3.2: Ręczna zmiana profilu |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<wybrany profil> /etc/make.profile
|
Uwaga:
Istnieją podprofile typu desktop i server dla większości
architektur. Warto przejrzeć te profile dokładnie ponieważ mogą one spełniać
nasze wymagania lepiej od stosunkowo minimalistycznych profili domyślnych.
|
Uwaga:
Profil developer został stworzony z myślą o osobach rozwijających Gentoo
Linux. Nie jest to profil dla programistów.
|
Aktualizacja do wersji 2008.0, 2007.0 lub 2006.1
Jeżeli chcemy przestawić się na jeden z tych profili, należy być świadomym tego,
że system musi mieć ustawione domyślnie lokale w kodowaniu Unicode. Dokonujemy
tego poprzez wpis UNICODE="yes" w pliku /etc/rc.conf. Aby wszystko
zadziałało, musimy mieć również utworzone lokale Unicode dla naszego systemu.
Należy przeczytać dokument Przewodnik po
UTF-8, aby dowiedzieć się więcej o poprawnym tworzeniu lokali.
Alternatywnie, jeżeli nie chcemy ustawiać lokali, powinniśmy do pliku
/etc/rc.conf wpisać linijke UNICODE="no". Dodatkowo należy
przeinstalować pakiet baselayout (lub poczekać do kolejnej aktualizacji
baselayout) z flagą USE unicode. Flagę tę możemy ustawić
indywidualnie dla pakietu baselayout lub dla całego systemu poprzez
dodanie jej do zmiennej USE w pliku /etc/make.conf.
Listing 3.3: Opcjonalnie: Usuwanie wsparcie Unicode |
# echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use
# emerge -a baselayout
# nano -w /etc/make.conf
USE="-unicode"
# emerge -a baselayout
|
Uwaga:
Jeżeli aktualizujemy system do profilu 2007.0 architektury Sparc, to musimy
postępować zgodnie z Przewodnikiem
aktualizacji GCC, ponieważ gcc-4 jest domyślnym kompilatorem.
|
Teraz należy zapoznać się z podstawowymi instrukcjami
przy aktualizacji profilu.
Uaktualnienie do 2006.0
W celu przełączania na profil 2006.0, należy zmienić dowiązanie
/etc/make.profile tak, aby na niego wskazywało. Przed zmianą
profilu należy zaktualizować Portage.
Listing 3.4: Przełączanie na profil 2006.0 |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<wybrany profil> /etc/make.profile
|
alpha - użytkownicy jąder 2.4, które nie obsługuje NPTL, powinni
skorzystać z profilu default-linux/alpha/no-nptl. Więcej informacji znajduje
się w tekście alpha release
notes.
ppc - połączenie profili ppc32 i ppc64 postępuje. Profil ppc32 został
zmieniony tak, aby zawierał minimalny i dość ogólny zestaw informacji. Znajduje
się on w default-linux/ppc/ppc32. Profil tego wydania natomiast został
zoptymalizowany pod kątem pracy na komputerach biurkowych. Znajduje się w
default-linux/ppc/ppc32/2006.0. Ponadto są osobne podprofile dostępne dla
procesorów G3 i G4 oraz G3/Pegasos i G4/Pegasos dla stacji roboczych Pegasos.
Należy się upewnić, że przy migracji na 2006.0 wybiera się odpowiedni
podprofil.
sparc - aktualizacja do opartego na jądrze 2.4 profilu 2006.0/2.4
wymaga bezpośredniej interwencji użytkownika (usunięcia javy) i wykonania
polecenia emerge -e world w związku z aktualizacją gcc.
Aktualizacja do opartego na jądrze 2.6 profilu 2006, który nie jest
uważany za stabilny, wymaga dodania wpisów w
/etc/portage/package.unmask dla wersji 2.6 gentoo-sources i
pełnej ich przebudowy.
Pozostałe architektury - nie ma żadnych poważnych zmian w profilach. Nie
trzeba wykonywać żadnych dodatkowych czynności.
Uaktualnianie do 2005.1
Aby przejść na wybrany profil wystarczy zmienić dowiązanie symboliczne
/etc/make.profile tak, aby wskazywało na lokalizację nowego
profilu. Przed zmianą profilu należy koniecznie zaktualizować Portage do
najnowszej wersji!
Listing 3.5: Przejście na profil 2005.1 |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<wybrany profil>
/etc/make.profile
|
Wszystkie architektury - W tym profilu nie ma żadnych fundamentalnych
zmian, nie trzeba zatem dokonywać żadnych dodatkowych poprawek.
ppc - W wydaniu 2005.1 powstały profile specyficzne dla podarchtektur ppc
i ppc64. Podczas uaktualnienia należy wybrać odpowiedni z nich.
Przejście na profil 2005.0
Wraz z wprowadzeniem profilu 2005.0, w przypadku kilku architektur
zdefiniowane zostały dodatkowe profile. Przed użyciem któregoś z nich należy
koniecznie zapoznać się z ich opisami. Dodatkowo większość architektur
domyślnie używa jądra z serii 2.6 zamiast 2.4.
W przypadku kilku architektur wymagane są dodatkowe czynności, aby przejść na
nowy profil. Poniższa tabela zawiera odnośniki do szczegółowych opisów dla
poszczególnych architektur:
| Profil |
Opis |
Szczegółowe instrukcje |
| default-linux/alpha/2005.0 |
Domyślny profil 2005.0 dla architektury Alpha z jądrem 2.6 |
|
| default-linux/alpha/2005.0/2.4 |
Profil 2005.0 dla architektury Alpha z jądrem 2.4 |
|
| default-linux/amd64/2005.0 |
Domyślny profil 2005.0 dla architektury AMD64 z jądrem 2.6 |
|
| default-linux/amd64/2005.0/no-multilib |
Profil 2005.0 dla architektury AMD64 z wyłączoną obsługą multilib |
|
| default-linux/arm/2005.0 |
Domyślny profil 2005.0 dla architektury ARM z jądrem 2.6 |
|
| default-linux/hppa/2005.0 |
Domyślny profil 2005.0 dla architektury HPPA z jądrem 2.6 |
|
| default-linux/hppa/2005.0/2.4 |
Profil 2005.0 dla architektury HPPA z jądrem 2.4 |
|
| default-linux/mips/2005.0 |
Domyślny profil 2005.0 dla architektury MIPS z jądrem 2.6 |
|
| default-linux/mips/cobalt/2005.0 |
Profil 2005.0 dla architektury Cobalt MIPS |
|
| default-linux/mips/mips64/n32/2005.0 |
Profil 2005.0 dla architektury n32 MIPS |
|
| default-linux/mips/mips64/ip28/2005.0 |
Profil 2005.0 dla 64-bitowej architektury Indigo2 Impact |
|
| default-linux/mips/mips64/2005.0 |
Profil 2005.0 dla 64-bitowej architektury MIPS |
|
| default-linux/ppc/2005.0 |
Domyślny profil 2005.0 dla architektury PPC z jądrem 2.6 |
|
| default-linux/ppc64/2005.0 |
Domyślny profil 2005.0 dla architektury PPC64 z jądrem 2.6 |
|
| default-linux/s390/2005.0 |
Domyślny profil 2005.0 dla architektury S390 z jądrem 2.6 |
|
| default-linux/sparc/sparc32/2005.0 |
Domyślny profil 2005.0 dla 32-bitowej architektury Sparc z jądrem 2.6 |
|
| default-linux/sparc/sparc64/2005.0 |
Domyślny profil 2005.0 dla 64-bitowej architektury Sparc z jądrem 2.6 |
|
| default-linux/x86/2005.0 |
Domyślny profil 2005.0 dla architektury x86 z jądrem 2.6 |
|
| default-linux/x86/2005.0/2.4 |
Profil 2005.0 dla architektury x86 z jądrem 2.4 |
|
Aby przejść na wybrany profil wystarczy zmienić dowiązanie symboliczne
/etc/make.profile tak, aby wskazywało na lokalizację nowego
profilu. Przed zmianą profilu należy koniecznie zaktualizować portage do
najnowszej wersji!
Listing 3.6: Przejście na profil 2005.0 |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<wybrany profil>
/etc/make.profile
|
W przypadku przejścia z jądra z serii 2.4 i na jądro 2.6 należy zapoznać się z
Przewodnikiem migracji Gentoo na jądro
2.6.
Przejście na profil 2004.3
Wprowadzenie profilu 2004.3 nie przynosi znaczących modyfikacji w konfiguracji
systemu (patrz poniżej). Jednakże twórcy systemu zdecydowali się opublikować
ten profil, czyniąc przestarzałymi wiele starszych profili. Miało to na celu
przyspieszenie wprowadzania nowego, drzewiastego systemu profili (stacked
profiles), które posiadają nowy układ katalogów w
/usr/portage/profiles (np.
/usr/portage/profiles/default-linux/x86/2004.3) wpierany przez
portage począwszy od wersji 2.0.51.
Aby przejść na profil 2004.3 wystarczy zmodyfikować dowiązanie symboliczne
/etc/make.profile tak, aby wskazywało na lokalizację nowego
profilu:
Ostrzeżenie:
Przed zmianą profilu należy koniecznie zaktualizować portage!!!
|
Listing 3.7: Zmiana dowiązania symbolicznego /etc/make.profile |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.3 /etc/make.profile
|
Dla wszystkich architektur - Jak zostało już wspomniane nowy profil nie
wnosi większych zmian w konfigurację systemu. Jednakże należy podkreślić, że
pakiety sys-apps/slocate i net-misc/dhcpcd nie są już pakietami
systemowymi, tak więc wykonanie emerge --depclean po zmianie profilu
spowoduje ich usunięcie. Jeżeli są one potrzebne, należy dopisać je do pliku
/var/lib/portage/world albo jeszcze raz ręcznie je zainstalować.
ppc - sys-fs/udev stał się domyślnym zarządcą urządzeń zamiast
sys-fs/devfs. Zmiana ta jednak ma wpływ na nowe instalacje.
Aktualizacja umożliwiająca korzystanie z profili kaskadowych
Pomimo że ten akapit nie wydaje się zbyt dobrze pasować do całego tekstu, jest
on bardzo ważną jego częścią. Każdy profil opisany powyżej tego akapitu wymaga
wersji Portage obsługującej profile kaskadowe. Jeśli użytkownik korzysta ze
starego profilu lub profilu, który uniemożliwia aktualizację Portage, te
wskazówki nie zadziałają.
W celu obejścia tego problemu należy stworzyć tymczasowe dowiązanie symboliczne
do przestarzałego profilu, pozwalając tym samym na aktualizację Portage,
a następnie przejść do dalszej części tego opisu, aktualizując do najnowszych
wersji. Należy zastąpić wpis <arch> nazwą odpowiedniej architektury.
Listing 3.8: Aktualizowanie Portage poprzez przestarzały profil |
# rm /etc/make.profile
# cd /etc
# ln -sf ../usr/portage/profiles/obsolete/<arch> make.profile
# emerge -n '>=sys-apps/portage-2.0.51'
|
Przejście na profil 2004.2
Aby przejść na profil 2004.2 wystarczy zmodyfikować dowiązanie symboliczne
/etc/make.profile tak, aby wskazywało na lokalizację nowego
profilu:
Ostrzeżenie:
Przed zmianą profilu należy koniecznie zaktualizować portage!!!
|
Listing 3.9: Zmiana dowiązania symbolicznego /etc/make.profile |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile
|
x86 - Domyślna implementacja X11 została zmieniona z
x11-base/xfree na x11-base/xorg-x11. Zmiana dotyczy jedynie
wartości domyślnej i ma wpływ tylko wtedy, gdy serwer X jest instalowany po
raz pierwszy. Jeżeli w systemie zainstalowany jest już serwer X, zmiana ta nie
będzie miała żadnych konsekwencji. Zawsze możliwa jest jednak zmiana z jednego
serwera na drugi.
amd64 - Profil nie wnosi żadnych fundamentalnych zmian, przez co nie
są konieczne żadne dodatkowe działania podczas jego zmiany.
Przejście na profil 2004.0
Aby przejść na profil 2004.0 wystarczy zmodyfikować dowiązanie symboliczne
/etc/make.profile tak, aby wskazywało na lokalizację nowego
profilu:
Listing 3.10: Zmiana dowiązania symbolicznego /etc/make.profile |
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-<arch>-2004.0
/etc/make.profile
|
Wszystkie architektury - Profil nie wnosi żadnych fundamentalnych zmian,
przez co nie są konieczne żadne dodatkowe działania podczas jego zmiany.
Przejście z profili starszych niż 1.4 na 1.4
Proces migracji jest dosyć skomplikowany. Szczegółowe instrukcje można znaleźć
tutaj.
Materiał udostępniany na podstawie licencji Creative Commons -
Attribution / Share Alike.
|