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

(GELÖST) error: can't create transaction lock on /var/lib/rp

Hallo,
ich möchte apt über Yast installieren. Dazu habe ich
http://software.opensuse.org/download/home:/rbos/openSUSE_10.2/
als Inst.quelle hinzugefügt.
In Yast bekomme ich apt auch angezeigt, sämtliche ausgewählten Programme (apt/libs,- devels usw.) werden zwar heruntergeladen, aber die Installation scheitert mit dem Detail:

error: can't create transaction lock on /var/lib/rpm/__db.000

Ausser Konqueror und Gaim laufen keine anderen Programme.

Was ist falsch?
 
Startest du YaST auch als root?
=>
Code:
su -
/sbin/yast -i apt apt-libs

Greift evtl. noch ein anderer Prozess auf die RPM-Datenbank zu?
Code:
egrep -i 'rpm|python|yast|zypp'

Falls wirklich kein Prozess in der Prozessliste auftaucht, der auf die RPM-DB zugreift, mal ein
Code:
touch /var/lib/rpm/__db.000
ausführen.
 
OP
R

Redbulluwi

Newbie
Hi,

Code:
egrep -i 'rpm|python|yast|zypp'
ergibt: nichts, stehender Cursor ohne /home/ angabe


Code:
touch /var/lib/rpm/__db.000

ergibt:
linux-lh65:/home/uwi # touch /var/lib/rpm/__db.000
touch: kann „/var/lib/rpm/__db.000“ nicht berühren: Eingabe-/Ausgabefehler

Sobald ich Yast starte wird root Passwort abgefragt. Also bin ich der Meinung Yast als root zu starten oder nicht?

gruß Uwi
 
OP
R

Redbulluwi

Newbie
Hi b3ll3roph0n,

Code:
ps aux | egrep -i 'rpm|python|yast|zypp'

ergibt:

linux-lh65:/home/uwi # ps aux | egrep -i 'rpm|python|yast|zypp'
root 28641 0.0 0.2 2880 760 pts/1 R+ 19:50 0:00 /bin/grep -E -i rpm|python|yast|zypp


gruß Uwi
 
Bitte mal ein
Code:
rpm --rebuilddb
ausführen (als root).
Wichtig: Dabei sollte kein Programm auf die RPM-Datenbank zugreifen.

Ansonsten mal einen fsck der root-Partition ausführen (von einer Live-CD, da ein fsck nicht auf gemountete Dateisysteme erfolgen sollte).
 
OP
R

Redbulluwi

Newbie
Hi b3ll3rophon,


Code:
rpm --rebuilddb

ergibt:

Code:
uwi@linux-lh65:~> su
Passwort:
linux-lh65:/home/uwi # rpm --rebuilddb
error: can't create transaction lock on /var/lib/rpm/__db.000
linux-lh65:/home/uwi #

fsck mach ich heute abend, (grad keine Live CD zur Hand :oops: )

gruß Uwi
 
Was gibt denn
Code:
ls -las /var/lib/rpm/__db.000
aus?

Versuch mal die Lock-Datei vorher zu löschen (und dann die DB rebuilden)
Code:
rm -i /var/lib/rpm/__db.000
(Auch hier gilt: Vorher unbedingt sicherstellen, dass kein Prozess auf die RPM-Db zugreift)

Den Filesystemcheck solltest du aber trotzdem durchführen.
 
OP
R

Redbulluwi

Newbie
So, jetzt wirds interessant:

Code:
linux-lh65:/home/uwi # ls -las /var/lib/rpm/__db.000
ls: Zugriff auf /var/lib/rpm/__db.000 nicht möglich: Datei oder Verzeichnis nicht gefunden

und

(somit klar...)

Code:
linux-lh65:/home/uwi # rm -i /var/lib/rpm/__db.000
rm: Entfernen von „/var/lib/rpm/__db.000“ nicht möglich: Datei oder Verzeichnis nicht gefunden

nur, wo ist sie hin???

Code:
/var/lib/rpm/

ist vorhanden.
 
A

Anonymous

Gast
Dann könntest Du _jetzt_ versuchen mit "touch" als root die entsprechende Datei anzulegen.

Code:
touch /var/lib/rpm/__db.000

Danach das

Code:
rpm --rebuilddb
versuchen, wobei die Datei zumindest für root natürlich auch beschreibbar sein muß.

Trotzdem ist dieses Verhalten seltsam, welche Dateien befinden sich denn sonst noch in /var/lib/rpm?

Greetz,

RM
 
A

Anonymous

Gast
Jupp, sorry, daran hatte ich nicht mehr gedacht.

b3ll3roph0n hat natürlich recht.

Erst wenn fest steht, daß das Filesystem OK ist, sollte man weitermachen.

Greetz,

RM
 
OP
R

Redbulluwi

Newbie
Hi,

