mendapatkan kesalahan "Tidak dapat membuat kunci transaksi" dengan rpm

8

Saya perlahan-lahan membuat kemajuan dalam menginstal Fedora ke Volume Logis untuk DomU menggunakan Manajemen Paket. Saya telah (dengan bantuan orang-orang hebat di Unix & Linux ) menyelesaikan sejumlah masalah, terutama seputar rpm(lihat tautan di bawah):

Saya menggunakan --rootopsi dengan rpmuntuk mengubah versi rpm yang baru saya buat /mnt/fedRoot. Saya juga diarahkan rpmuntuk melihat rpmrcfile di folder build, bukan pada yang sebenarnya /var/lib/rpm. Sekarang Sayangnya, pada setiap file rpm saya menjalankan meskipun saya mendapatkan: error: can't create transaction lock on /mnt/fedRoot (Is a directory). Mencari online, saya menemukan beberapa halaman yang menunjukkan ini adalah masalah dengan __db.*. Meskipun menghapus mereka dan membangun kembali db di rpmfolder saya memperbaiki masalah lain, saya masih mendapatkan transaction lockkesalahan.

Adakah yang memiliki wawasan tentang kesalahan ini?

Hari Seldon
sumber
1
Jika Anda memiliki file bernama / var / lock / rpm / transaction, coba hapus.
fpmurphy
1
apakah direktori itu /mnt/fedRoot/var/lib/rpmada? dalam analogi dengan redhat.com/archives/rpm-list/2007-May/msg00046.html , apa rpm --root=/mnt/fedRoot -E '%{_rpmlock_path}'katanya?
Andre Holzner
Adakah pembaruan untuk masalah ini? Jawaban untuk dua saran di atas?
Caleb
Maaf atas kurangnya respons, terima kasih telah membuat saya jujur ​​@ Caleb. Perintah itu menunjuk /usr/lib/rpm/macros. Saya pikir masalahnya adalah, saya mencoba menggunakan versi instalasi fedora rpm yang tidak kompatibel dengan rpm CentOS yang saya gunakan. Saya tidak tahu apakah itu benar-benar masuk akal (untuk para ahli linux), tetapi saya dapat menginstal versi CentOS yang lain tanpa masalah, jadi saya mendasarkan hal ini. Saya telah memutuskan untuk mengambil langkah mundur dan mencoba belajar lebih banyak tentang linux sebelum saya mencoba sistem xen full-blown lagi. Untuk saat ini saya menggunakan Fedora 14 sebagai sistem utama saya.
Hari Seldon

Jawaban:

11

Coba jalankan perintah Anda sebagai root. Ini berhasil untuk saya.

Phathutshedzo
sumber
1
Mengapa berjalan sebagai rootpekerjaan?
Kevin Meredith
Ya mengapa itu memerlukan akses pengguna root?
LoveWithMaths
0

Sesuatu yang lain memegang kunci itu. Tunggu sebentar. (Biasanya alat manajemen paket grafis menyegarkan pandangan itu tentang apa yang tersedia, atau mungkin menjalankan yum).

vonbrand
sumber
0

periksa tingkat izin file untuk pengguna root, itu harus (baca tulis dan jalankan)

$ls -l /var/lib/rpm/.rpm.lock
-rwxr-xr-x
Syed
sumber
0

Pembaruan 2019 :::

Mengalami masalah yang sama seperti yang diminta (RPM gagal: kesalahan: tidak dapat membuat kunci transaksi di /var/lib/rpm/.rpm.lock (Sumber Daya tidak tersedia untuk sementara))

Dipecahkan oleh;

ps -ef|grep rpm

Dan membunuh 2 proses rpm yatim seperti yang ditunjukkan di bawah ini;

rpm --root / --dbpath /var/lib/rpm -i --percent --noglob --force --nodeps -- /var/cache/zypp/packages/download.o
/bin/sh /var/tmp/rpm-tmp.uHUmw1 7

Saya kemudian dapat melanjutkan dengan paket peningkatan

MarcoZen
sumber
-1

Coba hapus /var/lib/rpm/.rpm.lockfile (perlu root untuk melakukan ini). Itu memperbaikinya bagi saya.

Gayus Gracchus
sumber
7
Sekarang mendapatkan kesalahancan't create transaction lock on /var/lib/rpm/.rpm.lock (No such file or directory)
shashwat
-2

Karena Anda mengalami kesalahan 'tidak dapat membuat kunci transaksi pada rpm', untuk mengatasi kesalahan ini dan menginstal paket yang diperlukan pada mesin Anda, Anda hanya perlu masuk ke pengguna root Anda melalui jendela terminal 'su -root' dan kemudian instal paket rpm Anda. Kesalahan terpecahkan.

Manju
sumber
2
Bisakah Anda menyoroti apa yang ditambahkan jawaban Anda di atas dan di luar jawaban yang ada?
Anthon