I próbował uaktualnić swoje moduły Perl przez CPAN, ale nie dostarczyć regex / nazwę modułu, aby uaktualnić: perl -MCPAN -e 'upgrade'
; Mogę założyć tylko najgorsze (co wydaje się być obsługiwane przez dane wyjściowe perldoc perllocal
), tj. Instalują się wszystkie moduły Perla z CPAN.
Jak mogę cofnąć ten bałagan? Chyba mogę to usunąć /usr/local/share/perl
, ale jakie są tego konsekwencje?
Edycja: Nadal mam 95% wolnego miejsca na dysku twardym, więc nie jest to duży problem. Po prostu nie chcę dużo niepotrzebnego bałaganu. Zastanawiam się nad rm
tym katalogiem, wykonaniem dpkg --purge perl
i ponownym apt-get
procesem instalacji CPAN. Ale czy jest to naprawdę konieczne, czy mogę po prostu usunąć niepotrzebne moduły /usr/local/share/perl
?
apt-get
lub Synaptic, aby system dokładnie usunął i zaktualizował wymagane bazy danych.make uninstall
polecenia. Niestety jest to zupełnie inny system zarządzania pakietami. stackoverflow.com/questions/2626449/…Odpowiedzi:
Patrząc na to nieco bliżej, nie sądzę, że musisz lub powinieneś usunąć katalogi lub pliki w systemie.
Uruchomienie polecenia
perl -MCPAN -e 'upgrade'
z wiersza poleceń nie spowoduje zainstalowania dodatkowych modułów w systemie.Będzie próbował jedynie zaktualizować zainstalowane moduły, poprzez system zarządzania pakietami CPAN, a nie przez Synaptic .
Jest to podobne do uruchamiania polecenia „r”, a następnie uruchamiania polecenia uaktualnienia w
cpan[1]>
wierszu polecenia. Zobacz tutaj .CPAN i Synaptic to dwa osobne i odrębne systemy zarządzania pakietami.
To nie zainstaluje wszystkich możliwych modułów Perla z CPAN. Nie zmieni też istniejącego pakietu systemowego dB. Więc na pewno możesz to bezpiecznie wycofać.
Jest to jednak nadal potencjalnie ryzykowne, jeśli aplikacja lub system zależy od konkretnej wersji modułu Perla.
Jeśli przerwałeś proces aktualizacji, istnieje duże prawdopodobieństwo, że uniknąłeś uszkodzenia systemu.
Opcje odzyskiwania:
Z poziomu wiersza poleceń uruchom
cpan
i uruchom polecenie r, aby wyświetlić listę zainstalowanych modułów i dostępnych aktualizacji. Na przykład, oto skrócone wyjście z mojego cpan:Weźmy
Eval::Closure
moduł dla tego przykładu. Powiedzmy, że pozwoliłeś naperl -MCPAN -e 'upgrade'
wykonanie polecenia i masz już zainstalowaną wersję 0.08.Patrząc na Synaptic, w tym przypadku pokaże, że najnowsza wersja w repozytorium nadal będzie wynosić 0,06 (konkretnie, w moim przypadku, 0,06-1).
Możesz przywrócić do wersji systemu, uruchamiając następujące polecenie:
sudo apt-get install --reinstall libeval-closure-perl
Jeśli ręcznie zainstalowałeś moduły Perla i chcesz przywrócić je do poprzedniej wersji, musisz pobrać je ponownie (z source.cpan.org lub z innego miejsca) i ręcznie zainstalować ponownie.
Podsumowując: Aktualizacja modułów Perla w CPAN nie powinna wpływać na repozytorium systemu.
Powodzenia. Nie panikuj.
źródło
Poleciłbym zrobić:
apt-get remove <installed-packages> && apt-get autoremove
(aby usunąć zależności)&& apt-get purge <installed-packages>
(aby usunąć pliki konfiguracyjne po remaningu), możesz usunąć foldery, których nie potrzebujesz, ale to już powinno być zrobione dla ciebie :)źródło