Jak przywrócić starszą wersję libc6 w Ubuntu?

5

Zainstalowałem valgrind, który zastąpił libc6 na moim systemie Ubuntu 12.04 nieco inną wersją, która zepsuła aplikację w moim systemie. Czy mogę jakoś wrócić do wersji Ubuntu 5.1? Jeśli tak, to gdzie mogę to znaleźć?

Preparing to replace libc6-dev 2.13-20ubuntu5.1 (using .../libc6-dev_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc6-dev ...
Preparing to replace libc-dev-bin 2.13-20ubuntu5.1 (using .../libc-dev-bin_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc-dev-bin ...
Preparing to replace libc-bin 2.13-20ubuntu5.1 (using .../libc-bin_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc-bin ...
Processing triggers for man-db ...
Setting up libc-bin (2.13-20ubuntu5.3) ...
(Reading database ... 192982 files and directories currently installed.)
Preparing to replace libc6 2.13-20ubuntu5.1 (using .../libc6_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc6 ...
Setting up libc6 (2.13-20ubuntu5.3) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
/sbin/ldconfig.real: /usr/local/lib/liblzma.so.5 is not a symbolic link

Selecting previously deselected package libc6-dbg.
(Reading database ... 192982 files and directories currently installed.)
Unpacking libc6-dbg (from .../libc6-dbg_2.13-20ubuntu5.3_amd64.deb) ...
Selecting previously deselected package valgrind.
Unpacking valgrind (from .../valgrind_1%3a3.6.1-0ubuntu3_amd64.deb) ...
Processing triggers for man-db ...
Setting up libc-dev-bin (2.13-20ubuntu5.3) ...
Setting up libc6-dev (2.13-20ubuntu5.3) ...
Setting up libc6-dbg (2.13-20ubuntu5.3) ...
Setting up valgrind (1:3.6.1-0ubuntu3) ...
hlitz
źródło

Odpowiedzi:

4

Największym problemem prawdopodobnie będzie znalezienie dokładnej wersji, którą wcześniej zainstalowałeś .deb, szczególnie jeśli robiłeś to apt-get autocleanpomiędzy.

Ogólnie rzecz biorąc, aby zainstalować określoną wersję, którą zrobiłbyś

sudo apt-get install libc6=2.13-20ubuntu5.1

następnie możesz oznaczyć paczkę jako wstrzymaną, używając:

echo "libc6 hold"|sudo dpkg --set-selections

aby kolejne aktualizacje nie aktualizowały go automatycznie. Problemem byłoby znalezienie kopii lustrzanej ze starą wersją i użycie jej lub znalezienie .debstarej wersji i dpkg -i ...zainstalowanie jej ręcznie.

Spróbuj locate libc6_2.13-20ubuntu5.1_amd64.debsprawdzić, czy masz kopię w pamięci podręcznej.

Jakie są jednak objawy niepowodzenia programu? Możliwe, że istnieją inne rozwiązania problemu niż powrót do starszej wersji libc6.

0xC0000022L
źródło
Znalazłem dokładne pakiety w Google i musiałem rozwiązać niektóre zależności, takie jak instalacja sudo dpkg -i ./libc6_2.13-20ubuntu5.1_i386.deb
hlitz
Znalazłem pakiety, przeglądając dokładną nazwę pakietu i musiałem rozwiązać niektóre zależności: sudo dpkg -i ./libc-bin_2.13-20ubuntu5.1_amd64.deb, a następnie sudo dpkg -i ./libc6_2.13-20ubuntu5.1_i386.deb następnie sudo dpkg -i ./libc6_2.13-20ubuntu5.1_amd64.deb załatwiło sprawę
hlitz
@hlitz: fajnie, cieszę się, że udało ci się wykopać paczki.
0xC0000022L
0

Walczyłem z zależnościami libc-bin, ponieważ zainstalowałem wersję wyższą niż potrzebna. Używanie pakietów deb nie jest sposobem, w jaki powinniśmy aktualizować poszczególne pakiety. Tak więc w moim przypadku:

sudo aptitude install libc-bin

Byłem ciekawy, aby zobaczyć wynik, ponieważ potrzebowałem również obniżonej wersji libc6. Aptitude ma ładne rozwiązanie resolvera, z którego zrobiłem! To było rozwiązanie, którego szukałem. Myślę, że każdy pakiet, który należy obniżyć i ma błąd zależności, może być przez to rozwiązany.

PsyberJocker
źródło