kein upgrade wegen libpam0g

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
inke
Beiträge: 5
Registriert: 01.10.2005 18:24:11
Wohnort: Kressbronn a.B.

kein upgrade wegen libpam0g

Beitrag von inke » 01.10.2005 18:40:51

Hallo,
wenn ich ein "aptitude -f upgrade" oder "aptitude -f dist-upgrade" machen möchte, wird dieses immer abgebrochen mit folgender Fehlermeldung:

Setting up libpam0g (0.76-23) ...
/var/lib/dpkg/info/libpam0g.postinst: line 9: 947 Illegal instruction ldconfig
dpkg: error processing libpam0g (--configure):
subprocess post-installation script returned error exit status 132
Errors were encountered while processing:
libpam0g
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ack! Something bad happened while installing packages. Trying to recover:
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done

Ein "dpkg -l libpam0g" bringt dies:

pF libpam0g 0.76-23 Pluggable Authentication Modules library

Kann mir jemand sagen, was das bedeutet und wie ich libpam0g ordentlich installieren kann?
Ich arbeite auf Debian sarge. Meine apt-sources.list ist auch auf sarge eingestellt.


Grüße,
Inke

crazyed

Beitrag von crazyed » 01.10.2005 19:17:20

Moin,
der aufgerufenen Befehl "ldconfig" ist ein Bestandteil des Paket libc6.
ldconfig findest du unter /sbin, dort sind grob gesehen Systemprogramme die nur der Superuser (root) ausführen darf.
Im Debianpaket libpam0g befindet sich ein Skript mit Namen postinstall. Dort werden die Installationsbefehle gegeben. Wenn die Befehle nicht vom richtigen Benutzer (root) ausgeführt werden gibt es Fehlermeldungen, auch wenn diese durch das Skript aufgerufenen Programme nicht vorhanden oder fehlerhaft sind.
Als erstes würde ich ein "dpkg-reconfigure libc6" machen und mir die Meldungen ansehen.

BTW Willkommen im Forum

inke
Beiträge: 5
Registriert: 01.10.2005 18:24:11
Wohnort: Kressbronn a.B.

Beitrag von inke » 01.10.2005 19:51:39

Hi,

"dpkg-reconfigure libc6" ergibt das:

Current default timezone: 'Europe/Zurich'.
Local time is now: Sat Oct 1 21:35:55 CEST 2005.
Universal Time is now: Sat Oct 1 19:35:55 UTC 2005.
Run 'tzconfig' if you wish to change it.
/var/lib/dpkg/info/libc6.postinst: line 459: 1513 Illegal instruction ldconfig

und in besagter Zeile bzw. Abschnitt steht dies:

# Automatically added by dh_makeshlibs
if [ "$1" = "configure" ]; then
ldconfig
fi
# End automatically added section

Hm???

Gruß,
Inke

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 01.10.2005 20:04:18

Das Verzeichnis "/sbin" sollte in deiner PATH Environmentvariable stehen:

Code: Alles auswählen

echo $PATH
"/sbin/ldconfig" sollte vorhanden sein

Code: Alles auswählen

ls -l /sbin/ldconfig
/sbin/ldconfig
Gruß
gms

inke
Beiträge: 5
Registriert: 01.10.2005 18:24:11
Wohnort: Kressbronn a.B.

Beitrag von inke » 01.10.2005 21:00:55

Hi,

ldconfig ist in /sbin vorhanden.
Ein direktes Ausführen von "ldconfig" endet mit "Illegal Instruction".

Hab damit mal gegoogelt und folgenden Link gefunden:
http://lists.debian.org/debian-glibc/20 ... 00084.html

Scheint ein Bug zu sein von libc6 Version 2.3.5-6

Und was nu? Was gibt es noch für Möglichkeiten? Meinen Kernel 2.2.20-idepci will ich eigentlich nicht ändern.

Gruß,
Inke

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 01.10.2005 23:54:52

inke hat geschrieben:Was gibt es noch für Möglichkeiten? Meinen Kernel 2.2.20-idepci will ich eigentlich nicht ändern.
Ist ja auch noch nicht bewiesen, daß es an dem alten Kernel liegt, es ist aber schon verdächtig, daß dieser Fehler so selten vorkommt und die beiden bekannten Fälle den 2.2er Kernel verwenden. Persönlich wundere ich mich auch, warum du auf der einen Seite Testing (oder gar Unstable) verwendest und auf der anderen Seite mit so einem alten Kernel unterwegs bist. Du könntest ja zumindest testweise einmal einen neueren Kernel installieren. Kannst ja dann immernoch den alten Kernel verwenden.
Andere Möglichkeiten:
a) frühere Versionen vom libc6 Paket ausprobieren (von http://snapshot.debian.net/cgi-bin/packages.cgi). Ist allerdings keine ungefährliche Methode, damit kannst du dir dein System komplett zusammenhauen.
b) Warten bis der Bug behoben wird. Könnte aber sein, daß der nie behoben wird (wenn es wirklich am zu alten Kernel liegt)
d) erstmal versuchen herauszufinden, an was es scheitert und später entscheiden:
Dazu könntest du die Ausgabe von

