Pokazywanie postów oznaczonych etykietą yum. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą yum. Pokaż wszystkie posty

piątek, 22 lutego 2008

Zepsuty Perl po aktualizacji FC8

Zaktualizowałem dziś system przez wykonanie yum update i przestał działać skrypt do ładowania zdjęć na flickr:


junk '500 Can't locate object method "configure" via package "Net::HTTP"
' before XML element

Pakiet Net::HTTP jest imho częścią Perla jako takiego (wchodzi w skład pakietu libwww-perl). Bliższa inspekcja /var/log/yum ujawniła, że faktycznie Perl został zaktualizowany do wersji 5.8.8-33.fc8, co wskazywało niezbicie źródło problemu. Teraz pozostało tylko odkręcić z powrotem aktualizację do wersji poprzedniej.

Chciałem przywrócić poprzednią wersję ,,porządnie'', ale przeglądają relewantne informacje via Google zorientowałem się że może być z tym problem. Yum nie ma opcji przywracania pakietu w określonej wersji (podobno konkurencyjny apt ma). Istnieje wprawdzie plugin do yuma pn. allowdowngrade (instalowany przez yum install yum-allowdowngrade) tyle, że nie działa, np.:


yum --allow-downgrade localupdate perl-5.8.8-32.fc8.rpm

Status tegoż plugina zresztą jest mocno podejrzany. Zero dokumentacji i/lub śladów (pomyślnego) wykorzystania na stronach google. Ostatecznie użyłem opcji, co do której dokumentacja stwierdza, cyt. zezwala uaktualnianiu na zastąpienie nowszego pakietu starszym:


rpm -Uvh --oldpackage perl-5.8.8-32.fc8.i386.rpm \
perl-libs-5.8.8-32.fc8.i386.rpm perl-ExtUtils-Embed-1.26-32.fc8.i386.rpm \
perl-devel-5.8.8-32.fc8.i386.rpm perl-ExtUtils-MakeMaker-6.30-32.fc8.i386.rpm \
perl-Test-Harness-2.56-32.fc8.i386.rpm perl-Test-Simple-0.62-32.fc8.i386.rpm

Na liście są wszystkie pakiety zależne od perl-5.8.8-32.fc8.i386 zainstalowane podczas ostatniej aktualizacji. Nie wiem czy taki sposób jest w 100% poprawny. Okaże się później. Na forach proponowano też:


yum erase perl

Ale to polecenia chciało usunąć nie tylko Perla ale jeszcze -- w ramach zależności -- pół systemu. Łącznie kilkaset Mb. Nie poszedłem na to:-)

Żeby yum nie usuwał pakietów po instalacji, należy zmienić w pliku /etc/yum.conf


keepcache=1

Ściągnięte pakiety można odnaleźć w katalogu /var/cache/yum/. Zamiast instalować pakiety bezpośrednio poprzez uruchomienie yuma niektórzy radzą używać programu yumdownloader do ściągania plików .rpm a programu rpm do ich instalowania.