• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

RPM-Fehler: Nachinstallation von gcc scheitert (SuSE 10.1)

Kask

Newbie
Hallo Forum,

bei mir läuft SuSE 10.1, und ich wollte eigentlich mit YaST den GCC-Compiler nachinstallieren (Paket gcc-4.1.0-25.i586.rpm, von der CD).

Die Installation beendet sich mit
"error: unpacking of archive failed: cpio: lstat failed - Keine Berechtigung"

Die CD ist in Ordnung, Abhängigkeiten geprüft; ich habe das Paket auch nochmals vom Server geladen und es per Konsole versucht, mit demselben Mißerfolg.

Ähnliche Fehler schienen in der Vergangenheit beim Update zwischen Versionen aufgetreten zu sein, bei mir ist es aber eine komplette Neuinstallation.

Leider habe ich trotz umfangreicher Suche keine Hinweise zur Behebung gefunden. Ich wäre sehr dankbar für jeden Tip.
Gruß
Kask
 
OP
K

Kask

Newbie
Hallo traffic,
die Ausgaben lauten

Code:
noname:~ # rpmverify rpm
noname:~ # rpmverify cpio
noname:~ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              4120508   2610676   1509832  64% /
udev                    258152       164    257988   1% /dev
/dev/hda7              6851432    103888   6747544   2% /home
/dev/hda4              3331476    563336   2768140  17% /opt
/dev/hda1             16723912  13399696   3324216  81% /windows/C
/dev/hda6              7061672   3965936   3095736  57% /windows/D

Gruß
Kask
 
OP
K

Kask

Newbie
Hallo traffic,