Code: Alles auswählen

root:~# gdb /sbin/ldconfig
GNU gdb 6.3-debian
(gdb) r
(gdb) bt
(gdb) q
bzw. das Logfile erstellt mit diesem Kommando

Code: Alles auswählen

root:~# strace -o /tmp/ldconfig.log /sbin/ldconfig
auf NoPaste posten

Gruß
gms

inke
Beiträge: 5
Registriert: 01.10.2005 18:24:11
Wohnort: Kressbronn a.B.

Beitrag von inke » 02.10.2005 14:27:55

Danke für die Vorschläge.
Ich habe festgestellt, daß weder gdb noch strace auf meinem System installiert sind und sich diese auch nicht installieren lassen, weil immer wegen libpam0g abgebrochen wird.
Anscheinend kann ich gar nix mehr installieren. Denn mittlerweile hatte ich auch eingesehen, so wie gms schon sagte, daß mein alter Kernel wohl besser doch erneuert werden sollte.
Eine Installation eines neueren Kernels ist aber auch wegen libpam0g und "ldconfig Illegal instruction" fehlgeschlagen.
Nun werde ich wohl doch Debian neu aufsetzen, habe noch ne CD mit Woody, und dann erst einen neueren Kernel installieren bevor ich wieder auf sarge upgrade.

Gruß,
Inke

crazyed

Beitrag von crazyed » 02.10.2005 14:35:29

Moin,
nö, nicht neu aufsetzen. Tut nicht Not, denn du kannst das Paket aus der Liste der installierten Pakete löschen und das Sys so umgehen.
/var/lib/dpkg/status beinhaltet die Pakete und ihren Status. Ändere dort den Status des Pakets was den immensen Ärger macht auf nicht installiert und lösche dessen tatsächlich vorhandenen Bestandteile aus allen Verzeichnissen. Danach sollte es wieder klappen. Ist zwar brutal, aber wenn es nicht anders geht...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 02.10.2005 16:13:27

Neu aufsetzen ist unter Linux praktisch nie notwendig (kaputte Festplatte mal ausgenommen). Du kannst jedes Paket auch manuell installieren und brauchst danach deinem System nur klarmachen, daß dieses Paket auch installiert ist. Beim Kernel genügt es überhaupt die Dateien zu installieren und dem Bootloader bekanntzugeben.
Den Vorschlag von "crazyed" die Dateien des "libc6" Pakets zu löschen solltest du jedoch tunlichst nicht ernstnehmen!!!

Gruß
gms

inke
Beiträge: 5
Registriert: 01.10.2005 18:24:11
Wohnort: Kressbronn a.B.

Beitrag von inke » 02.10.2005 20:54:09

Jetzt hab ich ihn schon neu aufgesetzt. Zunächst habe ich aber tatsächlich erst in /var/lib/dpkg/status rumgefroscht. Meine Eingaben wurden aber nicht akzeptiert und bevor ich mich weiter geärgert hätte, habe ich Debian Sarge neu installiert.

Zur manuellen Paketinstallation, das würde ich so machen, oder?
dpkg -i PAKETNAME.deb

Und wie mache ich das dann dem System bekannt?

Gruß,
Inke

Benutzeravatar
holgerw
Beiträge: 1489
Registriert: 13.03.2003 16:19:00
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Marburg

Beitrag von holgerw » 02.10.2005 21:31:49

inke hat geschrieben:Jetzt hab ich ihn schon neu aufgesetzt. Zunächst habe ich aber tatsächlich erst in /var/lib/dpkg/status rumgefroscht. Meine Eingaben wurden aber nicht akzeptiert und bevor ich mich weiter geärgert hätte, habe ich Debian Sarge neu installiert.

Zur manuellen Paketinstallation, das würde ich so machen, oder?
dpkg -i PAKETNAME.deb

Und wie mache ich das dann dem System bekannt?

Gruß,
Inke
Hi,

wenn Du per dpkg ein Paket installierst, ist es dem System bekannt.

Beste Grüße,
Holger

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 02.10.2005 22:21:16

inke hat geschrieben:Zur manuellen Paketinstallation, das würde ich so machen, oder?
dpkg -i PAKETNAME.deb
Und wie mache ich das dann dem System bekannt?
oder, wenn "dpkg -i " auch nicht mit den force Optionen funktioniert, z.B. weil ldconfig abstürzt:

Code: Alles auswählen

mkdir /tmp/install
dpkg -x PAKETNAME.deb /tmp/install
danach die Dateien manuell an den richtigen Ort kopieren, z.B. mit "cp -a /tmp/install /"
und /var/lib/dpkg/status anpassen (Vorlage in /var/lib/dpkg/available vorhanden)

Gruß
gms

crazyed

Beitrag von crazyed » 02.10.2005 22:38:20

Moin,
sorry wenn das so 'rübergekommen ist die libc6 zu entfernen. Das geht nicht. Ich meinte die libpam0g damit.

Antworten