получая ошибку «Не могу создать блокировку транзакции» с rpm


8

Я постепенно делаю успехи в установке Fedora в логический том для DomU с помощью управления пакетами. Я (с помощью замечательных людей из Unix & Linux ) решил ряд проблем, в основном связанных с rpm(см. Ссылки ниже):

Я использую --rootопцию, rpmчтобы изменить мою вновь созданную версию rpm на /mnt/fedRoot. Я также поручил rpmпосмотреть на rpmrcфайл в папке сборки, а не на фактический /var/lib/rpm. Теперь , к сожалению, на любой файл оборотов я бегу , хотя я получаю: error: can't create transaction lock on /mnt/fedRoot (Is a directory). Просматривая онлайн, я нашел несколько страниц, которые указали, что это проблема с __db.*. Хотя удаление их и восстановление базы данных в моей rpmпапке устранило другую проблему, я все еще получаю transaction lockошибку.

Кто-нибудь есть понимание этой ошибки?


1
Если у вас есть файл с именем / var / lock / rpm /action, попробуйте удалить его.
fpmurphy

1
каталог /mnt/fedRoot/var/lib/rpmсуществует? по аналогии с redhat.com/archives/rpm-list/2007-May/msg00046.html , что rpm --root=/mnt/fedRoot -E '%{_rpmlock_path}'говорит?
Андре Хольцнер

Какие-либо обновления по этой проблеме? Ответы на два предложения выше?
Калеб

Извините за отсутствие ответа, спасибо за честность @Caleb. Команда указала на /usr/lib/rpm/macros. Я думаю, проблема заключалась в том, что я пытался использовать версию rpm установки Fedora, которая была несовместима с используемой мной CentOS-версией. Я не знаю, имеет ли это смысл (для экспертов по linux), но я смог установить другую версию CentOS без каких-либо проблем, поэтому на этом я основываюсь. Я решил сделать шаг назад и попытаться узнать немного больше о linux, прежде чем снова попытаться использовать полноценную систему xen. На данный момент я использую Fedora 14 в качестве основной системы.
Хари Селдон,

Ответы:


11

Попробуйте запустить вашу команду от имени пользователя root. Это сработало для меня.


1
Почему работает как rootработает?
Кевин Мередит

Да, почему он требует права пользователя root?
LoveWithMaths

0

Что-то еще держит этот замок. Подожди некоторое время. (Обычно это графический инструмент управления пакетами, который обновляет представление о том, что доступно, или, возможно, пробежку по ням).


0

проверьте разрешение на уровне файла для пользователя root, оно должно быть (чтение, запись и выполнение)

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

0

2019 Обновление :::

Столкнулся с аналогичной проблемой, как и было задано (RPM не выполнен: ошибка: невозможно создать блокировку транзакции в /var/lib/rpm/.rpm.lock (ресурс временно недоступен))

Решено

ps -ef|grep rpm

И убивает 2 бесхозных оборотов, как показано ниже;

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

Затем я смог приступить к обновлению пакетов


-1

Попробуйте удалить /var/lib/rpm/.rpm.lockфайл (для этого нужно быть пользователем root). Это исправило это для меня.


7
Теперь получаю ошибкуcan't create transaction lock on /var/lib/rpm/.rpm.lock (No such file or directory)
shashwat

-2

Поскольку у вас возникает ошибка «не удается создать блокировку транзакции на rpm», чтобы устранить эту ошибку и получить требуемый пакет на вашем компьютере, вам просто нужно войти в систему как пользователь root через окно терминала «su -root», а затем установите пакет rpm. Ошибка решается.


2
Можете ли вы выделить то, что ваш ответ добавляет сверх существующих ответов?
Anthon
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.