Code:
ls -las /var/lib/rpm/

ergibt:
Code:
linux-lh65:/home/uwi # ls -las /var/lib/rpm/
insgesamt 53378
    1 drwxr-xr-x  3 root root      536 13. Mär 18:15 .
    1 drwxr-xr-x 42 root root     1120 27. Feb 21:47 ..
    0 drwxr-xr-x  2 root root      312 27. Feb 22:15 alternatives
 6514 -rw-r--r--  1 root root 10104832 12. Mär 21:35 Basenames
   12 -rw-r--r--  1 root root    12288 27. Feb 22:18 Conflictname
 2402 -rw-r--r--  1 root root  2457600 12. Mär 21:35 Dirnames
 7798 -rw-r--r--  1 root root 10457088 12. Mär 21:35 Filemd5s
   24 -rw-r--r--  1 root root    24576 12. Mär 21:35 Group
   44 -rw-r--r--  1 root root    45056 12. Mär 21:35 Installtid
   44 -rw-r--r--  1 root root    45056 12. Mär 21:35 Name
35407 -rw-r--r--  1 root root 36225024 12. Mär 21:35 Packages
  445 -rw-r--r--  1 root root   643072 12. Mär 21:35 Providename
  124 -rw-r--r--  1 root root   126976 12. Mär 21:35 Provideversion
   12 -rw-r--r--  1 root root    12288 27. Feb 21:02 Pubkeys
  256 -rw-r--r--  1 root root   274432 12. Mär 21:35 Requirename
  164 -rw-r--r--  1 root root   167936 12. Mär 21:35 Requireversion
   80 -rw-r--r--  1 root root    86016 12. Mär 21:35 Sha1header
   40 -rw-r--r--  1 root root    45056 12. Mär 21:35 Sigmd5
   12 -rw-r--r--  1 root root    12288 27. Feb 22:11 Triggername
linux-lh65:/home/uwi #

fsck ist in der Mache, kriegs unter DSL nicht hin, besorg mir morgen eine andere LIVE CD (Knoppix).

grüße Uwi
 
OP
R

Redbulluwi

Newbie
Hi, so etwas spät, war leider krank.:oops:

reiserfsck auf hda5,7 und 8 durchgeführt. Auf Hda5 (root) war einiges nicht ok.
Code:
fsck -f /dev/hda5

dort musste ich ziemlich oft reparieren bestätigen.

Nur kann ich mit dem, was in "Lost+Found" liegt wenig anfangen.

Soll ich nun vorgehen wie Rain Maker es vorschlägt, oder ist noch etwas zu beachten?

gruß Uwi
 
Versuch jetzt einfach ein
Code:
rpm --rebuilddb

Bei den Dateien in lost+found kannst du mit
Code:
file datei
den Dateityp bestimmen und dann die jeweilige Datei mit dem entsprechenden Programm anschauen.
 

Mr. Spock

Hacker
Hallo,

ich habe auch obiges Problem. Ich wollte in der Konsole ein rpm-Paket installieren (als User) und dann kam die Meldung
Code:
error: can't create transaction lock on /var/lib/rpm/__db.000

Ein
Code:
rpm --rebuilddb
hab ich gemacht (als root, denn als User geht das ja anscheinend nicht). Hat nichts gebracht. Ich habe allerdings nicht versucht, das Paket als Root zu installieren, eigentlich ging ich davon aus, dass es als User gehen müsste. Oder müsste dann nicht zumindest die Meldung kommen, dass ich Root-Rechte brauche statt einer solch merkwürdigen Fehlermeldung.

Also Frage: Was genau bedeutet dieser Fehler? Kann es einfach an den Rechten liegen oder ist wirklich was kaputt?

Wie beim Threadersteller ist diese __db.000-Datei nicht existent. Ich habe sie mit touch erstellt, hat aber nichts gebracht.

Was kann ich jetzt tun?
 

admine

Ultimate Guru
Mr. Spock schrieb:
Code:
error: can't create transaction lock on /var/lib/rpm/__db.000
Eigentlich sagt die Fehlermeldung alles.
Du bist nicht in der Lage in /var/lib/rpm das File zum Sperren der RPB-DB anzulegen.
Gründe können da mindestens 2 sein:
Du bist nicht root und hast von daher keine Berechtigung.
Oder du bist root, die RPM-DB ist aber gesperrt, weil sie von einem anderen Programm/Prozess benutzt wird.
 

Mr. Spock

Hacker
Ok, nach eurer Aussage heißt das also, dass der Fehler in erster Linie gar keiner ist, sondern dass es nur daran liegt, dass ich versucht habe, das Paket als User zu installieren? Komisch, dass dann nicht einfach eine Meldung wie "fehlende Berechtigung" kommt.

Ich werd's heute Abend mal als root versuchen, hoffentlich klappt es dann.

Danke soweit!
 
Oben