Witam, > Ostatnio przenosiłem system z 32 do 64 bit i większość pakietów była > odinstalowywana i instalowana z --nodeps --nofollow.
Ponieważ mamy weekend postanowiłem również spróbować przenosin. Mam 2 dyski w raidzie, więc wypiąłem jednego z raida, żeby na wszelki wypadek mieć do czego wrócić :) Przyjąłem nieco inną strategię. Na początek zaktualizowałem wszystkie pakiety do najnowszych wersji. Potem dopisałem do /etc/rpm/platform linię "x86_64-.*" (zapewne wystarczyłoby "x86_64-pld-linux", ale to nie istotne). Następnie ściągnąłem z FTP-a kernel w wersji x86_64 i zainstalowałem. Tu miałem drobną niespodziankę, bo geninitrd powiedział: geninitrd: ERROR: RAID devices not found for "/dev/md1", check your configuration! Wrzuciłem komunikat w google i znalazłem poradę, żeby zamienić w skrypcie "/sbin/mdadm -v --examine[...]" na "/sbin/mdadm -v --detail[...]", co też uczyniłem. Geninitrd zadziałał, zrestartowałem, i uruchomiłem na nowym kernelu. Następnie ściągnąłem z FTP-a i zainstalowałem poniższy zestaw pakietów: beecrypt-4.1.2-8.x86_64.rpm bzip2-libs-1.0.5-5.x86_64.rpm db4.7-4.7.25-4.x86_64.rpm elfutils-libelf-0.137-1.x86_64.rpm glibc-2.9-1.x86_64.rpm keyutils-libs-1.2-2.x86_64.rpm libmagic-4.26-3.x86_64.rpm libselinux-2.0.65-2.x86_64.rpm libxml2-2.7.2-3.x86_64.rpm ncurses-5.7-2.x86_64.rpm openssl-0.9.8i-4.x86_64.rpm ossp-uuid-1.6.2-5.x86_64.rpm pcre-7.8-2.x86_64.rpm poldek-0.30-0.20080820.23.8.x86_64.rpm poldek-libs-0.30-0.20080820.23.8.x86_64.rpm popt-1.14-1.x86_64.rpm readline-5.2-2.x86_64.rpm rpm-lib-4.5-8.x86_64.rpm zlib-1.2.3-5.x86_64.rpm Spróbowałem uruchomić poldka, ale nie ruszył, bo brakowało wpisów w ld.so.conf dla katalogów */lib64. Dopisałem je i odpaliłem ldconfig. Poldek zadziałał, i ściągnął listę pakietów dla x86_64. Mogłem zapewne zrobić wszystko w jednym kroku, dopisując do "starego" poldka źródło pakietów x86_64, ale "ręczna" metoda wydała mi się bezpieczniejsza. Nawet jakby coś nie wyszło, to zepsułbym tylko poldka i rpm-a, resztę systemu miałbym nadal działającą. "Nowym" poldkiem zainstalowałem - z pewną nieśmiałością - 64-bitowego basha, i jak zobaczyłem że działa, zacząłem myśleć jakby tu hurtowo zainstalować całą resztę pakietów w wersjach 64-bitowych. W tym celu napisałem taki skrypt: http://pp.siedziba.pl/tmp/install_64bit.pl Funkcja pset() buduje listę pakietów, które występują w wersji i[3456]86, a nie występują w wersji x86_64. Funkcja try_reinstall() próbuje wykonać "poldek --reinstall" na liście pakietów, usuwając z listy pakiety których poldek nie znalazł i próbując ponownie. Skrypt najpierw próbuje zainstalować pakiety x86_64 w dokładnie tych samych wersjach co x86, a jeśli coś zostanie to próbuje ponownie bez numerów wersji. Na koniec wypisuje co pozostało jedynie w 32-bitowej wersji. W moim przypadku do ręcznego przeinstalowania zostały pakiety Perla (były między nimi zależności, z którymi poldek sobie nie poradził), SysVinit (którego w repo nie było, więc zamieniłem na upstart-SysVinit), i garść mniej istotnych drobiazgów. Po uporządkowaniu perla i SysVinit odpaliłem poldka, i usunąłem całą resztę przez "uninstall *.i686". X-y po restarcie od razu nie wstały. Trzeba było zmienić w /etc/X11/xorg.conf ModulePath na: ModulePath "/usr/lib64/xorg/modules" KDE również nie wstało. Musiałem zmienić wszystkie lib na lib64 w /etc/qt/qtrc. Pliku /etc/qt/qt_plugins_3.3rc nie modyfikowałem, właściwe wpisy pojawiły się w nim automagicznie. Od paru godzin testuję efekt migracji. Ogólnie jestem zadowolony i wszystko działa, poza jednym: VirtualBox zawiesza komputer na twardo przy uruchamianiu maszyny wirtualnej. Akurat na tym mi bardzo zależało, żeby móc uruchamiać 64-bitowe wirtualne maszyny. Mam jednak nadzieję, że jakoś ten problem zwalczę. Pozdrawiam _______________________________________________ pld-users-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-users-pl