Code:
noname:~ # mount
/dev/hda2 on / type reiserfs (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/hda7 on /home type reiserfs (rw,acl,user_xattr)
/dev/hda4 on /opt type reiserfs (rw,acl,user_xattr)
/dev/hda1 on /windows/C type ntfs (ro,noexec,nosuid,nodev,gid=100,umask=0002,nls=utf8)
/dev/hda6 on /windows/D type vfat (rw,noexec,nosuid,nodev,gid=100,umask=0002,utf8=true)
securityfs on /sys/kernel/security type securityfs (rw)

nur die C-Windows-Partition ist readonly (hat mit dem Problem nichts zu tun, ist klar)

Gruß
Kask
 
Dann installier das RPM mal von der Konsole im Extra-Verbose-Modus:
Code:
rpm -Uvvh gcc-*.rpm
Beachte das Doppel-v.
 
OP
K

Kask

Newbie
Hallo traffic,

anbei die Ausgabe der manuellen Installation.

Code:
noname:/home/gk/temp # rpm -Uvvh gcc-4.1.0-25.i586.rpm
D: ============== gcc-4.1.0-25.i586.rpm
D: Expected size:       415929 = lead(96)+sigs(264)+pad(0)+data(415569)
D:   Actual size:       415929
D: gcc-4.1.0-25.i586.rpm: Header SHA1 digest: OK (791d8fab92b51ab3a6e1bdb88bf6ccef915166cb)
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:private
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: opening  db index       /var/lib/rpm/Name rdonly:nofsync mode=0x0
D:      added binary package [0]
D: found 0 source and 1 binary packages
D: ========== +++ gcc-4.1.0-25 i586/linux 0x0
D: opening  db index       /var/lib/rpm/Depends create:nofsync mode=0x0
D: opening  db index       /var/lib/rpm/Providename rdonly:nofsync mode=0x0
D:  read h#     164 Header SHA1 digest: OK (50622a77bb7e189585a13b3fd0bb826928684673)
D:  Requires: binutils                                      YES (db provides)
D:  read h#     809 Header SHA1 digest: OK (10fa5eaffd70fdc3a21d5ad55f916f5d90ae528d)
D:  Requires: glibc-devel                                   YES (db provides)
D:  read h#     101 Header SHA1 digest: OK (1641b8a81459a5e8acc2122994f8e6828ef2ffc0)
D:  Requires: cpp = 4.1.0-25                                YES (db provides)
D:  Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1       YES (rpmlib provides)
D:  Requires: rpmlib(CompressedFileNames) <= 3.0.4-1        YES (rpmlib provides)
D: opening  db index       /var/lib/rpm/Basenames rdonly:nofsync mode=0x0
D:  read h#     783 Header SHA1 digest: OK (ee994f7a7d70168b885c6b39dce46d3fafb4021c)
D:  Requires: /bin/sh                                       YES (db files)
D:  read h#      29 Header SHA1 digest: OK (ae3bd2fa17fb9f5a2d50963c15ddce211f21f34c)
D:  Requires: libc.so.6                                     YES (db provides)
D:  Requires: libc.so.6(GLIBC_2.0)                          YES (db provides)
D:  Requires: libc.so.6(GLIBC_2.1)                          YES (db provides)
D:  Requires: libc.so.6(GLIBC_2.2)                          YES (db provides)
D:  Requires: libc.so.6(GLIBC_2.3)                          YES (db provides)
D:  Requires: rpmlib(PayloadIsBzip2) <= 3.0.5-1             YES (rpmlib provides)
D: opening  db index       /var/lib/rpm/Conflictname rdonly:nofsync mode=0x0
D: closed   db index       /var/lib/rpm/Depends
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D:     0    0    0    0    1    0   +gcc-4.1.0-25.i586
D: installing binary packages
D: closed   db index       /var/lib/rpm/Conflictname
D: closed   db index       /var/lib/rpm/Providename
D: closed   db index       /var/lib/rpm/Basenames
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:private
D: opening  db index       /var/lib/rpm/Packages create mode=0x42
D: locked   db index       /var/lib/rpm/Packages
D: mounted filesystems:
D:     i        dev    bsize       bavail       iavail mount point
D:     0 0x00000302     4096       377335           -1 /
D:     1 0x00000003     4096            0           -1 /proc
D:     2 0x00000000     4096            0           -1 /sys
D:     3 0x0000000e     4096            0           -1 /sys/kernel/debug
D:     4 0x0000000d     4096        64497        64047 /dev
D:     5 0x0000000a     4096            0           -1 /dev/pts
D:     6 0x00000307     4096      1686884           -1 /home
D:     7 0x00000304     4096       692035           -1 /opt
D:     8 0x00000301     4096       831054        95140 /windows/C
D:     9 0x00000306     8192       386967           -1 /windows/D
D:    10 0x00000010     4096            0           -1 /sys/kernel/security
D: sanity checking 1 elements
D: opening  db index       /var/lib/rpm/Name create:nofsync mode=0x42
D: running pre-transaction scripts
D: computing 40 file fingerprints
Preparing...                D: computing file dispositions
D: opening  db index       /var/lib/rpm/Basenames create:nofsync mode=0x42
D:  read h#     101 Header SHA1 digest: OK (1641b8a81459a5e8acc2122994f8e6828ef2ffc0)
D:  read h#     638 Header SHA1 digest: OK (69c0f4ab1db2d6b44dd529f38bd077c9cf616380)
########################################### [100%]
D: ========== +++ gcc-4.1.0-25 i586-linux 0x0
D: Expected size:       415929 = lead(96)+sigs(264)+pad(0)+data(415569)
D:   Actual size:       415929
D: gcc-4.1.0-25: Header SHA1 digest: OK (791d8fab92b51ab3a6e1bdb88bf6ccef915166cb)
D:   install: gcc-4.1.0-25 has 40 files, test = 0
   1:gcc                    D: ========== Directories not explicitly included in package:
D:          0 /usr/bin/
D:          1 /usr/lib/
D:          6 /usr/share/man/man1/
D: ==========
D: fini      120777  1 (   0,   0)         3 /usr/bin/cc;44954495
D: fini      100755  1 (   0,   0)    122848 /usr/bin/gcc;44954495
D: fini      100755  1 (   0,   0)     16404 /usr/bin/gccbug;44954495
D: fini      100755  1 (   0,   0)     24048 /usr/bin/gcov;44954495
D: fini      100755  1 (   0,   0)     45240 /usr/bin/protoize;44954495
D: fini      100755  1 (   0,   0)     39900 /usr/bin/unprotoize;44954495
D: undo      040755  3 (   0,   0)         0 /usr/lib/gcc
BZDIO:      31 reads,   253952 total bytes in 0.212439 secs
########################################### [100%]
error: unpacking of archive failed: cpio: lstat failed - Permission denied
D: running post-transaction scripts
D: closed   db index       /var/lib/rpm/Basenames
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: May free Score board((nil))

Gruß
Kask
 
Bitte folgende Info:
Code:
ls -l /usr
ls -l /usr/bin
ls -l /usr/lib
ls -l /usr/lib/gcc
ls -l /usr/lib/gcc/i586-suse-linux
ls -l /usr/lib/gcc/i586-suse-linux/4.1.0
ls -l /usr/lib/gcc/i586-suse-linux/4.1.0/include
ls -l /usr/share
ls -l /usr/share/man
ls -l /usr/share/man/man1
 
OP
K

Kask

Newbie
Hallo,

Code:
ls -l /usr 
ls -l /usr/bin 
ls -l /usr/share 
ls -l /usr/share/man 
ls -l /usr/share/man/man1

bereiten beim Listen keinerlei Schwierigkeiten. Problematisch wird es bei
Code:
ls -l /usr /lib
Das Verzeichniss "gcc" scheint irgendwie zu existieren, aber ich komme nicht rein:

Code:
noname:~/temp # l /usr/lib/ > list.txt
/bin/ls: /usr/lib/gcc: Keine Berechtigung
/bin/ls: /usr/lib/libbluetooth.so.1.0.24: Keine Berechtigung
/bin/ls: /usr/lib/cracklib_dict.hwm: Keine Berechtigung
/bin/ls: /usr/lib/libbluetooth.la: Keine Berechtigung
/bin/ls: /usr/lib/libbluetooth.so: Keine Berechtigung
/bin/ls: /usr/lib/libbluetooth.a: Keine Berechtigung
/bin/ls: /usr/lib/libcpufreq.la: Keine Berechtigung
/bin/ls: /usr/lib/libcpufreq.so: Keine Berechtigung
/bin/ls: /usr/lib/libbz2.a: Keine Berechtigung
/bin/ls: /usr/lib/libImath.so.2.0.2: Keine Berechtigung
/bin/ls: /usr/lib/libbluetooth.so.1: Keine Berechtigung
/bin/ls: /usr/lib/libbz2.la: Keine Berechtigung
/bin/ls: /usr/lib/libbz2.so: Keine Berechtigung

noname:/usr/lib # ls -ld g*
/bin/ls: gcc: Keine Berechtigung
... Restliche Verzeichnisse...

Ratlos verbleibt
Kask,

der glaubt, daß sein Dateisystem möglicherweise inkonsistent ist(?)
 
Ja, da ist ganz eindeutig was kaputt.

Also erstmal: Um den gcc installieren zu können, musst Du das /usr/lib/gcc-Verzeichnis lesbar machen:
Code:
find /usr/lib/gcc -type d -exec chmod 755 {} \;
Danach wird sich der gcc bestimmt problemlos installieren lassen.

Aber da ist noch mehr nicht in Ordnung. Die ganzen Bibliotheken sollten nämlich eigentlich auch lesbar sein.

Mach mal bitte folgendes:
Code:
rpm --setperms -a
SuSEconfig --module permissions
Dadurch werden die Berechtigungen aller Dateien im System auf die Soll-Werte aus der RPM-Datenbank zurückgesetzt.
 
OP
K

Kask

Newbie
So,

es sieht danach aus, als wäre ich der Sache mittlerweile Herr geworden. Leider halfen Deine Vorschläge auch nicht weiter, es kamen nur Fehlermeldungen. Ich habe dann mal einen fsck gemacht aus dem Notsystem heraus und den ganzen Verzeichnispfad reparieren lassen. Nach einigen Anläufen scheint jetzt alles wieder ordnungsgemäß zu funktionieren.

Bis auf weiteres danke ich für die Hilfe, beim nächsten Mal kann ich mir vielleicht schon selbst helfen.

Ich frage mich allerdings, wie man sich so das Dateisystem zerschießen kann.

Gruß
Kask
 
Oben