Ich habe versucht, meine Perl-Module über CPAN zu aktualisieren, habe jedoch keinen Regex- / Modulnamen für das Upgrade angegeben : perl -MCPAN -e 'upgrade'
; Ich kann nur das Schlimmste annehmen (was von der Ausgabe von unterstützt zu werden scheint perldoc perllocal
), dh alle Perl-Module von CPAN werden installiert.
Wie kann ich dieses Durcheinander rückgängig machen? Ich nehme an, ich kann entfernen /usr/local/share/perl
, aber was bedeutet das?
Bearbeiten: Ich habe immer noch 95% freien Speicherplatz auf meiner Festplatte, daher ist dies kein großes Problem. Ich will einfach nicht viel unnötiges Durcheinander. Ich denke darüber nach, rm
dieses Verzeichnis zu dpkg --purge perl
durchsuchen, den apt-get
CPAN-Installationsprozess durchzuführen und zu wiederholen . Aber ist es wirklich notwendig oder kann ich einfach die unnötigen Module entfernen /usr/local/share/perl
?
apt-get
oder Synaptic zu verwenden, damit das System die Löschung gründlich durchführt und die erforderlichen Datenbanken aktualisiert.make uninstall
Befehl folgen . Es ist leider ein völlig anderes Paketverwaltungssystem. stackoverflow.com/questions/2626449/…Antworten:
Bei näherer Betrachtung denke ich nicht, dass Sie Verzeichnisse oder Dateien auf Ihrem System löschen müssen oder sollten .
Wenn Sie den Befehl
perl -MCPAN -e 'upgrade'
über die Befehlszeile ausführen, werden keine zusätzlichen Module auf Ihrem System installiert.Es wird nur versucht, installierte Module über das CPAN-Paketverwaltungssystem und nicht über Synaptic zu aktualisieren .
Dies ähnelt dem Ausführen des Befehls 'r' und dem anschließenden Ausführen des Befehls upgrade an der
cpan[1]>
Eingabeaufforderung. Siehe hier .CPAN und Synaptic sind zwei separate und unterschiedliche Paketverwaltungssysteme.
Dadurch werden nicht alle möglichen Perl-Module von CPAN installiert. Das vorhandene Systempaket dB wird auch nicht geändert. Sie können dies also definitiv sicher zurückrollen.
Dies ist jedoch immer noch potenziell riskant, wenn eine Anwendung oder Ihr System von einer bestimmten Version eines Perl-Moduls abhängt.
Wenn Sie den Aktualisierungsprozess unterbrochen haben, stehen die Chancen gut, dass Sie eine Beschädigung Ihres Systems vermieden haben.
Wiederherstellungsoptionen:
Starten Sie
cpan
den Befehl r und führen Sie ihn über eine Befehlszeile aus, um die Liste der installierten Module und verfügbaren Upgrades anzuzeigen. Hier ist zum Beispiel die abgekürzte Ausgabe von meinem cpan:Nehmen Sie
Eval::Closure
für dieses Beispiel das Modul. Angenommen, Sie lassen denperl -MCPAN -e 'upgrade'
Befehl abschließen und haben jetzt Version 0.08 installiert.Wenn Sie sich Synaptic ansehen, wird in diesem Fall angezeigt, dass die neueste Version im Repository immer noch 0,06 ist (insbesondere in meinem Fall 0,06-1).
Sie können ein Rollback auf Ihre Systemversion durchführen, indem Sie den folgenden Befehl ausführen:
sudo apt-get install --reinstall libeval-closure-perl
Wenn Sie Perl-Module manuell installiert haben und auf eine frühere Version zurücksetzen möchten, müssen Sie sie erneut herunterladen (entweder von source.cpan.org oder anderswo) und manuell neu installieren.
Zusammenfassend: Das Aktualisieren von Perl-Modulen in CPAN sollte sich nicht auf Ihr System-Repository auswirken.
Viel Glück. Keine Panik.
quelle
Ich würde empfehlen, Folgendes zu tun:
apt-get remove <installed-packages> && apt-get autoremove
(um Abhängigkeiten zu entfernen)&& apt-get purge <installed-packages>
(um verbleibende Konfigurationsdateien zu entfernen), dann können Sie die Ordner entfernen, die Sie nicht benötigen, aber es sollte bereits für Sie erledigt sein :)quelle