Upgrade PLD Ac → Th

Czyli z PLD 2.0 (co z tego, że jeszcze nie istnieje? Robi się nudne, system zawsze wstaje po upgradzie… poza tym GNOME 2.14, który już nie wejdzie do Ac, ponoć jest fajny) na 3.0. Jako że, jak to zwykle w PLD, jest parę kruczków, dla potomności dzieje upgradu opisuję.

Pierwsza rzecz: źródła poldka i poldek --upa. A co mi szkodzi, cały konfig przekleję… te parę ustawień jest dość istotne (zwłaszcza niewyłączenie particle_install). Nowością jest konieczność oddzielnego dopisania źródeł noarch. A .poldekrc wygląda tak:

source = th     http://ftp.pld-linux.org/dists/th/PLD/athlon/RPMS/
source = th-test http://ftp.pld-linux.org/dists/th/test/athlon/RPMS/
source = th-noarch      http://ftp.pld-linux.org/dists/th/PLD/noarch/RPMS/
source = th-noarch-test http://ftp.pld-linux.org/dists/th/test/noarch/RPMS/
use_sudo = yes
confirm_installs = yes
choose_equivalents_manually = yes

Kolejny myk – usunięcie pakietów, które nam będą na pewno bruździły. uninstall --nodeps --nofollow X11* gstreamer*0.8*. Trwa to dłuuuugo (dla każdego X11-font* z osobna przebudowuje bazę czcionek… mamy więc czas na zaparzenie kawy). Ze świeżą kawą zaczynamy imprezę: greedy-upgrade *. I tu się zaczyna wesoło. Najpierw, w jednym z podpakietów glibc (bodajże nscd) mamy niespełnione zależności po symbolach. Nie należy się tym przejmować – po reboocie nie będzie z tym problemów. Właśnie, reboot. Bezpośrednio po upgradzie rpm odmawia współpracy, wykręcając się nieczytelną bazą danych. Szybkie google po komunikacie błędu przenosi nas na jakieś forum userów Mandrake, którzy twierdzą zgodnie, że reboot pomaga. To nie ma prawa działać… ale nie zaszkodzi, a pozbędę się starego glibca z pamięci, więc lecim. Po pół minuty napięcia (wstanie? nie wstanie? wstał, o dziwo bez błędów po drodze) okazuje się, że rpm już z nami rozmawia. Nie rozumiem, ale działa ;) za to stary poldek nie chce gadać z nowym librpm. Ściągam paczkę elinksem, upgraduję poldka ręcznie i już gada – ale warto na przyszłość upgradować poldka przed lub razem z rpm. Jeśli się da.

Kolejna sprawa – rozwiązywanie konfliktów. Dzięki particle_install możemy się tym zająć na bieżąco, tzn. zatrzymywać poldka po każdym pojedynczym skonfliktowanym upgradzie (w zasadzie podczas następnego – ściąganie paczek z sieci jest jedynym momentem, kiedy Ctrl+C powraca do linii poleceń poldka zamiast zamknąć go w całości) odinstalowujemy konfliktujące paczki i powtarzamy do skutku. Nawet nie ma ich aż tak dużo – dwadzieścia, trzydzieści parę, z czego większość lokalnie, ręcznie przekompilowanych. Szkoda bibliotek dla Tcl/Tk razem z Tkabberem, ale za to mam wreszcie motywację, żeby sprawdzić Gajima (zapowiada się całkiem nieźle). Nie mogę się też do teraz dogadać z BMPx i muszę korzystać z XMMS.

Po upgradzie doinstalowujemy, czego nam brakuje (czyli modularne Xorg 7.0, w moim przypadku przebudowujemy sterownik dla Matroksa), konfigurujemy od nowa i system zasadniczo działa. Oczywiście zostaje parę rzeczy do dogadania się (w moim przypadku głównie znalezienie działającego klienta Jabbera, czytaj: upgrade python-sqlite, żeby Gajim mógł ruszyć, i czcionki dla Emacsa, bo w nowych paczkach z iksami czcionki wyszły jakoś dziwnie). Ze śmiesznych rzeczy: żeby gdm ruszył, podlinkowujemy /usr/bin/X do /usr/X11R6/bin/ (TODO: poprawić speca). Kontrolny reboot żeby pozbyć się starych bibliotek i jesteśmy edżi.

  1. mmazur powiedział(a):

    Źródła noarch nie dopisuj osobno, tylko nazwij je tak samo, jak źródła arch. Tzn. jak wpiszesz -n th, to ci zassie jedne i drugie.

Dodaj komentarz: