PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl Paket erneuern



schani
16.09.13, 19:45
Hallo zusammen, ich suche nach einer Möglichkeit eine evtl. zerstörte PERL Installation auf Debian 6 sqeeze zu erneuern. Ich habe die aktuellste Version selber kompiliert und ersetzt, aber das hat nicht geklappt.

Ist es möglich ein Paket neu zu installieren, z.B. per Aptitude, ohne es vorher zu deinstallieren? Das deinstallieren klappt ja nicht da dann alle Abhängigkeiten zuerstört werden und alle anderen Programme mit deinstalliert werden.

Wie gehe ich da vor?


Besten Dank für Hilfe

Christian

nopes
16.09.13, 19:55
Perl Pakete listen:
dpkg --get-selections | grep perlReinstall siehe nächsten post.

ThorstenHirsch
16.09.13, 19:55
apt-get install --reinstall <paket>

edit: Hab's auch gerade nochmal mit "apt-get reinstall" ausprobiert, aber das gibt's nicht.

schani
16.09.13, 20:02
Ja aber das funktioniert nicht.

apt-get install --reinstall perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Erneute Installation von perl ist nicht möglich,
es kann nicht heruntergeladen werden.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 28 nicht aktualisiert.


Die Quellen sind aber eingebunden
deb http://ftp.de.debian.org/debian squeeze-updates main

nopes
16.09.13, 20:04
mach mal ein
apt-get update

schani
16.09.13, 20:08
Nee hilft nicht.

nopes
16.09.13, 20:11
Post bitte mal die Ausgabe.

schani
16.09.13, 20:11
Nee hilft nicht.

Anscheinend bekomme ich keinen main Pfad mehr für sqeeze in der source-list Zustande

Sobald ich noch

deb http://ftp.de.debian.org/debian squeeze-updates main
deb http://ftp.de.debian.org/debian/ stable main contrib non-free

eintrage bekomme ich anscheinend die Pakete von Debian7

schani
16.09.13, 20:13
Hier die Augabe mit den oben aufgeführeten Repositorys in der source.list:

root@xxx:/etc/apt# apt-get --reinstall install perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
ca-certificates : Beschädigt: ca-certificates-java (< 20121112+nmu1) aber 20100412 soll installiert werden
libgnutls26 : Beschädigt: ccbuild (<= 2.0.1-1) aber 1.5.7-2 soll installiert werden
E: Beschädigte Pakete

nopes
16.09.13, 20:24
Die Angaben in der source.list sind nicht geschickt gewählt. Zwei Varianten.

du entscheidest dich für eine Klasse, oldstable, stable, testing oder unstable
du entscheidest dich für einen Release-Namen, also squeeze, wheezy, jessie oder sid

Siehe auch hier (https://wiki.debian.org/SourcesList#Distribution).

Beide haben Pros und Cons. Pro Klasse keine Anpassung an der source.list, apt-get update und upgrade, sollte regelmäßig ausgeführt werden.
Pro Release-Name, man weiss was man hat, was mir bei den Klassen schonmal fehlt, daher mag ich die Namen lieber ;)

Wie auch immer ein Kombination ist schlecht und muss korrigiert werden! Mach das, aktualisiere den Paket-Index und probiere es nochmal.

schani
16.09.13, 20:30
Dann wäre das bei mir doch:

deb http://http.debian.net/debian squeeze oldstable

Aber damit komme ich nicht an die Pakete ran

nopes
16.09.13, 20:31
Nein, das ist ja noch krudiger ;)
Nimm diese:
deb http://http.debian.net/debian squeeze main contrib non-free
deb-src http://http.debian.net/debian squeeze main contrib non-free

deb http://http.debian.net/debian squeeze-updates main contrib non-free
deb-src http://http.debian.net/debian squeeze-updates main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-freeWenn du einen ausgeprägten "Freiheits-Fetisch" hast, entferne "non-free".

[EDIT] Nicht Klasse, Release-Namen und Komponenten verwechseln, siehe hier (https://wiki.debian.org/SourcesList#Component).

schani
16.09.13, 20:32
Mom 1234567890

??? Weis nicht was Du meinst

schani
16.09.13, 20:35
ICh probiers mal

schani
16.09.13, 20:48
Super das hat funktioniert. Ich konnte nun perl reinstallieren.

Aber danach bekomme ich dennoch die Meldung:

root@xxx:~# cpan
-bash: /usr/local/bin/cpan: /usr/local/bin/perl: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden

cpan und perl liegen aber in den Pfaden

nopes
16.09.13, 22:22
Na das sind doch gute Neuigkeiten.

Bzgl. CPAN, vernünftiger ist es die Debian Pakete zu verwenden, Beispiel: Du willst das Modul Archive::Zip installieren, das Debian Paket nennt sich libarchive-zip-perl (http://packages.debian.org/squeeze/libarchive-zip-perl). Ich sage dies, weil es meistens keine so gute Idee ist, Dinge am Paketmanager vorbei zu installieren und es gibt für eigentlich alles ein fertiges Debian Paket (einfach mal apt nach den Namen suchen lassen, dabei :: durch - ersetzen; ggf noch ein | grep perl).

Wie auch immer geht natürlich, allerdings musst du das CPAN zu nächst einrichten (vermutlich schlägt deshalb auch der Befehl cpan fehl). Richte es dir also erst ein, siehe dazu hier (http://twiki.org/cgi-bin/view/TWiki/HowToInstallCpanModules#Install_CPAN_modules_into_ your_l) - bedenke auch das make (http://packages.debian.org/squeeze/make) installiert sein muss.