urpmi 数据库已锁定

urpmi 数据库已锁定

尝试启动时rpmdrake,我收到一条错误消息,提示 urpmi 数据库已被锁定,据说是因为它被另一个程序使用。据我所知,情况并非如此。我怎么知道哪个其他程序正在使用它?(我怀疑没有...)

答案1

这是由 futex 锁引起的,如果不重启,就无法轻易解锁。请重启系统。

这本质上是 Linux 线程库和内核 2.6 的一个问题,如果进程在持有某种类型的锁时被终止,则永远不会释放该锁。我相信它将在以后的 C 库/内核中得到修复(或者已经修复)。

答案2

您可以尝试从 urpmi 目录(可能是 /var/lib/urpmi)中删除锁定文件 .LOCK 和 .RPMLOCK。但请确保在执行此操作时它未在运行。

答案3

您可以使用以下命令找出哪个进程正在打开文件lsof(实际上是列出打开的文件)。

lsof | grep /var/lib/urpmi

根据需要更改 grep 搜索。

相关内容